🎯要点

🎯创建 ARP 伪程序 | 🎯数据包嗅探 | 🎯查找所有wifi连接设备和断开链接 | 🎯测试TCP端口

网络工具解释

Scapy是Python2和Python3都支持的库。 它用于与网络上的数据包进行交互。 它具有多种功能,通过这些功能我们可以轻松伪造和操纵数据包。 通过 scapy 模块,我们可以创建不同的网络工具,如 ARP Spoofer、网络扫描仪、数据包转储器等。该模块可用于创建与网络安全相关的更高级的工具。

网络扫描是指扫描我们所连接的整个网络,并尝试找出连接到我们网络的所有客户端。 我们可以使用 IP 和 MAC 地址来识别每个客户端。 我们可以使用 ARP ping 来找出网络中活动的系统。

ARP():该函数在 scapy 模块中定义,允许我们创建 ARP 数据包(请求或响应)。默认情况下,如果我们调用它,它会为我们创建一个 ARP 请求数据包。

import scapy.all as scapy

request = scapy.ARP()

现在我们已经创建了一个ARP请求包。程序的输出将是这样的——

rootakali: /Desktop\\# python3 networkscanner.py
ARP who has 0.0 .0 .0 says 192.168 .215 .144
root@kali: /Desktop\\#

show() 方法:该方法与summary() 方法非常相似。它提供了有关数据包的更多详细信息。该函数的用法也与summary()方法非常相似。

import scapy.all as scapy

request = scapy.ARP()
print(request.show())

rootakali: /Desktop\\# python3 networkscanner.py
###[ ARP ]###
hwtype =0x1
ptype  =IPv4
hwilen = None
plen   = None
op     = who-has
hwsrc  =00:0c:29:a5:94:cf
psrc   =192.168.215.144
hwdst  =00:00:00:00:00:00
pdst   =0.0.0.0

None
rootolkali: /Desktop\\#

ls() 函数:该方法存在于 scapy 类中。通过使用此方法,我们可以看到可以为特定数据包设置哪些字段。

在我们的示例中,我们将创建一个 ARP 数据包,并在 ls() 函数的帮助下,我们将看到该数据包的可用字段有哪些。

import scapy.all as scapy

request = scapy.ARP()
print(scapy.ls(scapy.ARP()))

root@kali:!/Desktop# pyton3 networkscanner.py
hwtype :XShortField           = 1        (1)
ptype  :XShortEnumField       = 2048     (2048)
hwlen  :FieldLenField         = None     (None)
plen   :FieldLenField         = None     (None)
op     :ShortEnumField        = 1        (1)
hwsrc  :MultipleTypeField     ='ac:2b:6e:2a:e5:ae' (None)
psrc   :MultipleTypeField     ='172.17.222.138' (None)
hwdst  :MultipleTypeField     = None (None)
pdst   :MultipleTypeField     = None (None)
None
root@kali:~/Desktop#

创建网络扫描仪的步骤

  1. 使用 ARP() 方法创建 ARP 数据包
  2. 使用变量设置网络范围。
  3. 使用 Ether() 方法创建以太网数据包。