Scapy を使用して Wi-Fi クライアント リクエスト フレームをキャプチャしています。クライアントの MAC アドレスと要求された SSID アドレスだけに関心があります。私は次のようなことをします。
sniff(iface="mon0", prn=Handler)
def Handler(pkt):
if pkt.hasLayer(Dot11):
if pkt.type == 0 and pkt.subtype == 4:
print pkt.addr2 + " " + pkt.info
私の問題は、処理能力が限られている組み込みデバイスでこれを行っていることです。スクリプトを実行すると、プロセッサの使用率が 100% 近くまで上昇します。これは、Scapy がスニッフィングして Python コードに渡す膨大な量のフレームのためだと思います。また、sniff コマンドで適切なフィルターを使用できれば、使用されていないフレームの多くを排除して、プロセッサの負荷を軽減できると思います。
これを行うために使用できるフィルターステートメントはありますか?