如何每秒icmp ping数千个IP地址?

时间:2013-07-24 22:13:34

标签: parallel-processing ping icmp simultaneous

我正在寻找解决方案,如何能够在1秒内立即在本地网络上ping一些5000(最多10000个)IP地址,并且当任何icmp数据包超时时,它会将输出写入文件unix纪元时间丢失的数据包和IP地址。因此,我将能够在几秒钟内测量每个IP地址的网络中断长度。

我正在尝试在每个IP地址的无限循环中运行那么多ping命令(所以我有很多正在运行的进程 - 对于所有IP地址我只发送一个数据包。比ping命令完成自己,我管理它的输出并再次运行ping命令,等等)。但我不知何故觉得这不是最好的方法:|

我可以用bash和PHP编写脚本,但不能用C ++编写脚本......所以我更喜欢你的技能解决方案:)

提前谢谢你。 PEP。

PS:我想我知道fping是如何运作的,我觉得它太慢了。我不能每秒ping 5000个IP地址吗?

3 个答案:

答案 0 :(得分:0)

我认为这个套餐可以帮助你http://verplant.org/liboping/

答案 1 :(得分:0)

aping可以做到这一点。

下面的示例在不到一秒钟的时间内轮询8192个地址,等待一秒钟,然后再次执行。轮询之间任何主机的状态变化都会被记录下来。

aping -rate 10000 -show delta -sleep 1 10.0.0.0/19

答案 2 :(得分:-1)

ping IP_ADDRESS_HERE /n NUMBER_OF_PINGS_HERE -l PACKET_SIZE_HERE & ping IP_ADDRESS_HERE /n NUMBER_OF_PINGS_HERE -l PACKET_SIZE_HERE 

两条线在一条线上运行。非常简单。添加&标记即可添加更多内容。