Как использовать Scapy для определения типа беспроводного шифрования?

Я занимаюсь исследованием безопасности беспроводных сетей, которое включает в себя кодирование небольшого инструмента, который сканирует точки доступа Wi-Fi поблизости. Основываясь на типе обнаруженного шифрования, он продолжает некоторые другие тесты безопасности.

До сих пор у меня есть код на 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'

Что я хочу, так это возможность различать разные типы шифрования (WEP, WPA, WPA2, WPS), используя python и scapy. Есть идеи?

Ответы на вопрос(1)

Ваш ответ на вопрос