Python 协议攻击脚本(八): RIP攻击

本文介绍了RIP协议的基本原理,包括其作为距离矢量算法的特性,以及RIPv2报文的结构。重点讨论了RIP路由毒化攻击,解释了如何通过设置开销值为16来实现目的网络不可达。此外,还提到了RIP协议在UDP的520端口和224.0.0.9多播地址上的交互。最后,文章引导读者进行数据包分析,并提供了使用Python Scapy模块编写RIP相关脚本的初步指导。
摘要由CSDN通过智能技术生成

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基础知识

数据包分析

下载rip的包

下载

mark

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                       = (<
  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值