RIP
RIP是Routing Information Protocol(路由信息协议)的简称,它是一种较为简单的内部网关协议(Interior Gateway Protocol)。RIP是一种基于距离矢量(Distance-Vector)算法的协议,它使用跳数(Hop Count)作为度量来衡量到达目的网络的距离。RIP通过UDP报文进行路由信息的交换,使用的端口号为520。
RIPv2报文部分字段
- command
- 1:Request报文,向邻居请求全部或部分路由信息;
- 2:Reponse报文,发送自己全部或部分路由信息,一个Response报文中最多包含25个路由表项。
- next Hop 下一跳地址
- metric 路由的开销值
RIP毒化:
原理
RIP是一种基于距离矢量(Distance-Vector)算法的协议,它使用跳数(Hop Count)作为度量值来衡量到达目的地址的距离。度量值等于从本网络到达目的网络间的设备数量。大于或等于16的跳数被定义为无穷大,即目的网络或主机不可达。
RIP消息通过组播地址224.0.0.9和UDP协议的520端口进行广播;RIP每30秒向邻居路由器发送一次广播,广播整个路由。攻击者则伪造成附近路由,再把开销设为16,达成路由毒化
数据包分析
下载rip的包
IP:
-
src:
路由器ip
-
dst:
224.0.0.9
rip多播地址
UDP:
-
sport:
520
-
dport:
520
RIP:
- command:
2
Response - Metric:
1
开销
编写脚本
查看scapy模块中RIP协议字段
>>> ls(RIP)
cmd : ByteEnumField = (<