如何获取Java中所有网络设备的IP

时间:2014-12-13 04:53:29

标签: java networking connection ip server

我正在开发一个项目,基本上我需要这个程序来查找网络中所有已连接IP地址的列表,例如转到Windows中的网络连接。我看了整个互联网,我找不到我要找的东西,我希望有人可以!

这个程序不仅可以处理数字(例如ping所有可能的IP地址),它还需要比这更快。能够只是连接到网络并获得它可以看到的所有IP的“列表”将是完美的。使用docs.oracle.com网页做了它应该做的事情,但是有太多的额外结果(包括Eth10等)。此外,它列出的唯一不属于我自己的IP地址并不匹配任何活动的计算机,所以我不知道那是什么...(192.168.0.9被列出,唯一的其他活动连接是在192.168.0.10,也许我我错过了什么?)。

有什么方法可以做到这一点?对不起,如果我不清楚,如果有具体的东西,我可以更清楚,希望这有帮助!

谢谢!

编辑:我希望这会有所帮助;我想在java中这样做,因为对于我设计的程序来说,它需要一个可连接到活动机器的活动IP地址列表。这意味着如果我在学校的笔记本电脑上运行它,我需要所有可以在网络上连接的IP地址。这是一个网络的东西,但它确实需要在java中完成。目的是文件管理器,否则很难解释。这有帮助吗?

1 个答案:

答案 0 :(得分:0)

做你要求的唯一方法是通过蛮力。它可以通过创建多个线程来快速完成,这些线程将TCP SYN请求发送到网络上的随机IP(这就是NMap所做的)。如果您有权访问DHCP服务器,那么您可能会从该点获取列表。我会警告你要轻轻一点。在网络上运行NMAP或进行端口扫描被许多网络管理员视为攻击......你可能会遇到麻烦(他们会注意到)。