我的网络上有一台机器,需要创建连接到网络的所有 mac 地址的列表。这是运行 OSX 的机器,当我运行 arp 命令时,它并不总是显示所有连接的,有时只显示广播 (255.255.255.0)。但是,如果我在 DHCP 服务器上运行该命令,所有内容都会显示出来。
DHCP 服务器正在运行 Zentyal Linux。我需要启用什么选项才能允许任何人扫描网络吗?
非常感谢
答案1
仅当您向该机器发送某些内容后,mac 地址才会添加到 arp 表中。这就是为什么它在普通机器上是空的(无通信),而在服务器上是满的(与客户端进行 dhcp 协商)。
简单的 arp 不适合你想做的事情
答案2
正如先前的答案所述,命令行中的“arp -a”是不够的(“仅当您向该机器发送某些内容后,mac 地址才会添加到 arp 表中”)。
我认为 nmap (https://nmap.org/) 是一个不错的选择。您可以在 Windows 上安装它。实现您想要的命令可能是:
nmap -T4 -F 192.168.1.0/24
或类似内容,具体取决于您的网络的详细信息。
答案3
255.255.255.0 是网络掩码,而不是广播。如果 arp 缓存条目一段时间未使用,则会被删除。要获取子网中的所有活动 mac 地址,您可以创建一个 i=1..254 的循环ping -c 1 192.168.8.$i
(假设您的网络是 192.168.8.0)。
答案4
很多人也在这个网站上搜索 Windows 的“arp”命令,因此我将在这里提供一个快速指南来帮助您解决它:
Windows 10 或更高版本,这是 2021 年发布的:
- 以管理员权限打开 Powershell。
- 跑步
arp.exe -a
。
这将为您提供 LAN 上所有设备的 100%,包括过时的 cmd 提示中未显示的设备。请记住,您的系统将仅显示您连接到的局域网上的设备。如果您有两个 LAN,则必须先连接到第二个 LAN,然后再在 Powershell 中运行此命令。