获取局域网内远程主机的MAC地址

需求是,局域网内用户访问服务器端,要根据它的IP地址给出对应的MAC地址来。

基本思路是,使用arp命令:

$ arp -a

可以显示出所有当前机器上的MAC地址和IP地址的对应表。类似下面的样子:

? (192.168.10.1) at 0:26:19:74:3c:4e on en0 ifscope [ethernet]
? (192.168.10.122) at 70:46:8f:b8:c1:9f on en0 ifscope [ethernet]
? (192.168.10.255) at ff:ff:ff:ff:ff:ff on en0 ifscope [ethernet]

nodejs有一个第三方模块:node-arp,提供了这样的功能。

实际上它底层依赖arp命令。