我需要检测连接到路由器的设备的MAC地址(运行Openwrt)。这个想法是当客户端无线连接到我的路由器时,我可以得到它的IP地址(我的路由器运行一个简单的C网络服务器)。我想获得具有此IP地址的设备的MAC地址。我可以使用命令'arp',但这列出了我路由器的所有连接,但我只需要连接我感兴趣的源IP地址。
答案 0 :(得分:1)
路由器应该如何知道哪些MAC是您感兴趣的? 查看“arpwatch”包,它会在发现新MAC时触发事件。例如,它可以在发生这种情况时发送电子邮件。它无法决定您感兴趣的新地址。 如果“当前连接”和“感兴趣”相同,则您的网络服务器知道当前连接的IP地址 - 有无数种方法可以从输出中选择一条与IP地址匹配的线路。在openWrt的情况下,“arp”命令只是一个shell脚本,执行“cat / proc / net / arp” - 所以你甚至不需要解析命令的输出 - 你可以改为查看那个伪文件
答案 1 :(得分:0)
一个简单的方法是:
cat /proc/net/arp | grep '192.168.1.112 ' | awk '{print $4}'
将上述IP替换为您感兴趣的IP。