PHP网络设备监视脚本

时间:2011-01-24 20:23:15

标签: php macos networking ip

我正在为IPPBX改进现有的基于Web的管理应用程序。我们真的希望该应用能够检测网络上最近连接的IP电话,以便我们知道MAC地址。我已经读过一个可行的解决方案是从DHCP服务器的租约文件中获取该信息,但遗憾的是DHCP服务器并没有告诉我它在租约条目中引用了哪种类型的设备。也许我需要一些网络监控协议才能实现这一目标。

我正在寻找一些提示作为一个快速启动,所以我可以编写一个PHP脚本,允许我这样做我上面解释的。一个现存的脚本也会很好...... :)

欢迎并赞赏评论或反馈!

3 个答案:

答案 0 :(得分:1)

老实说,我认为这将是一个反复试验(换言之,研发)。

有些事情要尝试:

  1. 根据The Mac Address Specification,前3个字节是特定于组织的(OUI)。我怀疑如果你的手机来自同一个制造商,那部分应该是相似的(如果不相同)。无论如何要看一些东西。

  2. 你找出一个网络测试,看看它是不是一部手机。所以,首先你得到设备的IP地址。然后打开一个端口并尝试发送一个等效的协议特定的ping(在HTTP中,它将是对端口80的HEAD请求),但是在特定于电话的协议上。您正在寻找的是一种正确的响应格式(和连接)。

  3. 祝你好运,玩得开心。在我看来,像这样的项目是最好的,因为它们是一个挑战,让你思考和发现...

答案 1 :(得分:0)

首先,我不建议在PHP中这样做。用真正的语言写一些东西,然后将它发送到php脚本。无论如何,我会去租赁文件。然后使用租约文件中的地址连接到新设备并确定它是否为手机。因此,您将连接到网络上的每个“新”设备。效率不高但它可以工作......

答案 2 :(得分:0)

这是一个用PHP编写的现有应用程序(无耻插件,我写的),它查询DHCP租约文件并在网页中很好地格式化:

http://rivetcode.com/software/phpdhcpd/

github上的代码:

https://github.com/firefly2442/phpdhcpd