获取本地网络中所有设备的 IP 地址,Windows 7

获取本地网络中所有设备的 IP 地址,Windows 7

包括本论坛在内的许多论坛上都有关于此问题的帖子,其中一些涉及使用第三方应用程序,还有一些涉及在 Linux 中使用 arp-scan 或 arpping 工具。

我正在尝试了解如何构建此类应用程序,所以您知道我不能使用第三方应用程序。

我的问题是如何获取本地网络中所有活动设备的 IP 地址,IP 地址由路由器 DHCP 分配,我不想登录路由器来获取它借出的 IP 地址。

在 cmd 中使用 for 循环通过 ping 命令扫描所有设备将花费大量时间,

现在有趣的是,
arp -a只向我的机器与之通信的所有设备提供 IP 地址,同时清除 arp 表,使用 arp -d 没有帮助,

net view /all给了我网络中所有机器的名称,我所说的名称是指计算机名称。

那么,在 Windows 平台上是否有任何命令可以与 netview 一起执行以获取 ip 地址,可以在 powershell 中执行某些操作吗?我不想使用任何类型的第三方应用程序,它不会帮助我理解背后的逻辑。

答案1

据我所知,让 Windows 7 广播,然后它将获取 ARP 列表中的所有 IP 到 MAC。

尝试这个:

1.ping 你的广播 IP 地址.
2.运行ARP-A

广播IP取决于您的IP地址,如果您的IP是xxxx/24,则广播IP地址是xxx255。

现在你可以看到本地网络中的所有IP。

答案2

解决方案是一个脚本/程序,它可以一次 ping 网络内的所有网络可能性。例如,如果默认网关是 192.168.100.1,我们必须以编程方式 ping 整个网络中的每个地址。​​我无法访问该程序,但算法可能是:

  1. 使用 ipconfig 找出默认网关(路由器 IP)和子网掩码。假设默认网关是 192.168.100.1,掩码是 255.255.255.0,或 192.168.100.1/24。

  2. 使用脚本从 192.168.100.0 一直 ping 到 192.168.100.254

  3. 记录每个事件并查看结果。

我查找了这个问题,并尝试了上面提到的所有解决方案以及其他解决方案,但都没有用。然后我突然想到 - powershell 或 cmd 脚本文件可以做到这一点。

当然,更简单的方法是让路由器访问,以便可以轻松识别所有连接的设备/节点。

相关内容