ping -c 3 -i 0.2 -W 3 $1 &> /dev/null
if [ $? -eq 0 ]

这条语句中各个参数的意义为:

  • -c表示的是ping的次数(linux系统下并不会像windows一样ping四次后停止),后面的3为ping三次后终止。
  • -i表示的是两次ping访问之间的时间间隔,0.2参数表示的是间隔0.2s
  • -W表示的是定义等待超时的时间,3表示的是超过三秒钟就定义为ping不通
  • $1为输入的参数
  • &> /dev/null表示的是用完的参数自动存入一个没有回收功能的垃圾箱
  • $?参数表示的是若前面的语句执行成功,则会返回0,若执行不成功,则会返回非0数据。
  • -eq 为前者是否等于后者。

1、ping www.baidu.com

最粗糙的用法,此时主机将不停地向目的地址发送ICMP echo request数据包,直至你按下Ctrl+c停止发送请求!

2、ping -I eth0 www.baidu.com 或 ping -I 192.168.8.151 www.baidu.com

即 -I 选项可以指定发送ping包的网卡,-I后接网卡名或者网卡的IP地址都是可以的。

3、ping www.baidu.com  -c 3

-c 选项可以指定发送多少个ICMP包,可以看到主机接收到了3个ICMP echo reply包,这是对我发的3个echo request的回应。

ping -c 4 www.baidu.com 

4、ping -t 20 www.baidu.com

-t 选项可以设置承载ICMP报文的IP数据包的TTL值

5、ping -s 10 www.baidu.com

-s 选项可以设置ICMP数据部分的大小,可以看到数据部分10个字节,加上8字节的ICMP头,则ICMP包大小为18字节,再加上20字节的IP头,IP包大小为38字节

6、ping -p beef www.baidu.com

-p 选项可以设置icmp报文数据部分的内容,后跟的 beef 即为16进制的填充数据,后面跟的数据最大可为16个字节 

Logo

更多推荐