为什么IP扫描不会在列表中显示我的电脑?

时间:2015-08-26 11:12:00

标签: java network-programming ip scanning

我制作了一个简单的程序来扫描我的网络IP并列出所有可用的设备:

InetAddress localhost = InetAddress.getLocalHost();
byte[] ip = localhost.getAddress();
ip[3] = (byte) x;
InetAddress address = InetAddress.getByAddress(ip);
if (!address.getHostAddress().equals(address.getHostName())) {
    avilablePcsList.add(address);
    System.out.println(address.getHostName() + "\t" + address.getHostAddress() + "\t" + NetworkInterface.getByInetAddress(address));
}

但是这段代码除了我的电脑外,我的网络上的所有设备都可用,所以为什么这段代码没有显示我的电脑?以及如何显示它?
BTW:x是for循环的计数器变量(1:254)

1 个答案:

答案 0 :(得分:0)

不知道为什么,如果它显示localhost然后它确实显示它。我的意思是,如果你需要在你的代码中的某个地方使用它,你是否可以使用localhost作为主机ip?

来自另一篇文章

NetworkInterface类包含所有相关方法,但请注意,没有"我的IP"。一台机器可以有多个接口,每个接口可以有多个IP。

您可以使用此类列出所有这些,但您从列表中选择的接口和IP取决于您使用此IP的确切需要。