ping 网络连通性测试

在Linux或Windows上,都存在一个ping命令,可以用来测试本机和目标IP主机之间的网络是否连通。这篇笔记记录Linux下ping命令的用法。

ping的原理

实际上,ping是通过ICMP协议的ECHO和REPLY数据包实现的,如果一台主机无法ping通,大部分情况是网络不通,也有可能是该主机拒绝发ICMP REPLY包,以防自己被探测到。

测试域名或IP

ping命令后面可以加上域名或主机IP,如果接的是域名,会自动通过DNS协议转换成一个可用的IP。

ubuntu@ubuntu:~$ ping www.bing.com
PING cn-0001.cn-msedge.net (202.89.233.100) 56(84) bytes of data.
64 bytes from 202.89.233.100: icmp_seq=1 ttl=113 time=82.9 ms
64 bytes from 202.89.233.100: icmp_seq=2 ttl=113 time=60.1 ms
64 bytes from 202.89.233.100: icmp_seq=3 ttl=113 time=59.6 ms
64 bytes from 202.89.233.100: icmp_seq=4 ttl=113 time=65.8 ms
^C
--- cn-0001.cn-msedge.net ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 59.640/67.157/82.991/9.470 ms

常用参数

命令行中使用ping命令一般不会加什么参数,但有时我们需要在shell或其它脚本中对ping进行简单的封装,这种情况下可能用到一些参数调整发送数据包的个数、间隔等参数。

  • -c:指定测试数据包发送次数,Linux下如果不指定次数会一直ping,按CTRL+C终止
  • -i:指定发送数据包的间隔秒数
作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。
Copyright © 2017-2024 Gacfox All Rights Reserved.
Build with NextJS | Sitemap