0

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

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

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

先感谢您。佩普。

PS:我想我知道 fping 是如何工作的,而且我认为它太慢了。它不能每秒 ping 5000 个 IP 地址,对吗?

4

3 回答 3

0

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

于 2013-08-08T11:51:30.940 回答
0

aping可以做到这一点。

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

aping -rate 10000 -show delta -sleep 1 10.0.0.0/19
于 2020-03-23T01:26:05.517 回答
-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 

一行中运行两个 ping。很简单。通过添加&标记添加更多内容。

于 2017-03-30T00:16:37.093 回答