(一) 网络结构图

(二) 配置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)

(四) 第一次改包
用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就是撰改后路由表