我必须设置一组服务器,并且需要使用以下设置来发现它们的 MAC 地址:
MacBookPro >----------< Server
Macbook Pro 直接连接到服务器(而不是通过路由器/交换机)。我不知道服务器默认使用的 IP 地址,也无法使用连接到服务器的显示器来显示其网卡配置。
如何发现服务器网卡的 MAC 地址?我正在寻找一个命令行工具。如果 MacPort 中有的话也可以。
答案1
如果您的 MacBook Pro 使用以太网电缆直接连接到服务器(网络上没有其他机器),那么您可以让 tcpdump 保持运行,显示不属于您自己的源 MAC 地址。只需将其复制/粘贴到终端中:
MYMACTOIGNORE=`ifconfig en0 | grep ether | awk '{print $2}'`
echo "My own MAC address, to ignore, appears to be '$MYMACTOIGNORE'"
sudo tcpdump -pnei en0 not ether src $MYMACTOIGNORE | awk '{print $2}'
在现代计算机上,只要你插入以太网,它就会发送出相当数量的帧,主要是多播和广播,以执行诸如获取 DHCP 租约、验证它是否可以使用它想要使用的 IP 地址、找到它的路由器、宣布它提供的服务,并检查其他提供它感兴趣的服务的设备。
当你将 MBP 插入每台服务器时,只需在终端窗口中运行此程序,你就会在你的终端窗口中看到它的 MAC 地址。如果你想更清楚地知道哪个 MAC 地址来自当前服务器,请在服务器之间按 Cmd-K 清除你的终端窗口。
答案2
由于您不知道服务器的 IP 地址,您甚至不知道它与您的 MacBookPro 位于同一个 IP 子网中。因此,我建议您首先tcpdump
找出远程 IP 是什么。如果您发现服务器与您的 MacBookPro 位于同一个 IP 子网中,您将能够发送 ping,然后查看您的 ARP 缓存。如果您的服务器位于另一个子网中或使用 VLAN 标记数据包,您可能需要在继续操作之前更改 MacBookPro 的网络设置。
答案3
怎么样:
ping -c 1 server
arp server