arp命令linux上,linux – 如何从ARP命令获取正确的MAC地址?

免责声明:Linux新手,在Pi 3上使用Raspbian Light仅限SSH访问.

我正在尝试使用ping / arp查找mac地址:

ping 192.168.1.7

arp 192.168.1.7

它返回:

Address HWtype HWaddress Flags Mask Iface

192.168.1.7 ether 02:0f:b5:ed:9e:5c C eth0

HWaddress与我在Windows中看到的mac地址不同:

ping 192.168.1.7

arp -a 192.168.1.7

这导致:

Internet Address Physical Address Type

192.168.1.7 c0-ee-fb-ed-9e-5c dynamic

网络拓扑结构

Pi on cable (.27) → switch on cable → router (.1)

Phone on wifi (.7) → router (.1)

Windows on wifi (.30) → router (.1)

我怎样才能让我的Pi返回同一台Mac?

注意:看起来“供应商”部分不同.所以这几乎是对的?

解决方法:

最佳猜测:您的RaspPi通过LAN连接到路由器,而“目标”手机和Windows PC通过WLAN连接.这意味着当手机和Windows PC处于同一网段并且ARP按预期工作时,通常LAN和WLAN不会处于同一网段.

由于它们似乎在同一段(相同/ 24前缀),我假设路由器做了一些奇特的工作,如通过ebtables的MAC NAT.事实上,“欺骗”MAC地址仅在供应商中有所不同前缀和供应商前缀似乎无效,也指向此.

您可以通过LAN(电缆)将Windows PC连接到路由器来测试,并查看在这种情况下报告的MAC地址.

测试它的另一种方法是获得对路由器的root访问权限,并查看内部发生的情况.

编辑

如果这个猜测是正确的,它纯粹是一个路由器问题,而不是Linux与Windows的问题.如果Windows PC通过LAN连接,Windows也会找到“错误”的MAC地址,而目标手机通过WLAN连接.通过WLAN连接的每台设备都会看到通过LAN连接的每台设备的“错误”MAC地址,反之亦然.

除非您可以配置路由器以禁用它,否则您无法“解决”它.在这种情况下,您可能有LAN和WLAN的不同子网,并且LAN中的RaspPi根本不会看到WLAN中任何设备的MAC(反之亦然),尽管它们可以相互通信.

这就是网络的运作方式.

问题是:为什么首先需要“正确”的MAC地址?你不应该这样做.

标签:raspbian,linux,networking,ssh

来源: https://codeday.me/bug/20190813/1647654.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值