【问题标题】:find the network connection type(wired or wireless) by its IP address in java通过java中的IP地址查找网络连接类型(有线或无线)
【发布时间】: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


【解决方案1】:

在纯 Java 中,您仅限于 NetworkInterface 提供的内容。

可以找到其他信息,例如在this Stackoverflow question

【讨论】:

  • 谢谢,我想列出连接在我的网络中的不同类型的设备及其详细信息。有没有可能,对不起,如果它是模糊的。
  • stackoverflow.com/questions/6112489/… 中也对此进行了讨论。在纯 Java 中,这似乎不可用。例如,您可以根据 MTU 大小进行猜测。但这会很模糊。
  • 我们无法从我们的设备获取其他设备的网络接口-是吗。请纠正我
  • 我不确定我是否完全理解有关其他设备的问题,但不,NetworkInterce.getNetworkInterfaces() 将仅返回您设备的网络接口,原因很明显。
  • 非常感谢,对我很有帮助。
猜你喜欢
  • 2014-03-18
  • 1970-01-01
  • 1970-01-01
  • 2015-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多