![]() |
(二) 配置RIP路由协议
在Router A上做如下RIP路由配置
Router(config)#int fastEthernet 0/0
Router(config-if)#ip address 192.168.145.173 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#router rip
Router(config-router)#version 2
Router(config-router)#network 1.0.0.0
Router(config-router)#network 2.0.0.0
Router(config-router)end
在Router B上做如下RIP路由配置
Router(config)#int fastEthernet 0/0
Router(config-if)#ip address 192.168.145.174 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#router rip
Router(config-router)#version 2
Router(config-router)#network 3.0.0.0
Router(config-router)#network 4.0.0.0
Router(config-router)end
在Router B 通过show ip route
如下图,路由表为
Network 1.0.0.0
Network 2.0.0.0
Network 3.0.0.0
Network 4.0.0.0
这是正常的路由表
![]() |
(三) 抓包分析
在PC上通过wireshark抓包工具抓到如下的包
如下图,看NO. 6,为Router A发给Router B的路由更新包
红圈处为rip路由信息
![]() |
把这些信息保存,用sniffer pro 4.7.5打开
点选 File→save→保存类型NA Sniffer (windows) 2.00x (*.cap)
![]() |
#p#
(四) 第一次改包
用sniffer pro 4.7.5打开保存了的cap文件
点选decode,如下图
![]() |
找到RIP路由信息的二进制代码处,右键选择 edit,如下图
![]() |
如下图红圈处,将01 00 00 00 ff 00 00 00修改为 01 01 01 00 ff ff ff 00,即将1.0.0.0 255.0.0.0 改为 1.1.1.0 255.255.255.0;将02 00 00 00 ff 00 00 00修改为 02 02 02 00 ff ff ff 00,即将2.0.0.0 255.0.0.0 改为 2.2.2.0 255.255.255.0
![]() |
在NO.6路由包处,右键点选取 Send Current frame,如下图
![]() |
(五) 第一次攻击
填写发送次数,或者选择一直发送,如下图
![]() |
这时查看Router B的路由表,路由表没有被撰改,再分析发送的数据包
(六) 再抓包分析
通过wireshark抓包获得如下信息
通过下图可以得到如下信息,RIP路由的数据包已经发送到了Router B,rip路由封装在udp 520数据包中,返回udp包的checksum错误
checksum:0xc60c [incorrect,should be oxc309]
![]() |
再通过sniffer pro 4.7.5修改checksum,将oxc60c修改为oxc309
修改方法请参考上文,这里不再骜叙
(七) 再次攻击,攻击成功
通过sniffer pro 4.7.5将修改了的数据发送
在Router B 通过show ip route
如下图,路由表为
Network 1.1.1.0
Network 2..2.2.0
Network 1.0.0.0
Network 2.0.0.0
Network 3.0.0.0
Network 4.0.0.0
![]() |
其中network 1.1.1.0,network 2.2.2.0就是撰改后路由表
这里我们得出结论
对于运行RIP动态路由协议路由器的路由表可以通过本文的办法对其随意撰改,造成其路由表紊乱,并足以使其网络中断
最后在此感谢二位黄先生,泽鸿(CCIE)给于我在路由协议上的很多指点(很久没摸路由器了,都忘干净了^_^),超毅(黑客之王)给于我对攻击思路的指点,感谢二位牛人。
【编辑推荐】