Python 协议攻击脚本(四): ARP扫描

本文介绍了如何利用Python的Scapy库进行ARP协议扫描。首先讲解了ARP协议的基础知识,包括其操作类型如ARP请求和应答。接着,通过分析数据包,展示了在ping局域网地址时ARP请求和响应的过程。最后,详细阐述了如何编写Scapy脚本实现ARP请求和应答,包括代码示例及运行结果。
摘要由CSDN通过智能技术生成

ARP协议

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;

OP

操作类型:

  • 1 ARP请求
  • 2 ARP应答
  • 3 RARP请求
  • 4 RARP应答

数据包分析

ping局域网中的一个地址

mark

抓包,可以看到在寻找10.35.68.1是谁,并做出了答复

mark

封装为Ether/ARP

Ether

  1. 源MAC本机MAC
  2. 目的MAC为广播地址ff:ff:ff:ff:ff:ff(ARP特性)

ARP:

  1. op1(ARP请求)
  2. 源MAC源IP本机MAC本机IP
  3. 目的MAC目的IP00:00:00:00:00:00目标机IP,

答复包

mark

ARP:

  1. 获取到10.35.68.1MAC并判断它存活

  2. op2(ARP答复)

编写脚本

1.Scapy中ARP的请求和答复

>>> ls(ARP)
hwtype     : XShortField                         = (1)
ptype      : XShortEnumField                     = (2048)
hwlen      : FieldLenField                       = (None)
plen       : FieldLenField                       = (None)
op         : ShortEnumField                      = (1)
hwsrc      : MultipleTypeField                   = (None)
psrc       : MultipleTypeField                   = (None)
hwdst      : MultipleTypeField                   = (None)
pdst       : MultipleTypeField                   = (None)
>>> arp = (Ether(dst='FF:FF:FF:FF:FF:FF')/ARP(op=1, pdst
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值