我正在为IPPBX改进现有的基于Web的管理应用程序。我们真的希望该应用能够检测网络上最近连接的IP电话,以便我们知道MAC地址。我已经读过一个可行的解决方案是从DHCP服务器的租约文件中获取该信息,但遗憾的是DHCP服务器并没有告诉我它在租约条目中引用了哪种类型的设备。也许我需要一些网络监控协议才能实现这一目标。
我正在寻找一些提示作为一个快速启动,所以我可以编写一个PHP脚本,允许我这样做我上面解释的。一个现存的脚本也会很好...... :)
欢迎并赞赏评论或反馈!
答案 0 :(得分:1)
老实说,我认为这将是一个反复试验(换言之,研发)。
有些事情要尝试:
根据The Mac Address Specification,前3个字节是特定于组织的(OUI)。我怀疑如果你的手机来自同一个制造商,那部分应该是相似的(如果不相同)。无论如何要看一些东西。
你找出一个网络测试,看看它是不是一部手机。所以,首先你得到设备的IP地址。然后打开一个端口并尝试发送一个等效的协议特定的ping(在HTTP中,它将是对端口80的HEAD
请求),但是在特定于电话的协议上。您正在寻找的是一种正确的响应格式(和连接)。
答案 1 :(得分:0)
首先,我不建议在PHP中这样做。用真正的语言写一些东西,然后将它发送到php脚本。无论如何,我会去租赁文件。然后使用租约文件中的地址连接到新设备并确定它是否为手机。因此,您将连接到网络上的每个“新”设备。效率不高但它可以工作......
答案 2 :(得分:0)
这是一个用PHP编写的现有应用程序(无耻插件,我写的),它查询DHCP租约文件并在网页中很好地格式化:
http://rivetcode.com/software/phpdhcpd/
github上的代码: