WiFi探针是一种网络设备,它可以捕获并收集WiFi网络中的数据包并进行分析。在接下来的文章中,我们将探讨WiFi探针所能收集到的数据以及如何获得这些数据。
一、MAC地址数据
当设备连接到WiFi网络时,会向网络发送数据包。这些数据包中包含了发送此请求的设备的MAC地址。WiFi探针通过收集这些数据包来获取所有设备的MAC地址。这些MAC地址可以被用来识别设备并显示出该设备在网络中的活动情况,例如设备的使用率和通信数据流量。
from scapy.all import *
def sniff_device(interface):
sniff(iface=interface, prn=process_packet, count=1000)
def process_packet(packet):
if packet.haslayer(Dot11):
if packet.addr2 and packet.addr2 not in devices:
devices.append(packet.addr2)
二、信号强度数据
WiFi探针能够收集被其探测到的所有WiFi设备的信号强度。这些信号强度数据可以被用来判断设备在网络中的位置和运动情况,例如当设备移动时,信号强度会随之变化。
from scapy.all import *
def sniff_signal(interface):
sniff(iface=interface, prn=process_packet, count=1000)
def process_packet(packet):
if packet.haslayer(Dot11):
if packet.addr2:
signal = packet.dBm_AntSignal
if signal not in signals:
signals.append(signal)
三、数据包类型数据
WiFi探针也可以收集被其控制的设备所发送和接收到的所有数据包。通过对这些数据包的分析和分类,可以了解设备的使用情况和活动规律,例如哪些设备更常连接到某一个特定的WiFi网络。
from scapy.all import *
def sniff_packet(interface):
sniff(iface=interface, prn=process_packet, count=1000)
def process_packet(packet):
if packet.haslayer(Dot11):
if packet.addr2:
packet_type = packet.type
if packet_type not in packet_types:
packet_types.append(packet_type)
四、设备名称数据
如果WiFi探针使用了设备名称解析服务(如mDNS或UPnP),则它可以通过使用这些服务来识别更多设备并获取它们的设备名称。这些数据将有助于进行更精确的设备识别和网络分析。
from scapy.all import *
def sniff_device_name(interface):
sniff(iface=interface, prn=process_packet, count=1000)
def process_packet(packet):
if packet.haslayer(DNS) and packet.qd:
if packet.qd.qtype == 12:
device_name = packet.qd.qname[:-1].decode('UTF-8')
if device_name not in device_names:
device_names.append(device_name)
总结:通过WiFi探针的收集和分析,我们可以了解WiFi网络中的设备活动,设备移动情况,连接和使用情况。这些信息对于网络管理和安全审计是非常有帮助的。但这些数据也可能包含个人信息,因此收集和使用数据需要符合相关法律法规并进行充分的隐私保护。