java怎么获取当前电脑的内网ip

java怎么获取当前电脑的内网ip,第1张

public void PingAll() throws Exception{

//首先得到本机的IP,得到网段

InetAddress host = InetAddressgetLocalHost();

String hostAddress = hostgetHostAddress();

int k=0;

k=hostAddresslastIndexOf("");

String ss = hostAddresssubstring(0,k+1);

for(int i=1;i <=255;i++){ //对所有局域网Ip

String iip=ss+i;

Ping(iip);

}

1

[root@localhost test]# echo $SSH_CLIENT |awk ' { print $1 }'

111161826

2

[root@localhost test]# who am i |awk ' {print $5 }'

(111161826)

3 以下是2种不太完整的方法

[root@localhost test]# w | awk '{ print $3 }'

8

FROM

111161826

[root@localhost test]# finger | awk '{ print $7 }'

Office

(111161826)

为适应不同的网络情况,提供这个类:看下面的代码吧,Copy过去就能用。

import javaxservlet>

在JSP里,获取客户端的IP地址的方法是:requestgetRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。

如果使用了反向代理软件,用requestgetRemoteAddr()方法获取的IP地址是:127001 或 1921681110,而并不是客户端的真实IP。

经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。但是在转发请求的>

try {

  ip = InetAddressgetLocalHost();

  NetworkInterface network = NetworkInterfacegetByInetAddress(ip);

  if (network != null) {

    byte[] mac = networkgetHardwareAddress();

    if(mac != null) {

      Systemoutprint("MAC address : ");

      StringBuilder sb = new StringBuilder();

      for (int i = 0; i < maclength; i++) {

        sbappend(Stringformat("%02X%s", mac[i], (i < maclength - 1)  "-" : ""));        

      }

      Systemoutprintln(sbtoString());  

   }

} catch (UnknownHostException e) {

  eprintStackTrace();

} catch (SocketException e) {

  eprintStackTrace();

}

以上就是关于java怎么获取当前电脑的内网ip全部的内容,包括:java怎么获取当前电脑的内网ip、linux 系统获取当前登陆ip地址的几种方法、java如何获取当前登录ip等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10062082.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存