Wie viele Bytes eines WLAN-Pakets muss ich untersuchen, um MAC-Adressen zu extrahieren?

1

Wie viele Bytes eines 802.11 (WLAN) -Pakets muss ich untersuchen, um in der Lage zu sein, Quell-, Ziel-, Empfänger- und Senderadresse aus dem Header zu extrahieren?

Dieses Bild zeigt, dass die Header-Länge eines WLAN-Pakets 20 Byte beträgt. Es scheint jedoch eine Präambel und einen PLCP-Header zu geben. Das Betrachten von erfassten Paketen mit Wireshark zeigt, dass es einen Radiotap-Header (34 oder 37 Byte in meiner Datei) und einen MAC-Header von mehr als 20 Byte gibt.

Wie viele Bytes (das absolute Minimum) muss ich erfassen, um die vier MAC-Adressen im MAC-Header (immer) extrahieren zu können (802.11g / n)?

user2862333
quelle

Antworten:

2

Dieses Bild zeigt, dass die Header-Länge eines WLAN-Pakets 20 Byte beträgt.

Nein, es deutet darauf hin , dass der WLAN - Header ist 30 Bytes lang. Genauer gesagt, ist es auf bis zu 30 Byte lang, wenn auch nicht alle Pakete , alle vier MAC - Adressfelder haben, so dass der Header kann kürzer sein. (Bei QoS- und 802.11n-HT-Kontrollfeldern und späteren HT-Kontrollfeldern kann es auch länger sein, aber diese kommen nach den MAC-Adressen.)

Wie Spiff angibt, müssen Sie also mindestens 30 Bytes erfassen, um sicherzustellen, dass Sie alle MAC-Adressen erhalten.

Es scheint jedoch eine Präambel und einen PLCP-Header zu geben.

Diese werden im Capture nicht angezeigt.

Das Betrachten von erfassten Paketen mit Wireshark zeigt, dass ein Radiotap-Header (34 oder 37 Byte lang in meiner Datei) vorhanden ist.

Ja, wenn Ihre Pakete einen Radiotap-Header haben, müssen Sie diesen zusätzlich zum 802.11-Header erfassen, und die Länge des Radiotap-Headers ist, wie Spiff bemerkt, abhängig von der Hardware, dem Treiber und der Art und Weise, wie das Paket empfangen wird oder übertragen.

Also, WENN es möglich ist , dies zu tun, sollten Sie erfassen nur mit den 802.11 - Header. Dies ist möglicherweise möglich oder nicht möglich, je nachdem, welches Betriebssystem Sie verwenden (* BSD und OS X sollten Sie nur mit 802.11-Headern erfassen, unter Linux erhalten Sie möglicherweise nur Radiotap-Header).

und ein MAC-Header von mehr als 20 Bytes.

Ja, wie angegeben, weist das betreffende Diagramm nicht darauf hin, dass der Header (höchstens) 20 Byte lang ist.


quelle
1

Wählen Sie 802.11 als Schnittstellendatentyp (DLT_IEEE802_11) und erfassen Sie 30 Bytes.

Wenn Sie wirklich die minimale Menge erfassen und Adresse 1 bis Adresse 4 zuverlässig erfassen möchten, sollten Sie den Funk-Metadatenerfassungstyp Radiotap (DLT_IEEE802_11_RADIO) nicht verwenden, da es sich um einen Header mit variabler Länge handelt. Wie lange es dauert, hängt vom Funkgerät und dem Fahrer sowie verschiedenen Aspekten des physischen Sendens und Empfangs des Pakets ab.

Spiff
quelle