0

本文末尾的解决方案。

默认情况下,时间设置为一秒,在通常的 iputils 版本的 ping 下,有一个选项可以使用 -i 开关减少这个数字。我需要更快地 ping,因为在需要多次运行的某个测试中我有 120 个 ping。

我尝试从busybox源修改ping.c的源,但我对编译不太了解,我收到错误“找不到libbb.h”,我在busybox上找不到其他有类似错误的人.

有谁知道我的 ping 速度超过每秒 1 秒的方法,我希望尽可能降低到 0.1 或 0.05 秒。

提前致谢

解决方案

如果有人来寻找答案,我想出的解决方案要好得多。如果您编写一个带有 -c 1 标志的 ping 脚本,并自己计算失败次数,您可以更快地 ping。

例子:

fails=0
for i in `seq 1 20`
do
  x=`ping -c 1 192.168.1.1 | grep received | cut -d' ' -f4`
  if [ x -eq 0 ]
  then
    fails=$(($fails+1))
  fi
done
echo $fails fails

完毕

4

1 回答 1

1

您是正确的,因为您必须修改 ping.c 文件。正如您所确定的,BusyBox ping 不支持 -i 开关。

你为什么平台构建这个?PC,嵌入式系统?

选项 1: 从 BusyBox 修改 ping.c 并重新编译 BusyBox。为此,您将在 BusyBox 项目的根目录中使用“make”。

user@linux:~/busybox-1.19.2$ make

选项 2:不理会 BusyBox 并从另一个存档(例如iputils )获取 ping.c 可能更容易和更简单。这支持 -i 开关并低至 0.2 秒。编译 ping.c:

user@linux:~/iputils-s20101006$ 进行ping

于 2012-06-26T18:50:20.073 回答