📜  使用 Scapy Python查找所有 Wifi 设备(1)

📅  最后修改于: 2023-12-03 15:06:50.945000             🧑  作者: Mango

使用 Scapy Python 查找所有 Wifi 设备

简介

Scapy 是一个强大的 Python 网络工具,它可以让你创建、发送、捕获和解析网络数据包。使用 Scapy Python 可以很容易地查找所有 Wifi 设备。

准备工作

在开始之前,确保你已经安装了 Scapy。

pip install scapy
查找 Wifi 设备

下面是使用 Scapy Python 查找 Wifi 设备的示例代码:

from scapy.all import *
from scapy.layers.dot11 import Dot11

def wifi_devices(pkt):
    if pkt.haslayer(Dot11):
        wifi_mac = pkt.addr2
        if wifi_mac not in wifi_list:
            wifi_list.append(wifi_mac)
            print("Wifi device found: %s" % wifi_mac)

wifi_list = []
sniff(iface="wlan0mon", prn=wifi_devices)
代码说明

使用 Scapy 的 sniff 函数来捕获网络数据包,通过传入参数 prn=wifi_devices 来指定每当捕获到一个数据包就调用函数 wifi_devices 进行处理。

函数 wifi_devices 会检查数据包中是否有 Dot11 层,如果有则获取当前数据包的源设备 MAC 地址,并将其添加到 wifi_list 列表中。列表中存储的就是已发现的所有 Wifi 设备的 MAC 地址。

结论

在本文中,我们通过使用 Scapy Python 来查找所有 Wifi 设备的 MAC 地址。Scapy 是一个功能丰富的工具,它在 Python 中方便地处理网络数据包。你可以利用 Scapy 并结合其它 Python 库来实现更加复杂的网络应用。