【问题标题】:How to ping multiple ip address如何ping多个IP地址
【发布时间】:2013-09-08 11:42:45
【问题描述】:

我想同时 ping 三个不同的 IP 地址 500 次。如果这些 ping 不是同一时间,那将是一个简单的问题。有人可能会说打开三个 cmd 并开始在每个 cmd 中 ping 你的 ip....我搜索了,我在Linux中找到了一种方法,我正在使用Win7。

【问题讨论】:

  • 创建 500 个线程(或 3 个,这里不清楚你想要什么并行化),并让每个线程执行单独的 ping。 (当然,它们仍然不会是字面上同时发生的,因为那是不可能的。)
  • 你能发布你在 Linux 上找到的东西吗?同样的方法,加上一些特殊的调味料,也可能适用于 Windows。
  • stackoverflow.com/questions/4708631/…。有没有更简单的方法或者这个问题是重复的?
  • “同时”在这里没有任何意义。无论如何,数据包都会在网络上按顺序排列。
  • @EJP 未同时完成!

标签: network-programming cmd ping


【解决方案1】:
@echo off
for %%a in (1.1.1.1 2.2.2.2 3.3.3.3) do (
start ping -n 500 %%a
)

【讨论】:

    【解决方案2】:

    如果你想在之后比较延迟,你可以这样:

    @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 命令的输出。

    【讨论】:

      【解决方案3】:

      对于那些使用 Mac OS-X 或 Linux 并且想要 ping 多台主机的用户:我刚刚发布了 ping-xray,它有助于多台主机 ping。 尝试在 ascii 终端下使其尽可能可视化,并为所有目标创建具有精确毫秒分辨率的 CSV 日志。

      https://dimon.ca/ping-xray/

      希望对您有所帮助。 该工具基于开源“fping”,并通过 bash curses 添加 ascii“gui”,使输出更易于阅读。

      【讨论】:

        【解决方案4】:

        您可以安装一个实用程序fping,它以循环方式运行以 ping 每个 IP 地址。您可以通过以下方式安装它:

        sudo apt install fping
        

        然后您可以使用单行 ping 多个地址:

        fping <ip1> <ip2> <ip3>
        

        它也可以用来运行写在一个文件中的多个ip地址。

        【讨论】:

        • 太棒了!正是我正在寻找的,谢谢!
        【解决方案5】:

        在 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 
        

        【讨论】:

          【解决方案6】:

          您可以尝试下面的脚本(我是作者)来针对多个目标(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”目录中。

          Example output for Windows

          来源:https://github.com/apraksim/ccmd.git

          【讨论】:

            猜你喜欢
            • 2012-07-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-01-14
            • 2011-06-24
            • 1970-01-01
            • 2013-06-14
            相关资源
            最近更新 更多