macOS ping 命令行使用

841 阅读3分钟

1. macOS 系统终端打印的ping的文档说明

usage: ping [-AaDdfnoQqRrv] [-c count] [-G sweepmaxsize]

            [-g sweepminsize] [-h sweepincrsize] [-i wait]

            [-l preload] [-M mask | time] [-m ttl] [-p pattern]

            [-S src_addr] [-s packetsize] [-t timeout][-W waittime]

            [-z tos] host

       ping [-AaDdfLnoQqRrv] [-c count] [-I iface] [-i wait]

            [-l preload] [-M mask | time] [-m ttl] [-p pattern] [-S src_addr]

            [-s packetsize] [-T ttl] [-t timeout] [-W waittime]

            [-z tos] mcast-group

Apple specific options (to be specified before mcast-group or host like all options)

            -b boundif           # bind the socket to the interface

            -k traffic_class     # set traffic class socket option

            -K net_service_type  # set traffic class socket options

            --apple-connect       # call connect(2) in the socket

            --apple-time          # display current time

这份文档是关于使用ping命令的说明。ping命令通常用于测试与另一个网络设备的连接是否正常。

2. 下面是对文档中列出的每个选项的解释:

  1. -AaDdfnoQqRrv: 这些是一些常见的ping命令选项,它们的作用如下:

    • -A: 使用报文的记录路由选项。
    • -a: 将主机名解析为IP地址。
    • -D: 使用SO_DEBUG套接字选项。
    • -d: 调试模式,打印详细的调试信息。
    • -f: 设置不分段标志,对数据包进行不分段传输。
    • -n: 不进行主机名解析。
    • -o: 记录数据包的时间戳。
    • -Q: 使用RFC 4884规范的时戳选项。
    • -q: 安静模式,只显示关键信息。
    • -R: 记录路由。
    • -r: 忽略路由表,直接发送到目的地址。
    • -v: 详细模式,显示更多信息。
  2. -c count: 指定要发送的数据包数量。

  3. -G sweepmaxsize: 设置数据包大小的上限。

  4. -g sweepminsize: 设置数据包大小的下限。

  5. -h sweepincrsize: 设置数据包大小的增量。

  6. -i wait: 设置发送数据包之间的时间间隔。

  7. -l preload: 设置数据包预加载数量。

  8. -M mask | time: 设置数据包的标记或时间戳。

  9. -m ttl: 设置数据包的生存时间(TTL)。

  10. -p pattern: 设置要发送数据包的模式。

  11. -S src_addr: 指定数据包的源地址。

  12. -s packetsize: 设置数据包的大小。

  13. -t timeout: 设置超时时间。

  14. -W waittime: 设置等待时间。

  15. -z tos: 设置服务类型(TOS)。

  16. host: 要ping的目标主机。

  17. -I iface: 指定发送数据包的网络接口。

  18. -T ttl: 设置生存时间(TTL)。

  19. mcast-group: 多播组。

Apple特定选项:

  • -b boundif: 将套接字绑定到接口。
  • -k traffic_class: 设置流量类别套接字选项。
  • -K net_service_type: 设置流量类别套接字选项。
  • --apple-connect: 在套接字中调用connect(2)。
  • --apple-time: 显示当前时间。

PS:-I -T 适用于适用于多播组

3. 示例

  1. 基本示例

    • 测试与主机example.com的连接:
      ping example.com
      
  2. 设置发送数据包次数和超时时间

    • 发送10个数据包,超时时间为2秒:
      ping -c 10 -t 2 example.com
      
  3. 设置数据包大小和TTL

    • 发送数据包大小为100字节,TTL为64:
      ping -s 100 -m 64 example.com
      
  4. 显示详细信息

    • 显示详细的调试信息:
      ping -v example.com
      
  5. 针对组播组的示例

    • 测试与多播组224.0.0.1的连接:
      ping 224.0.0.1
      
  6. 使用苹果特定选项

    • 绑定套接字到特定接口并设置流量类别:
      ping -b eth0 -k 1 example.com
      
  7. 显示当前时间

    • 显示当前时间并测试与主机的连接:
      ping --apple-time example.com