从DNS或DHCP服务器获取信息

时间:2012-09-21 12:20:48

标签: php networking dns lan dhcp

我正在使用PHP制作网络监控程序。 我希望能够连接到DNS或DHCP服务器并获取属于该网络的所有计算机。 目前我正在运行嵌套for循环以ping每个可能的IP地址,但它需要长时间使用超过10个子网。 我正试图从像菜鸟那样做到像老板那样做。 我想获得所有计算机名称和IP地址的列表,以及它们的动态或静态分配的IP。 我该怎么做?

1 个答案:

答案 0 :(得分:1)

无法枚举网络上的所有主机,即使ping所有主机也不够,因为有些主机可能无法回复ping。对于动态分配的,您可以查询DHCP服务器,但DHCP作为协议不支持此功能,您必须编写守护进程并查询日志或分配文件。

如果你想通过ping操作,我建议写一个小程序在后台运行并ping所有内容,将结果保存在内存中,然后让你的php脚本查询。这样你的响应时间将近乎即时。只要主机不出现太频繁(听起来不太可能),那么这应该没问题。