Я знаю, что это год спустя, но в интересах любого, кто рассматривает этот вопрос, ответ заключается в том, что он перехватил пакеты EAPOL, а не пакеты EAP.Использование команды
sniff(filter="ether proto 0x888e", count=4)
0x888e относится к EAPOL в протоколе Ethernet, который требует использования протокола ether, а не протокола WLAN.Я не уверен, что 0888e можно ссылаться на что-либо в wlan proto, но после того, как я сделал почти то же самое, что и op (за исключением замены 'wlan' на 'ether'), я получил
>>> EAP in b[0]
False
Однако когдаЯ ввожу
>>> EAPOL in b[0]
True
Я полагаю, что OP захватил то, что искал его код (2 пакета EAPOL), но он не захватил то, что, как он думал, он искал - 2 пакета EAP.
Edit - Даже когда я заменяю ether на wlan, я все равно придумываю EAP как false и EAPOL как true.