节点 |根据 ARP 协议和广播目标的 "Source" 名称过滤设备

NodeJS | filter Device depending on "Source" name for ARP protocoll and Broadcast destination

我的网络中有一个 Ubiquiti 接入点,通过 wireshark 我可以看到它通过 ARP 发送广播(如下图所示):

Wireshark Data

现在我想过滤此固定前缀 "Ubiquiti_" 以动态获取设备 MAC 和 IP 地址(事先不知道它们)。我已经搜索了广播/arp 节点 js 包,但大多数都是以某种方式编程的,你需要知道你想收听的设备的 IP - 在这种情况下,我想动态地这样做。

如果我能以某种方式通过 nodejs 包/代码获得与我目前通过 Wireshark 获得的相同结果,它将解决我的问题。

感谢任何提示或提示!

我现在找到了两个解决方案。如果有人遇到类似问题,请尝试这些:

  • npm 包 "local-devices" 访问 ARP table 和 returns 所有 IP 和 MAC 地址。与供应商 oui(组织唯一标识符)数据库相结合,可以过滤无处不在的设备。

  • 使用 dgram 依赖项,我启动了一个侦听已配置端口的服务器。在我的例子中,我需要在端口 10001 上监听 ubiquiti 发送的消息。使用 dgrams on('message', ..) 我可以获得消息以及 ubiquiti 的 IP 地址并使用它