本文将介绍几种使用ICMP协议的命令,这些命令在网络测试和排错都有重要的作用。
1、ping命令
ping命令是检查网络是否畅通的常用命令,使用 ping 主机ip 后返回的数据包如图:
我们输入ping www.baidu.com,电脑会自动向DNS服务器查询域名对应的IP地址,然后发送数据包给目标服务器。目标服务器收到后会返回数据包,我们根据是否接受到返回的数据包来判断网络的畅通情况。
- 字节属性:表示返回的数据包的大小;
- 时间(time)属性:表示延迟大小;
- TTL属性:表示数据包的生存周期。
TTL的作用:
在每一个数据包刚发送出的时候都有一个初始TTL值(最大255,推荐64),而且每经过一个网段TTL就会减1,TTL减至0时数据包会自动失效消失。
1)这种机制限制了IP数据包在计算机网络中存在的时间,防止数据包在网络中无限循环传输。
2)我们可以根据TTL粗略判断对方服务器的系统。
因为TTL在不同系统中的默认初始值不同:
Linux是64;Windows是128;Unix是255
ping命令的参数
我们可以通过ping /?命令查看可以使用的参数,例如:
- ping ip -t 命令:会持续向目标主机发送数据包
- ping -l 200 ip 命令:用来指定TTL数据包的大小
- ping ip -i 2 命令:指定生存周期TTL为2,可以间接查看沿途经过的第2个路由器。
指定TTL为2时,数据包走到第二个路由器时,TTL减至0,所以第二个路由器会返回提示TTL过期,我们间接得知网络中第二个路由器IP地址。
注:
互联网中常见的DNS服务器:8.8.8.8和202.99.160.68
2、pathping命令
pathping命令可以更直观地跟踪数据包路径,计算丢包情况。如图为pathping www.baidu.com的结果:
3、tracert命令
tracert命令用于确定 IP数据包访问目标所采取的路径,显示从Windows本地到目标网站所在网络服务器的一系列网络节点的访问速度,最多支持显示30个网络节点。
4、traceroute命令
traceroute命令是路由器上跟踪数据包路径的命令。