Ausgezeichnete Frage und etwas, das ich auch versucht habe herauszufinden.
Die kurze Antwort lautet, dass die Wireshark-Tools nicht nach BSSID filtern können. Wireshark verwendet pcap, das den Kernel-Linux-Socker-Filter (basierend auf BPF) über das ioctl SO_ATTACH_FILTER verwendet. Es gibt keinen BPF-Filter für BSSID.
Ein anderes Tool, airodump-ng, KANN nach BSSID erfassen, weil es alle 802.11-Frames in den Benutzerbereich weiterleitet und Frames dort dekodiert/filtert. Es funktioniert erstaunlich gut, wenn man bedenkt, dass die Verarbeitung im Benutzerbereich erfolgt.
Aber selbst ein geringfügiges 80211-Netzwerk ist ziemlich laut. Zum Beispiel erfasst mein SOHO in weniger als zwei Minuten 11K Frames; und ich lasse immer noch Frames fallen. Wenn ich alle 80211-Frames für die fünf sichtbaren (aber kleinen!) BSSIDs in meiner Nähe aufzeichne, erhalte ich 141K Frames (104MB) in knapp unter drei Minuten.
Ich plane, einen eingebetteten Frame-Sniffer/Injektor mit EMMC- oder SD-Flash zu erstellen, daher muss ich vorsichtig sein, was die Grenzen angeht.
Also versuche ich, einen benutzerdefinierten BDF-Filter zu schreiben, um nur die lokalen BSSID-Frames zu filtern. Und ich hoffe, ihn so zu erweitern, dass eine große Anzahl der "lauten" Frames verworfen wird - die meisten der Steuer- und Management-Frames können gefiltert werden. Die BSSID-Adressposition im Frame basiert auf den ToDS- und FromDS-Steuerbits.
Wie auch immer, ich hoffe, dass ich ein paar Hinweise zur Lösung gegeben habe. Es könnte sein, dass eine airodump-Benutzerbereichslösung am einfachsten ist.