关于linux:Linux之ping命令

42次阅读

共计 5758 个字符,预计需要花费 15 分钟才能阅读完成。

【Linux 常用命令速查手册】关注【入门小站】,后盾回复「1001」自取。

ping 命令是用于排除故障,测试和诊断网络连接问题的最罕用的命令之一。

Ping 通过将一个或多个 ICMP(Internet 管制音讯协定)Echo 申请包发送到指定指标 IP 并期待回复来工作。当指标 IP 收到包时,它将响应 ICMP 回复。

应用 ping 命令,咱们能够确定远程目标 IP 是处于活动状态还是非活动状态,找到与指标通信的往返提早并查看是否存在数据包失落。

ping 命令是 iputils(或 iputils-ping)程序包的一部分,该程序包已事后装置在绝大多数 Linux 发行版上。ping 命令也可用于 Windows,MacOSX 和 FreeBSD。

命令格局

ping [参数] [主机名或 IP 地址]

命令性能

ping 命令用于:确定网络和各内部主机的状态;跟踪和隔离硬件和软件问题;测试、评估和管理网络。如果主机正在运行并连在网上,它就对回送信号进行响应。每个回送信号申请蕴含一个网际协议(IP)和 ICMP 头,前面紧跟一个 tim 构造,以及来填写这个信息包的足够的字节。缺省状况是间断发送回送信号申请直到接管到中断信号(Ctrl-C)。

ping 命令每秒发送一个数据报并且为每个接管到的响应打印一行输入。ping 命令计算信号往返工夫和 (信息) 包失落状况的统计信息,并且在实现之后显示一个简要总结。ping 命令在程序超时或当接管到 SIGINT 信号时完结。Host 参数或者是一个无效的主机名或者是因特网地址。

命令参数

  • -d 应用 Socket 的 SO_DEBUG 性能。
  • -f 极限检测。大量且疾速地送网络封包给一台机器,看它的回应。
  • -n 只输入数值。
  • -q 不显示任何传送封包的信息,只显示最初的后果。
  • -r 疏忽一般的 Routing Table,间接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题。
  • -R 记录路由过程。
  • -v 具体显示指令的执行过程。
  • <p>-c 数目:在发送指定数目的包后进行。
  • -i 秒数:设定距离几秒送一个网络封包给一台机器,预设值是一秒送一次。
  • -I 网络界面:应用指定的网络界面送出数据包。
  • -l 前置载入:设置在送出要求信息之前,后行收回的数据包。
  • -p 范本款式:设置填满数据包的范本款式。
  • -s 字节数:指定发送的数据字节数,预设值是 56,加上 8 字节的 ICMP 头,一共是 64ICMP 数据字节。
  • -t 存活数值:设置存活数值 TTL 的大小。

ping 的通的状况

> ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=106 time=255.389 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=106 time=253.781 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=106 time=258.403 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=106 time=255.721 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=106 time=255.086 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=106 time=255.165 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=106 time=253.948 ms
...

ping 不通的状况

> ping 8.8.9.9
PING 8.8.9.9 (8.8.9.9): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
Request timeout for icmp_seq 5
Request timeout for icmp_seq 6
...

ping 指定次数

> ping -c 10 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=106 time=256.369 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=106 time=255.471 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=106 time=255.381 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=106 time=255.038 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=106 time=260.055 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=106 time=255.733 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=106 time=254.986 ms
64 bytes from 8.8.8.8: icmp_seq=7 ttl=106 time=254.084 ms
64 bytes from 8.8.8.8: icmp_seq=8 ttl=106 time=255.902 ms
64 bytes from 8.8.8.8: icmp_seq=9 ttl=106 time=256.121 ms

--- 8.8.8.8 ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 254.084/255.914/260.055/1.513 ms

工夫距离和次数限度的 ping

> ping -c 10 -i 0.5 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=106 time=255.032 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=106 time=256.937 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=106 time=255.129 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=106 time=256.560 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=106 time=264.229 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=106 time=254.791 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=106 time=254.212 ms
64 bytes from 8.8.8.8: icmp_seq=7 ttl=106 time=254.998 ms
64 bytes from 8.8.8.8: icmp_seq=8 ttl=106 time=255.029 ms
64 bytes from 8.8.8.8: icmp_seq=9 ttl=106 time=255.559 ms

