python制作ARP欺骗工具

前面给大家做一些扫描工具,今天小菜给大家带来了ARP欺骗工具。当然啦,工具实现起来也是几行代码呢!(是不是依旧如此简单)。这个可以让目标器断网,还可以把数据包转到自己机器上,自己机器开启转发数据包功能,这样就可以嗅探目标器的数据喽。大家不要那这个干坏事儿呢!!!图1是运行截图,当然啦网卡信息可以自己去掉!我用抓包工具抓到了自己手机请求的数据包呢。

图1

0x01 ARP欺骗原理(这个还是需要普及一下,大神跳过)

ARP欺骗的运作原理是由攻击者发送假的ARP数据包到网上,尤其是送到网关上。其目的是要让送至特定的IP地址的流量被错误送到攻击者所取代的地方。因此攻击者可将这些流量另行转送到真正的网关(被动式数据包嗅探,passive sniffing)或是篡改后再转送(中间人攻击,man-in-the-middle attack)。攻击者亦可将ARP数据包导到不存在的MAC地址以达到阻断服务攻击的效果,例如netcut软件。

0x02 工欲善其事必先利其器(当然啦,肯定要准备工具呢)

  1. python环境(这个就不用多说啦)。
  2. scapy(这次还用它,安装命令:pip install scapy),这个库封装了好多复杂的东西,咱们直接用就行。
  3. 还是提醒一句windows上用的话记得装上Npcap
  4. 如果想要监听受害者的数据包,记得把本机的数据包转发功能打开。
windows:
服务 ==> 启用 Routing and Remote Access 服务
linux:
将文件/etc/sysctl.conf里面的net.ipv4.ip_forward=1的注释去除
执行命令sysctl -p

0x04 ARP欺骗步骤(可跳过直接看代码)

假设在一个局域网里,只有三台主机A、B、C,且C是攻击者。

  1. 攻击者聆听局域网上的MAC地址。它只要收到两台主机洪泛的ARP Request,就可以进行欺骗活动。
  2. 主机A、B都洪泛了ARP Request.攻击者现在有了两台主机的IP、MAC地址,开始攻击
  3. 攻击者发送一个ARP Reply给主机B,把此包protocol header里的sender IP设为A的IP地址,sender mac设为攻击者自己的MAC地址。
  4. 主机B收到ARP Reply后,更新它的ARP表,把主机A的MAC地址(IP_A, MAC_A)改为(IP_A, MAC_C)。
  5. 当主机B要发送数据包给主机A时,它根据ARP表来封装数据包的Link报头,把目的MAC地址设为MAC_C,而非MAC_A。
  6. 当交换机收到B发送给A的数据包时,根据此包的目的MAC地址(MAC_C)而把数据包转发给攻击者C。
  7. 攻击者收到数据包后,可以把它存起来后再发送给A,达到偷听效果。攻击者也可以篡改数据后才发送数据包给A,造成伤害。

0x05 编写代码逻辑

这次还是给大家截图,显示的格式看起来舒服。如图2

图2

0x06 运行

代码不多,运行如图1,没有什么需要显示的,所以小菜把自己的名字挂了上去。停止的话直接ctrl+c即可。再次告诉大家 不要做坏事儿噢!!!

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();