如何确定子网内是否有两台机器拥有相同的IP?

如何确定子网内是否有两台机器拥有相同的IP?

Ubuntu 或 OSX 中是否有命令可以告诉我子网上是否有两台具有相同 IP 地址的机器?这样我就可以解决这个问题。

也许,有一个工具可以生成子网上的 IP 地址/机器名称表?

回答

我通过这个找到了一个很好的解决方案关联

当我尝试时:

sudo arp-scan -I eth0 -l

我发现一台网络打印机与我的新机器有相同的 IP。

在 Ubuntu 上,你可以使用以下命令安装:

sudo apt-get install arp-scan

在我的特定情况下,我遇到了不稳定的 ssh 行为 - 有时,我会被拒绝连接。其他时候,我可以正常连接,但连接会在一段随机时间后断开。考虑到两个设备在子网上具有相同的静态 IP,这种行为实际上是有道理的。

答案1

您可以通过运行以下命令列出 ARP 缓存中当前已知的机器

arp -n | sort -n

这将打印机器的 IP 地址和 MAC 地址。您还将知道相关机器的 MAC 地址,以便识别它们。您可以手动检查重复项,也可以使用以下方便的行:

arp -n | sort -n | uniq -cw15

并注意1第一列没有的行。

预先运行一个ping -bc3 192.168.1.255(或任何您网络的广播地址)可能会有所帮助,以便您的机器能够知道更多的机器。

答案2

假设这是一个家庭网络,你可以下载并使用nmap。它将扫描网络并为网络上的所有机器创建报告。如果这是工作网络,则需要在运行扫描工具之前获得 IT 部门的许可。

相关内容