--- 8.8.8.8 ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 254.212/256.248/264.229/2.771 ms

通过域名 ping 域名

> ping -c 5 json.im
PING json.im (150.109.147.28): 56 data bytes
64 bytes from 150.109.147.28: icmp_seq=0 ttl=48 time=28.733 ms
64 bytes from 150.109.147.28: icmp_seq=1 ttl=48 time=28.412 ms
64 bytes from 150.109.147.28: icmp_seq=2 ttl=48 time=28.012 ms
64 bytes from 150.109.147.28: icmp_seq=3 ttl=48 time=31.498 ms
64 bytes from 150.109.147.28: icmp_seq=4 ttl=48 time=30.518 ms

--- json.im ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 28.012/29.435/31.498/1.341 ms

多参数应用

> ping -i 1 -s 1024 -t 123 json.im
PING json.im (150.109.147.28): 1024 data bytes
1032 bytes from 150.109.147.28: icmp_seq=0 ttl=48 time=29.613 ms
1032 bytes from 150.109.147.28: icmp_seq=1 ttl=48 time=28.530 ms
1032 bytes from 150.109.147.28: icmp_seq=2 ttl=48 time=32.768 ms
1032 bytes from 150.109.147.28: icmp_seq=3 ttl=48 time=29.014 ms
1032 bytes from 150.109.147.28: icmp_seq=4 ttl=48 time=30.239 ms
1032 bytes from 150.109.147.28: icmp_seq=5 ttl=48 time=27.815 ms
1032 bytes from 150.109.147.28: icmp_seq=6 ttl=48 time=31.311 ms
1032 bytes from 150.109.147.28: icmp_seq=7 ttl=48 time=34.554 ms
1032 bytes from 150.109.147.28: icmp_seq=8 ttl=48 time=41.600 ms
1032 bytes from 150.109.147.28: icmp_seq=9 ttl=48 time=29.513 ms
1032 bytes from 150.109.147.28: icmp_seq=10 ttl=48 time=28.320 ms
1032 bytes from 150.109.147.28: icmp_seq=11 ttl=48 time=29.449 ms
1032 bytes from 150.109.147.28: icmp_seq=12 ttl=48 time=29.127 ms
1032 bytes from 150.109.147.28: icmp_seq=13 ttl=48 time=28.583 ms
1032 bytes from 150.109.147.28: icmp_seq=14 ttl=48 time=28.064 ms

-i 3 发送周期为 3 秒 -s 设置发送包的大小为 1024 -t 设置 TTL 值为 255

指定源接口(网卡)

默认状况下,ping 将通过默认路由发送 ICMP 包。如果您的计算机上有多个接口,则能够应用以下 - I 选项指定源接口:

> ping -I eth0 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 192.168.0.3 eth0: 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=2 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=109 time=200 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=7 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=9 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=10 ttl=109 time=201 ms
...

上面的命令将执行 ping 8.8.8.8 应用 eth0 作为源接口

指定 Internet 协定

运行 ping 命令时,它将应用 IPv4 或 IPv6,具体取决于您的计算机 DNS 设置。

ping -4 DESTINATION ping -6 DESTINATION

强制 ping 应用 IPv4 传递 - 4 选项或应用其别名 ping4。对于 IPv6 传递 - 6 选项或应用 ping6。

> ping -4 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=2 ttl=109 time=200 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=109 time=200 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=109 time=200 ms
64 bytes from 8.8.8.8: icmp_seq=8 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=13 ttl=109 time=200 ms
64 bytes from 8.8.8.8: icmp_seq=16 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=17 ttl=109 time=200 ms
64 bytes from 8.8.8.8: icmp_seq=19 ttl=109 time=200 ms
64 bytes from 8.8.8.8: icmp_seq=21 ttl=109 time=201 ms
...

原文链接:https://rumenz.com/rumenbiji/…
微信公众号: 入门小站

【Linux 常用命令速查手册】关注【入门小站】,后盾回复「1001」自取。

正文完
 0