1. ICMP消息类型和编码类型


2. ICMP应用-ping

<br/> 2.1、-a 指定源IP地址ping目标IP地址 <br/> 2.2、-c指定ping请求包的个数,默认是5个

3.ICMP应用-Tracert

**Tracert的工作原理:Tracert使用IP包的TTL值和ICMP错误消息来判断主机达到目标地址中间经过的路由个数; 首先,Tracert发送一个UDP包的端口大于30000,TLL值为1,一次性发送3个包,因为UDP是不可靠的,所以发送3个包保证传输的可靠性,只要有一个包达到目标即可; 在路径上的第一个路由器收到包之后,TTL值减1,此时TTL值为0,路由器就会丢弃数据包,返回一个ICMP Replay包(包括发送方路由器的IP地址等); Tracert收到ICMP Replay包之后,知道下一跳的IP地址是存在; Tracert第二次发送一个和第一个数据包端口一样的,TTL值位2,当路径上第二台路由器收到数据包之后,TTL值减1,此时TTL值为0(每经过一个路由器,TTL值减1),这个重复的动作持续到数据包达到目的地; 当目的地收到这个数据包时,发现自己并没有这个端口号,就会返回一个端口不可达的ICMP Replay包,此时,tracert就知道到达目的地了。 ** 1、默认已经配好IP地址 and 路由 选中R2的Ethernet0/0/0端口进行抓包 2、在R1路由器 tracert 路由器R5的IP地址 1.1.4.2 3、R1访问R5的端口30005,TTL值为1 4、当R2路由器收到R1发送的数据包之后,发现TTL值为1,因转发一台路由器,TTL值减1,那么R2发现TTL值为0就不会再继续转发数据包,就会告诉R1,TTL值已超出,此时R1也就知道了他的下一跳的IP地址是1.1.1.2 5、当数据包达到目的地后,R5发现没有30005这个端口,就告诉R1端口不可达。