【问题标题】:How to get IP's of all network devices in Java如何在Java中获取所有网络设备的IP
【发布时间】:2015-02-11 20:59:31
【问题描述】:

我正在做一个项目,基本上我需要这个程序来查找所有连接到网络的 IP 地址的列表,例如在 Windows 中访问您的网络连接。我在网上找遍了,我找不到我要找的东西,希望有人能找到!

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

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

谢谢!

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

【问题讨论】:

  • 你的问题不是很清楚。这不是编程问题.. 这是网络问题。您是指与特定机器的所有连接吗?您是指局域网上所有具有已发布 IP 的内部连接设备吗?您是指您的内部网络和互联网之间的所有开放连接吗?
  • 我觉得用cmd可以做,为什么需要用Java做?
  • 如果您想知道如何在 cmd 中执行此操作,我可以提供帮助 :)
  • @ScottStevens 查看编辑:)

标签: java networking connection ip server


【解决方案1】:

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

【讨论】:

  • 所以,我可以看到你在说什么被注意到了。基本上,就像钢铁侠中的那样,他能够立即将文件传输到不同的界面。这就是我想要做的,需要最简单的骨头。我正在考虑系统安全和所有这些好东西。有没有办法以相对较快的速度每 30 秒左右获取此列表,而不会被管理员“标记”?
  • 这类活动天生就符合黑客/病毒攻击的特征。大多数企业网络/学校网络/等都将使用入侵检测设备。
猜你喜欢
  • 2015-02-17
  • 2012-11-04
  • 2021-05-21
  • 2015-06-02
  • 2015-02-23
  • 1970-01-01
  • 2016-10-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多