問題タブ [pcap-ng]
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.
cross-platform - Macで作成されたバイトシーケンス0a0d0d 0aの奇妙なpcapヘッダー?
Macで作成されたPCAPファイルがあります。これはmergecap
、Appleのlibpcapを使用してMacで解析できますが、Linuxシステムでは解析できません。結合されたファイルには、 pcapファイルで一般的なイントロの0a 0d 0d 0a 78 00 00 00
前に含まれる追加の16バイトのヘッダーがあります。4d 3c 2b 1a
これが16進ダンプです:
誰かがこれが何であるか知っていますか?または、libpcapを使用してLinuxシステムで読み取るにはどうすればよいですか?
python-2.7 - Windows 7 で Python 2.7.x 用の libpcap をビルドする
私はいくつかの異なることを試し、この質問に対する答えを探して多くのフォーラムをクロールしました.
私の目標は、Python を使用して、wireshark .pcap-ng トレース ファイルを単純に解析することです。私が収集できることから、Python またはおそらく WinCap (PyCapy?) 用の libpcap ラッパーが必要なようです。
私は比較的 Python に慣れていないので、このモジュールのインストール方法について何かアドバイスがあれば教えてください。以前、32 ビット バージョンの Python をインストールし、win32 インストーラーを見つけて、.pcap ファイルを解析できましたが、.pcapng ファイルを解析できるようにしたいと考えています。みんなありがとう、〜カイト
ffmpeg - Wireshark キャプチャから RTP パケット固有のフィールドを抽出する方法
PCAPNG ファイルがあり、そこから RTP パケットを取得する必要があります。具体的には、RTP パケットの 1 つが次のようになります...
フレーム N: ワイヤ上の X バイト...
- イーサネット II、ソース: ...
- IPv4、ソース: ...
- TCP、送信元ポート: rstp ...
- RTSP インターリーブ フレーム、チャネル: 0x02、163 バイト
- リアルタイム トランスポート プロトコル
...そして、各パケットから必要なものは...
- RTSP インターリーブ フレームからのチャネル
- RTSP インターリーブ フレームからの長さ
- RTP からのペイロード
...このデータを使用して、オーディオ ファイルとビデオ ファイルを再作成し、ローカル ペイロードから完全なビデオを再構築します (再生はストリーミングではありません)。
どちらかを使用してRTPパケットを正常に取得できます...
tshark -r my.pcap -R -T フィールド -e rtp.payload -w rtp.out
また...
tshark -r my.pcap -R -T フィールド -e rtp.payload > rtp.out
...しかし、私が抱えている問題は、最初の方法では必要なものがすべて保存されることですが、何らかの理由で余分なデータ (つまり、RTP ペイロードと RTSP インターリーブ フレームの内容以上のもの) が奇妙な場所に追加されることです...テストに必要なデータを生成するためのプログラムを作成できません。いくつかの正規表現を使用して余分なデータをすべて削除しようとしましたが、他の有効なシナリオと重複するシナリオが多すぎます。
2 番目の方法は、必要なインターリーブされたプロパティを含まない RTP ペイロードのみを提供します (各バイト間にコロンを含む 16 進数を生成しますが、これは簡単に処理できます)。すべての RTSP インターリーブ フレーム プロパティを取得するために別の呼び出しを行うことができたとしても、回避したい区切り記号/区切り記号を使用して各パケットを識別することにより、2 つの出力を結合する必要があります (tshark を取得できませんでした)。それを行うには...)。
tshark 読み取りフィルターを調べたところ、必要なことを実行できるはずですが、これまでのところ、それを理解できていません。これは、サンプル データを作成し、再生に必要なデータをフォーマットするロジックを記述するためだけに行っていることに注意してください。最終的に、同僚の 1 人がストリーミング クライアントを変更して、データを適切な形式でキャプチャする予定です (そのため、データを変更せずに ffmpeg を介してデータを実行することができます)。必要なフォーマットを作成する方法についてのアイデアはありますか?
python - PcapNG トレース ファイルから WiFi プロトコル タイプを抽出する方法はありますか?
WiFi パケットを分析するために PcapNG パーサー (Python) を構築しています。リンク
の種類を表示できるようにしたいと考えています(例: プロトコル バリアント: 802.11b、802.11a、802.11g、802.11n)。
ただし、PcapNG 形式の定義を読むと、次のことしか言及されていません。
- LINKTYPE_IEEE802_11 105 IEEE 802.11 (ワイヤレス)
- LINKTYPE_IEEE802_11_RADIO 127 802.11 プラス BSD 無線ヘッダー
PcapNG トレース ファイルから WiFi プロトコル タイプを抽出する方法はありますか?
python - PcapNG ファイルの 802.11 データ フレーム形式を理解できません
Wireshark によって作成されたPcapNGファイルがあり、これを使用して解析しようとしていますpython-pcapng
。
ただし、 から受け取った出力を802.11 データ フレーム形式と調整する方法がわかりませFileScanner
ん。packet_payload_info
これは私が得る出力です(私のコードは一番下にあります):
packet_payload_data
802.11 データ フレームのどこに収まるか教えていただけますか?*
- つまり、最初のバイトはフレームのどこに収まりますか
Python コード:
編集1:
いくつかを印刷すると、すべてEnhancedPacket
がpacket_payload_data
で始まることに気付き00 00 19 00 6F 08 00 00
ます。さて、はデータ フレーム マーカーです。これは、ペイロード データだけでなく、フレーム制御ビットも含まれて08
いるのではないかと疑っています。packet_payload_data
merge - Wireshark/mergecap で 2 つのファイルをマージした後にパケットが見つからない
2 つの pcapng ファイルがあります。それぞれが、同じルーターで異なるインターフェイスで発生したトラフィック キャプチャです。
ルーターのプロトコルの動作をグローバルに調査したいので、これら 2 つのファイルを 1 つにまとめることを考えました。これにより、異なるプロトコルを調査しやすくなります。
次のようなツールmergcapを使用しました。
mergecap のマニュアルによると、ファイルは各 file1.pcapng および file2.pcapng 内の各パケットのタイムスタンプに基づいて時系列にマージされます。
私が今直面している問題は、マージが行われた後、file1.pcapng にあったパケットが new_file.pcapng の同じタイムスタンプで見つからないことです。
誰かが前にこのようなことをしたことがありますか? 私はmergecap 2.0.2を使用しています。
ありがとう!
ルーカス