发觉linux下的ping命令花样还挺多的,下面是几个例子

1、ping www.baidu.com,最粗糙的用法,此时主机将不停地向目的地址发送ICMP echo request数据包,直至你按下Ctrl+c

linux,ping
 


 

2、ping -I eth0 www.baidu.com 或 ping -I 192.168.8.151 www.baidu.com,即 -I 选项可以指定发送ping包的网卡,-I后接网卡名或者网卡的IP地址都是可以的

linux,ping
 


 

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

linux,ping
 


 

4、ping -t 20 www.baidu.com,-t 选项可以设置承载ICMP报文的IP数据包的TTL值

linux,ping
 

从wireshark的抓包,可以看到ttl设为了20

linux,ping


 

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

linux,ping
 

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

linux,ping
 

从wireshark的抓包可以看到,数据部分的内容即为beef,并且被用来反复填充

linux,ping
 

以上6个是比较简单的选项,当然还有其他选项,选项基本上可以根据自己的需求叠加使用。

想要进一步了解linux下的ping命令,获取更详细的使用方法,可以man ping,另外ping6命令的使用与此类似,基本上将以上的ping改成ping6就可以了,当然这时候地址也得是IPv6的