【发布时间】:2015-01-20 10:20:28
【问题描述】:
我想列出所有连接到我的网络的设备,我这样做了
InetAddress i = InetAddress.getLocalHost();
byte[] ip1 = i.getAddress();
for (int b = 0; b <255;b++) {
ip1[3] = (byte)b;
InetAddress address = InetAddress.getByAddress(ip1);
if (address.isReachable(3000)) {
System.out.println("\tIP :"+address.getHostAddress());
} else if (!address.getHostAddress().equals(address.getHostName())) {
System.out.println("\tIP :"+address.getHostAddress());
} else {
}
}
它打印所有连接的设备,但如何识别其中哪些是有线连接,哪些是无线连接
【问题讨论】:
-
我不认为这可以做到。设备是有线的还是无线的都是数据链路层的一部分。它对 IP 或网络层是透明的。
-
在java中还有其他方法吗?
-
你想知道远程机器是如何连接到网络的,或者本地机器是通过什么网络连接来到达远程的?
标签: java inetaddress