python arp攻击_用python实现ARP欺骗

首先介绍一个python第三方库--Scapy,这个库不是标准库,默认是没有的,需要安装,不过在kali-linux里边是默认安装的,

这里我用kali做攻击者,xp做受害者

关于Scapy

Scapy是一个功能强大的交互式数据包操作程序。它能够伪造或解码大量协议的数据包,通过线路发送它们,捕获它们,匹配请求和回复等等。它可以轻松处理大多数经典任务,如扫描,跟踪路由,探测,单元测试,攻击或网络发现(它可以取代hping,85%的nmap,arpspoof,arp-sk,arping,tcpdump,tethereal,p0f等)。它还能在许多其他工具无法处理的其他特定任务中表现良好,例如发送无效帧,注入自己的802.11帧,组合技术(VLAN跳跃+ ARP缓存中毒,WEP加密通道上的VOIP解码,...... )等。

首先我们学习下Scapy的几个函数用法,

getmacbyip----查找ip的Mac地址

get_if_hwaddr----查找网卡的Mac地址

看下图:受害者的ip地址为192.168.122.136,网关是192.168.122.2,攻击者ip:192.168.122.129

1257860-20180827185055835-1582638086.png

1257860-20180827190020196-1682468551.png

关于ARP欺骗

由于局域网的网络流通不是根据IP地址进行,而是根据MAC地址进行传输。所以,MAC地址在A上被伪造成一个不存在的MAC地址,这样就会导致网络不通,A不能Ping通C!这就是一个简单的ARP欺骗。

1257860-20180827191431239-405563583.png

本来受害者是通过将请求发给网关,然后网关去访问外面,这里ARP欺骗是将攻击者Mac地址假装成网关的Mac地址,完成ARP欺骗

了解ARP

1257860-20180827192050526-948453123.png

我们需要用到的是下边5个,

op--- 接收包数(默认为1)

hwsrc--- 仿作的Mac地址(也就是攻击者的Mac地址)

psrc--- 网关的ip地址

hwsrc--- 受害者的Mac地址

pdst --- 受害者的ip地址

1257860-20180827193229688-1945882124.png

因为是以太网,因此要了解下Ether()

1257860-20180827193016802-1738897520.png

三个参数,目的主机MAC地址,攻击者Mac地址,

部分代码:

1257860-20180827193422280-1849265265.png

这里包的地方有个/号

这是将两者连接的意思,例子如下:

1257860-20180827193359468-681728942.png

接下来构造一直发送请求,来认识sendp

sendp(x, inter=0, loop=0, iface=None, iface_hint=None, count=None, verbose=None, realtime=None, return_packets=False, *args, **kargs)

x为包,inter为请求间隔,iface为网络接口

完整代码:

1257860-20180827193934940-435954931.png

这时我们来测试一下

不开启ARP欺骗,ping是畅通的

1257860-20180827194113402-306361709.png

开启后:

1257860-20180827194646536-2093108129.png

1257860-20180827200051933-723141188.png

要想恢复通讯,改一下网关所指的Mac地址

将pack包里边的psrc改为网关Mac :gmac即可

这里仅仅只能让受将害者断网,要想进一步学习

来举个例子

接收受害者的图片

用到的 软件 driftnet

开启ip转发代码

sysctl net.ipv4.ip_forward=1

1257860-20180827200521098-1929270580.png

再输入driftnet,打开窗口

然候在受害者电脑上打开图片链接,即可在driftnet里边显示

快去试试吧!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值