#yyds干货盘点#

实验目标

1.认识IP记录路由的过程。 2.抓包分析严格源站路由 3.抓包分析宽松源站路由

实验任务

1.配置三台路由器,给每个路由器端口配置IP,在路由器R3上配置一个环回口3.3.3.3,使用扩展ping让R1 ping 3.3.3.3 ,抓包分析IP记录路由过程。 2.配置5台路由器,让其中有环路,配置好OSPF路由协议。使用严格路由(strict)让R1与R5通信,提前设置好要经过的网段,抓包分析ICMP请求和回复报文。 3.继续使用严格源站路由中的拓扑,在R2路由器上配置一个环回口2.2.2.2,让其做为松散源路(loose)由拓展ping3.3.3.3,抓包分析R1和R2与R2和R3两条链路上的报文。

实验参数

IP记录路由拓扑:

记录路由和源站路由实验(GNS3 + wireshark)_链路

参数: R1:int f0/0 IP:132.0.23.1 R2: int f0/0 IP: 132.0.23.2, int f1/0 IP:132.1.23.2 R3: int f0/0 IP:132.1.23.1源站路由:

拓扑:

记录路由和源站路由实验(GNS3 + wireshark)_IP_02

参数: R1:int f0/0 IP:132.0.23.1,int f1/0 IP: 132.2.23.1 R2: int f0/0 IP: 132.0.23.2, int f1/0 IP:132.1.23.2,int f2/0 IP:132.3.23.1 Int f3/0 IP:132.4.23.1 R3: int f0/0 IP:132.1.23.1,int f1/0 IP:132.5.23.1 R4: int f0/0 IP:132.2.23.2,int f1/0 IP:132.3.23.2,int f2/0 IP:132.6.23.2 R5: int f0/0 IP:132.6.23.1,int f1/0 IP:132.4.23.2,int f2/0 IP: 132.5.23.2

实验过程
IP记录路由
  1. 使用扩展ping命名ping3.3.3.3 路由记录: IP报文中显示的路由记录: R1命令行显示的路由记录多一条132.0.23.1,即R1本机的IP。

R2收到的包比R2发出的包多了一跳记录(132.1.23.1)。这正是R2 f0/1端口的IP。

源站路由
1.配置IP地址(以路由器R5为例),注意在R3上配置一个环回口3.3.3.3

R5#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R5(config)#int f0/0
R5(config-if)#ip add 132.6.23.1 255.255.255.0
R5(config-if)#no shu
R5(config-if)#no shutdown
R5(config-if)#int f1/0
*Mar  1 00:51:55.323: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:51:56.323: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R5(config-if)#int f1/0
R5(config-if)#ip add 132.4.23.2 255.255.255.0
R5(config-if)#no shutdown
R5(config-if)#int f2/0
*Mar  1 00:52:19.483: %LINK-3-UPDOWN: Interface FastEthernet1/0, changed state to up
*Mar  1 00:52:20.483: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet1/0, changed state to up
R5(config-if)#int f2/0
R5(config-if)#ip add 132.5.23.2 255.255.255.0
R5(config-if)#no shutdown
R5(config-if)#
*Mar  1 00:52:33.679: %LINK-3-UPDOWN: Interface FastEthernet2/0, changed state to up
*Mar  1 00:52:34.679: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet2/0, changed state to up
R5(config-if)#

  1. 在R1上使用拓展Ping,开始的时候没配置路由协议的时候,发现报文无法出去。所以继续配置OSPF(下图为R5的配置)
  2. 记录路由和源站路由实验(GNS3 + wireshark)_IP_03

  3. 当配置完OSPF之后 ping3.3.3.3发现还是不通,查看R1的路由表,发现没有3.3.3.3的路由项,这时候就想起来了R3上还没配3.3.3.3 的路由,配完之后就可以ping通。
  4. 记录路由和源站路由实验(GNS3 + wireshark)_IP_04


  5. 132.2.23.1 ping 3.3.3.3
  6. 开始先用记录路由找一下到3.3.3.3的路。
  7. 记录路由和源站路由实验(GNS3 + wireshark)_IP_05

  8. 从上面的记录可以看出来ICMP经过的路径是两个网络之间最短的路径。
  9. 记录路由和源站路由实验(GNS3 + wireshark)_IP_06

  10. 记录路由和源站路由实验(GNS3 + wireshark)_链路_07

  11. 这是R1通过OSPF协议学习到最短路径。

  12. 通过拓展ping 3.3.3.3,选择严格源站路由,查看数据包转发情况。
  13. 记录路由和源站路由实验(GNS3 + wireshark)_R3_08

  14. 下图是R4通向R2链路上的ICMP包。

