发觉linux下的ping命令花样还挺多的,下面是几个例子
1、ping ,最粗糙的用法,此时主机将不停地向目的地址发送ICMP echo request数据包,直至你按下Ctrl+c
发送给一个单播地址的包传递到由该地址标识的接口上。一、centos 修改ip地址 修改对应网卡的ip地址的配置文件 复制代码 代码如下: # vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改以下内容 复制代码 代码如下: device=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0 bootproto=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过boot。使用该选项指定的网卡作为多网卡绑定的从网卡,虚拟出的网卡的名字由--device指定。
3、ping -c 3 ,-c 选项可以指定发送多少个ICMP包,可以看到主机接收到了3个ICMP echo reply包,这是对我发的3个echo request的回应
4、ping -t 20 ,-t 选项可以设置承载ICMP报文的IP数据包的TTL值
从wireshark的抓包,可以看到ttl设为了20
5、ping -s 10 ,-s 选项可以设置ICMP数据部分的大小,可以看到数据部分10个字节,加上8字节的ICMP头,则ICMP包大小为18字节,再加上20字节的IP头,IP包大小为38字节
一个tcp头部,在不包含选项数据的情况下通常占用20个字节(nt | rt:options 理解为选项数据,需回译). 第一行包含0到3编号的字节, 第二行包含编号4-7的字节.。bisizeimage 由biwidth和biheight以及bibitcount字段共同决定,可以根据可执行文件的大小适当的填写,但是要保证biwidth*biheight*bibitcount / 8稍大于可执行文件的大小,在计算bisizeimage还要注意位图文件的数据每行按4字节对齐,适当的选择biwidth和biheight,使计算出来的bisizeimage稍大于可执行文件的大小,多出来的部分可以用随机数字填充。流程为:设置命名空间 >> 超时设置 >> 生成guid >> 填充header >> 设置搜索范围 >> 发送报文 >> 接收并解析报文 。
从wireshark的抓包可以看到,数据部分的内容即为beef,并且被用来反复填充
以上6个是比较简单的选项,当然还有其他选项,选项基本上可以根据自己的需求叠加使用。
想要进一步了解linux下的ping命令,获取更详细的使用方法,可以man ping,另外ping6命令的使用与此类似,基本上将以上的ping改成ping6就可以了,当然这时候地址也得是IPv6的