我有一些代码可以扫描无线数据包并显示每个数据包的mac地址。我想做的是有一个mac地址的文本文件,当文件中的一个地址在无线扫描中被提取时,代码会用消息提醒我。我想不出一种方法来实现这一点,这里是无线扫描的代码,下面是文本文件的示例
import sys
from scapy.all import *
devices = set()
def PacketHandler(pkt):
if pkt.haslayer(Dot11):
dot11_layer = pkt.getlayer(Dot11)
if dot11_layer.addr2 and (dot11_layer.addr2 not in devices):
devices.add(dot11_layer.addr2)
print dot11_layer.addr2
sniff(iface = sys.argv[1], count = int(sys.argv[2]), prn = PacketHandler)
下面是文本文件的示例
00:11:22:33:44:55
AA:BB:CC:DD:EE:FF
创建一个从.txt读取的函数,并将每一行(匹配MAC地址)存储在列表中
然后检查packetHandler函数,如果mac if在这个列表中。 这里您有两个选择:
最后,我将建议您使用真正的DBMS,这将比读取txt文件更有效
编辑
要回答您的评论:
修改getListMac函数以将信息存储在字典中
下面是一个示例,假设您使用“-”作为MAC-Time-Username之间的分隔符
按如下方式访问字典中的数据:
相关问题 更多 >
编程相关推荐