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 部门的许可。