在Linux系统下用Java语言获取客户端的IP地址,MAC地址,客户端的主机名称?
这个网上很多,主要是机器必须支持ICMP和NETBIOS协议。你参考一下:
public String getIP()
{
InetAddress inet;
try {
inet =
InetAddressgetLocalHost();
InetAddressgetByName("");
return
inetgetHostAddress();
} catch (UnknownHostException e) {
// TODO
Auto-generated catch block
eprintStackTrace();
}
return "";
}
如果能过http 请求,那获得真实的ip的方法是使用requestgetRemoteAddr(),
若客户端使用了代理 ,请参考:http://sonicmqjavaeyecom/blog/416565
如果是C/S的程序
客户端调用InetAddressgetLocalHost()得到的是客户端的内网ip
serversocket不提供这个方法,但是server端获取到的请求new serversocket()accept()返回的是一个socket对象,也就是当前连接的信息,这里面包含有一个 getRemoteAddress方法。
0条评论