小菜之前的文章给大家用c#制作了一个基于ICMP协议的扫描工具,这篇文章给大家用python做一个基于ARP协议的扫描工具。本篇文章当然也是很简单的啦!!!也是十多行代码搞定的呢!大家赶紧夸一下小菜吧~~先给大家看一下运行结果吧!(如图1)

图1
0x01 ARP扫描原理(这个还是得给大家说一下的呢)
- 发送ARP请求的以太网数据帧给以太网上的每个主机,即广播(以太网源地址填全1)。ARP请求帧中包含了目的主机的IP地址。
- 目的主机收到了该ARP请求之后,会发送一个ARP应答,里面包含了目的主机的MAC地址。
- 如果目的机器回复我们了,那就表示它存在,反之,它不存在。
0x02 工欲善其事必先利其器
- python 环境(这个必须安装噢)
- scapy是一个python程序,使用户能够发送,嗅探和剖析并伪造网络数据包。此功能允许构建可以探测,扫描或攻击网络的工具。这个库非常强大,非常方便。 这个也是必须安装的。安装命令:pip install scapy
- 如果在windows上使用的话,需要在安装一个Npcap的程序。这大家搜索一下就可以找到了呢
0x03 扫描逻辑编写
代码我还是截图给大家看,主要是这里排版很难看。代码如图2:

图2
图2中的代码注释给大家写清楚了,具体的功能,大家自己修改就可以了呢。
0x04 运行
图1就是小菜我运行结果呢。大家可以把自己的名字写上去!!!