Linux的 – 有没有一种方法来确定一个接口已经看到stream量的MAC地址?

是的,我知道ARP,但它依赖于IP层连接,因为远程系统必须在识别的子网上configurationIP。 有什么办法只是转储掉接口以太网帧的MAC地址; 无论是最近还是自界面初始化 – 我不挑剔哪个。

我认为你需要的是在混杂模式下设置你的网卡,网页上有十几个工具,通过过滤或直接让你做你想做的事情。

您可能可以使用SystemTap或LTTng等内核事件追踪程序执行此操作 。 SystemTap有probe :: netdev.rx ,LTTng有net_dev_receive ,其中任何一个都可以做你想做的事情。

不过,我同意@user。 数据包捕获可能是你最好的select。

arp -an会显示你正在寻找的东西。 MAC有多久会停留在桌面上。

#arp -an ? (128.46.16.1) at f8:66:f2:9c:3d:25 [ether] on br0 

这听起来像你要求arpwatch: http : //www.securityfocus.com/tools/142

它将保留一个数据库,并通过电子邮件发送到您configuration的任何接口上的新MAC地址。