记录路由和源站路由实验(GNS3 + wireshark)_链路_09

下图是R4通向R5链路上的ICMP数据包。注意next指针的位置。

记录路由和源站路由实验(GNS3 + wireshark)_IP_10

下图是R1收到的ICMP reply报文。这时途径所有的IP都成了Record Route。

记录路由和源站路由实验(GNS3 + wireshark)_IP_11

下图是R4与R2间链路中收到的ICMP reply报文。可以看出此时的目的地址(也就是request的源地址)还是Destination address。

记录路由和源站路由实验(GNS3 + wireshark)_IP_12

松散源站路由
  1. 使用严格源站路由的拓扑和网络配置。
  2. 使用扩展ping 让1.1.1.1 ping 3.3.3.3 ,观察当前路由、记录路由 R1和R2链路上抓到的ICMP 请求报文。 R2与R3之间的链路上的ICMP Request报文 R3与R2之间的ICMP reply报文。 R2与R1之间链路的ICMP reply报文。
实验分析
ip记录路由

通过IP记录路由选项,可以将经过的设备的出口IP地址记录下来。如实验中拓展ping后所显示的路由记录,源IP地址是132.0.23.1,所以第一个IP路由记录肯定是132.0.23.1,第二条为132.1.23.2,正是R2朝向R3方向的出口IP地址。3.3.3.3之后的为回复报文中记录的路由项。IP记录路由项会存放在IP报文的选项(Option)字段,这个字段有39个字节,最多可以记录9个IP地址,其中有个指针ptr,指向存放下一个IP的地址。Ptr值为从4开始,每次加4,直到36.

记录路由和源站路由实验(GNS3 + wireshark)_IP_13

指针移动,增加新的IP路由选项。

记录路由和源站路由实验(GNS3 + wireshark)_R3_14

记录路由和源站路由实验(GNS3 + wireshark)_链路_15

严格源站路由
  • 使用拓展ping命令指定确切的路由,路由器转发的时候就按提前定义的时候路由进行转发。 IP路由记录中Current Route为当前路由,而指针所在的字段的地址为下个跳的目的地址。报文中的Record route为路由出去的端口IP,Current route为进入某个网络端口的IP地址。

下图未ICMP Reply报文,其中路由选项中记录了Record Route,Source Route,Destination Route,其中Record route为已经走过的路由,Source route为下一跳要到达的地址,这个地址要是和当前网段通过路由器直连的网络。Destination为最终要到达的地址。

记录路由和源站路由实验(GNS3 + wireshark)_链路_16

最后R1收到的reply报文,途径的所有路由都变为了Record Route,即到达目的地址,记录中的也是ping返回的路由记录。这和开始设置的严格路由正好相反,设置的严格路由为下一跳进入某个网段的端口,而Record Route记录的正是出路由器的端口,而request和reply 报文的方向正好相反,所以开始要进入路由器的端口正好成了reply报文出路由器的端口。

记录路由和源站路由实验(GNS3 + wireshark)_IP_17

记录路由和源站路由实验(GNS3 + wireshark)_R3_18

松散源站路由
  • 发送源指定一个数据报沿途所经过的IP地址列表(一串路由器的接口IP地址序列),报文须沿着指定的IP地址顺序来传送数据,但是此时也可以允许在相继的两个地址之间存在多个路由器。本实验中1.1.1.1 ping 3.3.3.3,,中间要经过2.2.2.2,根据OSPF协议,开始ICMP报文从R1出来会转发到2.2.2.2,从R1与R2之间的报文可以看出报文经过了2.2.2.2,从路由项中可以得出R2到3.3.3.3可以转发到R3,所有从R2的f1/0端口出来转发到R3。 R2的f1/0端口IP为132.1.23.2。 因为request报文已经有了记录,所以reply报文就直接通过R2真实端口转发,没经过2.2.2.2,这样路由更短。