如何使用Scapy确定无线加密类型?

2024-06-16 09:27:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一项关于无线网络的安全研究,其中包括编写一个小工具来扫描附近的Wifi接入点。根据找到的加密类型,它将继续进行其他一些安全测试。

到目前为止,我有python代码,它使用Scapy枚举不同的访问点,以及它们是否启用了加密(Enc=Y或Enc=N)。代码是:

def sniffAP(p):
    if ( (p.haslayer(Dot11Beacon) or p.haslayer(Dot11ProbeResp))
                 and not aps.has_key(p[Dot11].addr3)):
        ssid       = p[Dot11Elt].info
        bssid      = p[Dot11].addr3
        channel    = int( ord(p[Dot11Elt:3].info))
        capability = p.sprintf("{Dot11Beacon:%Dot11Beacon.cap%}\
                {Dot11ProbeResp:%Dot11ProbeResp.cap%}")

        # Check for encrypted networks
        if re.search("privacy", capability): enc = 'Y'
        else: enc  = 'N'

我想要的是使用python和scapy区分不同加密类型(WEP、WPA、WPA2、WPS)的能力。有什么想法吗?


Tags: 工具代码info类型ifenccapability无线网络