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
最粗糙的用法,此时主机将不停地向目的地址发送ICMP echo request数据包,直至你按下Ctrl+c停止发送请求!
2、ping -I eth0 或 ping
即 -I 选项可以指定发送ping包的网卡,-I后接网卡名或者网卡的IP地址都是可以的。
3、ping-c 3
-c 选项可以指定发送多少个ICMP包,可以看到主机接收到了3个ICMP echo reply包,这是对我发的3个echo request的回应。
ping -c 4
4、ping -t 20
-t 选项可以设置承载ICMP报文的IP数据包的TTL值
5、ping -s 10
-s 选项可以设置ICMP数据部分的大小,可以看到数据部分10个字节,加上8字节的ICMP头,则ICMP包大小为18字节,再加上20字节的IP头,IP包大小为38字节
6、ping -p beef
-p 选项可以设置icmp报文数据部分的内容,后跟的 beef 即为16进制的填充数据,后面跟的数据最大可为16个字节