我想同时 ping 500 次三个不同的 IP 地址。如果这些 ping 不是同一时间,那将是一个简单的问题。有人可能会说打开三个 cmd 并开始在每个 cmd 中 ping 你的 ip.... 我搜索并在Linux中找到了一种方法,我正在使用Win7。
6 回答
您可以安装一个fping
以循环方式工作的实用程序来 ping 每个 IP 地址。您可以通过以下方式安装它:
sudo apt install fping
然后,您可以使用单行 ping 多个地址:
fping <ip1> <ip2> <ip3>
它还可以用于运行记录在文件中的多个 IP 地址。
@echo off
for %%a in (1.1.1.1 2.2.2.2 3.3.3.3) do (
start ping -n 500 %%a
)
如果你想在之后比较延迟,你可以这样:
@echo off
setlocal
start "" "%COMSPEC%" /c ping -n 500 192.168.1.23 ^>log1.txt
start "" "%COMSPEC%" /c ping -n 500 192.168.1.42 ^>log2.txt
start "" "%COMSPEC%" /c ping -n 500 192.168.1.113 ^>log3.txt
3 个日志文件包含每个ping
命令的输出。
您可以尝试下面的脚本(我是作者)来针对多个目标(IP/名称)运行命令。命令不仅限于 Ping,还可以是任何命令,例如 tracert/traceroute、ncat,以及您可以从终端运行的任何命令。在 Linux 和 windows 上测试 - 为便于使用而打包在 .exe 文件中的 windows 脚本。
对于 Windows:ccmd.exe -c 500 -ts 8.8.8.8,bbc.com,8.8.4.4/31 -D -b 20
对于 Linux:ccmd.py -c 500 -ts 8.8.8.8,bbc.com,8.8.4.4/31 -D -b 20
-ts - 是一个逗号分隔的目标字符串,用于针对执行命令
-c - 执行命令的次数
-D - 告诉脚本获取并在屏幕上打印 DNS 信息
-b - 调节打印到屏幕
所有结果的长度使用 python 线程模块以(半)并行方式执行的命令(可以使用 -t 参数设置线程数)。
脚本将日志保存到“LOGS”目录中。
在 Macbook 上:
打开终端,
vim ping.sh
在 vim 中,输入
for i in 35.x.x.x 35.x.x.x
do
ping -c 2 $i
done
保存并相当
运行脚本,键入:
sh ping.sh
对于那些使用 Mac OS-X 或 Linux 并且想要 ping 多个主机的人:我刚刚发布了 ping-xray,它有助于多个主机 ping。试图在 ascii 终端下使其尽可能可视化,并且它会为所有目标创建具有精确毫秒分辨率的 CSV 日志。
希望你会发现它有帮助。该工具基于开源“fping”,并通过 bash curses 添加了 ascii“gui”,使输出更易于阅读。