問題タブ [radiotap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - XChannel、MCS、および VHT フィールドを処理するには、radiotap.py をどのように変更すればよいですか?
Wireshark によって作成された PcapNG トレース ファイルから、802.11 プロトコル バリアントを特定しようとしています ( StackOverflow に関する関連する質問と、 StackOverflow に関する別の関連する質問を参照してください)。
パケットがキャプチャされたインターフェイスのリンク層ヘッダー タイプは LINKTYPE_IEEE802_11_RADIOTAP (127) であるため、radiotap.pyを使用してChannel フィールドを抽出し、802.11 プロトコル バリアントが a、b、または g であるかどうかを確認できます。
ただし、802.11n または 802.11ac を使用しているかどうかを確認するには、XChannel / MCSまたはVHTフィールドにアクセスする必要があります。
これらのフィールドはradiotap.pyでは定義されていません。つまり、 radiotap.pyの機能を拡張する必要があります。parse
私は試してみましたが失敗しました: 配置/構造を間違って設定している (またはその他のあいまいなバグ) と思われ、既存のradiotap.pyコードはあまり役に立ちません。
XChannel、MCS、およびVHTフィールドを認識できるように、 radiotap.pyでどの変更を行う必要があるかを誰かが提案できますか?
サンプルの PcapNG トレース ファイルはこちらにあります。
私のPythonコードは次のとおりです。
その出力は次のとおりです。
linux-device-driver - ath9k で生成された RadioTap ヘッダーの形式が正しくないように見えるのはなぜですか?
Ubuntu 16.04 (4.4 カーネル) で scapy を使用して 802.11 パケットを収集しています。パケットの RadioTap ヘッダーには、次の存在フラグがあります。
RadioTap の説明を考えると、Channel は、ヘッダーと前のフィールドに続く 10 番目のバイト (TSFT の場合は 8 + フラグとレートの場合はそれぞれ 1) から始まると予想されます。チャネルの配置は 2 であるため、パディングは必要ありません。それでも、これはパケットのデコードされていない部分にあるものです。
この場合、チャネル番号は実際にはバイト 18 ~ 19 ('l\t' = 2412) に表示され、どのバイトに dBm 信号強度が含まれているか正確にはわかりません。
誰が私が欠けているかについての考えを持っていますか?
wifi - scapy の RadioTap ヘッダー
scapy でパケットを送受信し、RadioTap ヘッダーを読み取ろうとしています。ワイヤレス アダプタ (およびドライバ) はこれらのヘッダーを処理できますが、取得できないようです。
scapy で通常のパケットを送信するたびに、そのようなヘッダーが含まれていません (したがって、パケットをスニッフィングし、 return でチェックするとpkt.haslayer(RadioTap)
、0
のようにヘッダーを表示できませんpkt[RadioTap].show()
)。RadioTap ヘッダーを使用して明示的にパケットを作成すると (例のように、
pkt = RadioTap()
表示すると、RadioTap ヘッダーを取得できますが、空です。送信して受信した後、まだ何も取得できません。
このような投稿を読んでいます。しかし、RadioTap ヘッダーがデコードされないという問題はありません。何も入っていないだけです。
これが違いを生む場合、私はscapy 2.3.1を使用しています。何か案は?
c - 受信側にパケット (PCAP、WLAN、C) を送信、接続なしで受信
無線で Wi-Fi を使用してドローンを操縦する予定です。ラップトップからドローンにパケットを送信したい。現在、パケットを送信できますが、Wi-Fi カードが監視モードの場合のみです。
Wi-Fi カードが監視モードにならずにパケットを受信するようにヘッダーを設定することは可能ですか。それとも、空気中のすべてのパケットをフィルタリングする必要がありますか?
よろしく、ココスボット。
私のシステム:
送信者: C での送信プログラム用の PCAP を備えた Linux 64 ビット
受信機:R-Pi2
送受信ともにTL-WN722Nを使用しています。
mininet - Mininet/Wifi: Radiotap がキャプチャした RSSI は、ステーション モビリティのシミュレーション時に変化しません
Mininet for Wifiの Python API を使用して、 1 つの AP と 2 つのステーションをシミュレートしています。AP は「0,0,0」で、sta1 は「0,10,0」です。sta2 を '0,50,0' から '0,150,0' まで移動しています。また、Mininet を作成するときに追加の無線を構成しました。次に、別のウィンドウで追加の無線の wlan インターフェイスを監視モードにし、tcpdump/Wireshark を使用して Wi-Fi トラフィックをキャプチャします。
sta2 が 50 ~ 150 メートルの間を移動すると、Radiotap ヘッダーの RSSI が変化することを期待していました。しかし、各局の RSSI は 30dBm と 36dBm に固定されているようです。何が欠けているのですか? SSI が変更されるべきだと思うように変更されないのはなぜですか? mac80211_hwsim または Mininet 自体の何らかの制限によるものですか、それとも私の予想は間違っていますか?
Python のテスト プログラムはここにあり、ping 用にキャプチャされた tcpdump/Wireshark はここにあります。キャプチャでは、調査するパケットを最小限に抑えるためにビーコンを除外していることに注意してください。ファイル サイズが大きいため、関連する 2 つのファイルをダウンロードできる場所へのポインタを提供しました。
python - radiotap ヘッダーの dpkt パケット解析を使用してデータ レートを計算する
pcapy を使用してキャプチャされた特定のパケットのデータ レートを計算する必要があります。dpkt を使用して、次のような radiotap ヘッダーを取得します。
ここで、データ レートにアクセスする必要があります。Radiotap オブジェクトで使用できるレートがこれであると (誤って) 想定していました。ただし、そうではないか、少なくとも 0 または 1 を返すだけです。
では、すでに入手可能な情報からデータ レートを計算するにはどうすればよいdpkt.radiotap.Radiotap
でしょうか。または、情報は実際にはすでに dpkt にありますが、見逃してしまったのでしょうか?