Erfassen von mehr WLAN-Frames als Senden und Empfangen von Ethernet-Frames

655
user2862333

Ich versuche zu ermitteln, ob ein Computer, der WLAN-Frames in einem 802.11n-Netzwerk aufnimmt, dies richtig macht.

Ich mache das, indem ein Computer (1) Datenverkehr generiert, indem er einige Dateien herunterlädt und den erzeugten Datenverkehr erfasst. Der andere Computer (2) erfasst den vom Computer (1) erzeugten WLAN-Verkehr. Anscheinend kann ich nur auf dem Computer (1) Datenverkehr im Ethernet-Format speichern (obwohl er über meine drahtlose Schnittstelle gesendet wird). Computer (2) empfängt Datenverkehr auf der drahtlosen Monitorschnittstelle mit dem Verbindungstyp IEEE802_11_RADIO.

Das funktioniert bis zu einem gewissen Grad. Nach einiger Zeit sieht der Computer (1) folgendes (beliebige Zahlen):

tshark -r /tmp/testcap -Y "eth.dst==[mac NIC] or eth.src==[mac NIC]" | wc -l 

gibt 3757 Pakete.

Computer (2) sieht Folgendes:

tshark -r /tmp/ctrlcap -Y "wlan.sa==[mac NIC] or wlan.da==[mac NIC] or wlan.ra==[mac NIC] or wlan.ta==[mac NIC]" | wc -l 

gibt 7234 Pakete.

Man könnte sich vorstellen, dass die Anzahl der Pakete die gleiche wäre, aber die Anzahl der Pakete scheint sich sehr zu unterscheiden.

Ich habe nach einer Erklärung dafür gesucht und bin auf eine sogenannte MSDU-Aggregation gestoßen ( http://en.wikipedia.org/wiki/Frame_aggregation ). Wenn ich es richtig verstehe, würde dies jedoch bedeuten, dass die Anzahl der 802.11-Pakete auf Computer (2) niedriger wäre als die Anzahl der Ethernet-Pakete auf Computer (1), was überhaupt nicht der Fall ist.

Könnte jemand dieses Verhalten erklären? Wäre es möglich zu überprüfen, ob ich die richtige Anzahl von Paketen auf eine andere Weise erfasst habe?

0

1 Antwort auf die Frage

1

Ich mache das, indem ein Computer (1) Datenverkehr generiert, indem er einige Dateien herunterlädt und den erzeugten Datenverkehr erfasst. Der andere Computer (2) erfasst den vom Computer (1) erzeugten WLAN-Verkehr. Anscheinend kann ich nur auf dem Computer (1) Datenverkehr im Ethernet-Format speichern (obwohl er über meine drahtlose Schnittstelle gesendet wird).

So zitieren Sie die Seite der Wireshark-Wikis zur Erfassung des WLAN-Verkehrs :

Wenn Sie sich nicht im Überwachungsmodus befinden, erfasst der Adapter nur Datenpakete. Möglicherweise müssen Sie den Adapter in den Überwachungsmodus versetzen, um Verwaltungs- und Steuerungspakete zu erfassen. Wenn sich der Monitor nicht im Überwachungsmodus befindet, liefert der Adapter möglicherweise Pakete mit falschen Ethernet-Headern anstelle von 802.11-Headern und liefert möglicherweise keine zusätzlichen Informationen auf der Funkschicht, z. B. Datenraten und Signalstärke. Sie müssen möglicherweise betriebssystemabhängige und adaptertypabhängige Vorgänge ausführen, um den Überwachungsmodus zu aktivieren. Informationen dazu finden Sie weiter unten.

Der wichtigste Teil des Zitats lautet hier: "Wenn der Monitor nicht im Überwachungsmodus ist, liefert er möglicherweise Pakete mit falschen Ethernet-Headern anstelle von 802.11-Headern".

Auf einem Computer (1) erfassen Sie wahrscheinlich nicht im Überwachungsmodus. Auf diesem Computer können Sie möglicherweise im Überwachungsmodus keine Aufnahmen machen. WinPcap und damit Wireshark unterstützen den Überwachungsmodus nicht. Wenn Sie Windows ausführen, werden 802.11-Header nur angezeigt, wenn Sie einen AirPcap-Adapter haben (getrennt vom 802.11-Adapter, über den die Pakete übertragen werden).

Computer (2) empfängt Datenverkehr auf der drahtlosen Monitorschnittstelle mit dem Verbindungstyp IEEE802_11_RADIO.

Auf diesem Adapter wird wahrscheinlich im Überwachungsmodus aufgenommen.

Der Schlüsselteil des Zitat von Wireshark Wiki lautet "Wenn der Monitor nicht im Überwachungsmodus ist, werden möglicherweise nur Datenpakete erfasst. Möglicherweise müssen Sie den Adapter in den Überwachungsmodus versetzen, um Verwaltungs- und Steuerungspakete zu erfassen." Dies bedeutet, dass beim Capture auf Computer (2) möglicherweise keine Datenpakete angezeigt werden, das Capture auf Computer (1) jedoch wahrscheinlich nicht, sodass das Capture auf Computer (2) möglicherweise mehr Pakete enthält.

Versuchen Sie es zum Beispiel:

tshark -r /tmp/ctrlcap -Y "wlan.fc.type == 2 and (wlan.sa==[mac NIC] or wlan.da==[mac NIC] or wlan.ra==[mac NIC] or wlan.ta==[mac NIC])" | wc -l 

so dass Sie Nicht-Datenpakete wie Beacon-Frames beim Zählen von Paketen auf dem Computer (2) eliminieren .