首页 > 解决方案 > 嗅探的mac地址的Python假名

问题描述

我有一个任务,我必须对作为探测请求返回的每个 mac 地址的最后 3 个字节进行假名化。ce:63:be:f5:04:00我的意思是ce:63:be:aa:aa:a1每次我嗅探时都会像这样格式化打印的mac地址。如何在我的 python 脚本中执行此操作?

from scapy.all import *

def PacketHandler(pkt) :
    if pkt.haslayer(Dot11) :
        if pkt.type == 0 and pkt.subtype == 4 :
            print("Client with Mac: %s probing for SSID: %s" % (pkt.addr2, pkt.info))

sniff(iface="wlan1mon", prn = PacketHandler)

标签: pythonscapypacketpacket-sniffersprobe

解决方案


你可以使用 Scapy 的RandMAC()

>>> a = "aa:bb:cc:00:11:22"
>>> a[:9] + str(RandMAC())[:8]
'aa:bb:cc:c5:ab:23'

或者只是自己制作随机化。如果您不知道 Python 中的字符串切片,请查看:https ://docs.python.org/3/tutorial/introduction.html#strings


推荐阅读