有没有办法可以确定两个不同网络中的两个不同 IP 地址是否实际上指向同一物理设备?我在 Linux 中需要它。
编辑 -
我有一台相同的服务器(Raspberry Pi),通过 2 个内联网连接到我的客户端。我不知道服务器的 IP 地址,因为它是 DHCP。
最粗暴的做法是从一个内网访问树莓派,然后用 ifconfig 检查另一个内网机器的 ipaaddress。我想知道还有其他方法吗?
我知道机器的mac地址,但是我不知道如何根据mac地址找到Ipadress。
答案1
安装 Zenmap(以前称为 Nmap)并对网络(而不是主机)地址运行网络扫描。这实际上会报告网络中的每个候选 IP。因此,您实际上将能够看到 Mac 地址是否在网络上。Zenmap 为许多常见的 Linux 发行版提供了一个软件包,因此只需按照安装指南(http://nmap.org/book/install.html) 然后从那里出发。
示例命令如下: nmap -T4 -A -v 192.168.2.0/27
另外,请注意,此工具将赋予您很多权力去做很多事情,但并非每个网络的用户协议都允许这样做。我建议您在执行此操作之前先了解正在发生的事情。
答案2
可能有很多方法可以做到这一点。
由于您有权访问树莓派,因此以下命令
ssh me@myraspberry 'ip addr show dev NIC2'
将在 raspberry 上的 apices 之间执行命令,而无需打开 ssh shell。您应该使用它通过您知道 IP 地址的 NIC1 进行连接,以显示另一个 NIC 的 IP 地址。
或者假设你不知道第一个网卡的 IP 地址,但知道两个网卡的 MAC 地址,则可以使用nmap在命令行上:
sudo nmap -sn 192.168.1.0/24
这将在您的本地网络上执行 ping 扫描(比另一个答案中建议的要快得多),它会打印与每个 MAC 地址关联的 ip 地址,如下所示:
# nmap -sn 192.168.1.0/24
Starting Nmap 6.40 ( http://nmap.org ) at 2014-06-05 03:41 CEST
Nmap scan report for mobilewifi.home (192.168.1.1)
Host is up (0.0065s latency).
MAC Address: 24:DB:AC:D5:B2:AC (Shenzhen Huawei Communication Technologies Co.)
Nmap scan report for 192.168.1.100
Host is up (0.010s latency).
MAC Address: C4:85:08:7D:79:40 (Intel Corporate)
Nmap scan report for 192.168.1.102
Host is up (0.14s latency).
MAC Address: 00:07:88:E8:6C:CF (Clipcomm)
Nmap scan report for 192.168.1.101
Host is up.
Nmap done: 256 IP addresses (4 hosts up) scanned in 2.23 seconds
知道了两个网卡的MAC地址,现在就可以找到它们的IP地址。