【问题标题】:Why IP scanning wouldn't show my computer in the list?为什么 IP 扫描不会在列表中显示我的计算机?
【发布时间】:2015-11-20 09:38:46
【问题描述】:

我制作了一个简单的程序来扫描我的网络 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)

【问题讨论】:

    标签: java network-programming ip scanning


    【解决方案1】:

    不知道为什么,如果它显示 localhost 那么它确实会显示它。我的意思是,如果您需要在代码中的某处使用它,您不能只使用 localhost 作为主机 ip 吗?

    来自另一个帖子

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

    您可以使用此类将它们全部列出,但您从列表中选择的接口和 IP 取决于您使用该 IP 的确切需要。

    【讨论】:

      猜你喜欢
      • 2020-11-09
      • 1970-01-01
      • 2016-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-12
      相关资源
      最近更新 更多