zoukankan      html  css  js  c++  java
  • 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重定向。好好设计一下
  • 相关阅读:
    Java 理论与实践: 正确使用 Volatile 变量
    Zookeeper 原理
    Java中GC的工作原理
    Redis 5种数据结构使用及注意事项
    Redis 支持的5种数据结构
    浅谈JavaScript词法分析步骤
    四句话总结JavaScript作用域
    Web模板引擎本质前奏
    python【第十三篇】可以写一个堡垒机了
    python【第十二篇下】操作MySQL数据库以及ORM之 sqlalchemy
  • 原文地址:https://www.cnblogs.com/4geek/p/12685549.html
Copyright © 2011-2022 走看看