ICMP(实验一)

ICMP重定向报文分析实验

 

实验背景:

ICMP类型为5的报文,被route用来通知host去往指定目标的网关,是数据链路上的另一台route

拓扑:

ICMP(实验一)

一、实验步骤:

1.       配置IP地址(略)

2.       配置静态路由

R1(config)#ip route 123.1.1.3 255.255.255.255 123.1.1.2

3.       抓包分析

抓取R2àSW1链路上的包

二、分析

R1上配置静态之后当R1发送去往R3的数据包时,理论上应该先送给R2然后由R2再转发到R3.但是实际上当R1发送去往R3的数据时,R2会给R1发送一个ICMP重定向的报文(默认情况下路由器的重定向功能是使能的,想关闭可以用命令no ip redirects),告诉R1如果你去往R3可以不用给我直接给他。

以下是我在用R1pingR3R2发回的redirects报文的抓包截图

ICMP(实验一)

以上可以看出R2R1发送了redirect报文,也就是上一篇文章中我所提到的只有网关会像host发送该报文。下面我们打开这个报文看看详细内容


ICMP(实验一)

以上就是ICMP的简单的redirect实验。

我们也可以不用抓包来看效果,也可以通过debug ip icmp 来看debug信息

R2#

*Mar  1 01:36:32.587: ICMP: redirect sent to 123.1.1.1 for dest 123.1.1.3, use gw 123.1.1.3

R3#

*Mar  1 01:36:32.775: ICMP: echo reply sent, src 123.1.1.3, dst 123.1.1.1

*Mar  1 01:36:32.859: ICMP: echo reply sent, src 123.1.1.3, dst 123.1.1.1

*Mar  1 01:36:32.919: ICMP: echo reply sent, src 123.1.1.3, dst 123.1.1.1

*Mar  1 01:36:32.955: ICMP: echo reply sent, src 123.1.1.3, dst 123.1.1.1

*Mar  1 01:36:32.991: ICMP: echo reply sent, src 123.1.1.3, dst 123.1.1.1

由于默认情况下,ICMP重定向是使能的。我们关闭重定向功能后在通过tracert来看看是什么情况

R1#traceroute 123.1.1.3

Type escape sequence to abort.

Tracing the route to 123.1.1.3

  1 123.1.1.2 16 msec 40 msec 36 msec

  2 123.1.1.3 16 msec *  20 msec

报文分析就到这吧,下一个实验我会详细来让大家体会一下ICMP重定向。好好设计一下
原文地址:https://www.cnblogs.com/4geek/p/12685549.html