PCAPファイルがあります
いいえ、しません。pcap-ngファイルがあります。
これは、Appleのlibpcapを使用してMacで解析できます
libpcap 1.1.0以降では、一部のpcap-ngファイルも読み取ることができます(pcap APIでは、ファイルに1つのリンクレイヤーヘッダータイプ、1つのスナップショット長、および1バイトの順序しか許可されないため、すべてのセクションにあるpcap-ngファイルのみが同じバイト順序とすべてのインターフェイスのリンクレイヤーヘッダータイプとスナップショットの長さが同じです)、OS X Snow Leopard以降は1.1.xに基づくlibpcapを備えているため、これらのファイルを読み取ることができます。
(OS X Mountain Lion以降では、libpcapを微調整してpcap-ngファイルも書き込める-P
ようにしています。このフラグにより、tcpdumpはpcap-ngファイルを書き出すことができ、一部の送信パケットには、プロセスIDとプロセス名を示すテキストコメントが添付されます。それらを送信したプロセス--pcap-ngを使用すると、テキストコメントをパケットに添付できます。)
ただし、Linuxシステムでは解析できません
Linuxシステムにはおそらく古いlibpcapバージョンがあります。(注:libpcapパッケージを「libpcap0.8」と呼んでいるDebianおよびDebian派生物と混同しないでください。まだlibpcap 0.8を使用していません。)
結合されたファイルには、0a 0d 0d 0a 78 000000を含む追加の16バイトヘッダーがあります
pcap-ngファイルは、4バイトのブロックタイプと4バイトの長さで始まる一連の「ブロック」であり、どちらもそれらを書き込んだホストのバイト順です。
それらは「セクション」に分割され、それぞれが「セクションヘッダーブロック」(SHB)で始まります。SHBのブロックタイプは0x0a0d0d0aです。これは、バイト順序に依存せず(SHBを読み取るためにバイト順序を知る必要がないため)、キャリッジリターンとラインフィードが含まれます(ファイルの場合、たとえば、UN * XシステムとWindowsシステムの間で、テキストファイルを転送していると見なし、行末を「役立つ」ように修正しようとするツールによって転送された場合、SHBマジックナンバーが破損し、ファイルがそのように転送されることによって破損します。これはショックインジケーターに相当すると考えてください)。
0x78000000は長さです。それに続くのは「バイトオーダーマジック」フィールドです。これは0x1A2B3C4D(pcapファイルの0xA1B2C3D4マジックナンバーとは異なります)であり、pcapマジックナンバーと同じ目的を果たします。
- これにより、コードはファイルがpcap-ngファイルであることを識別できます。
- これにより、コードでセクションのバイト順序を決定できます。
(いいえ、pcapマジックナンバーを探す前に長さを知る必要はありません。マジックナンバーを見つけたら、長さをチェックして少なくとも28であることを確認し、以下の場合は以下であることを確認します。 28、ブロックが無効であるとして拒否します。)
誰かがこれが何であるか知っていますか?
(リトルエンディアン)pcap-ngファイル。
または、libpcapを使用してLinuxシステムで読み取るにはどうすればよいですか?
新しいバージョンのlibpcapを備えたLinuxシステムで読んでください(これは、使用しているディストリビューションの新しいバージョンを意味する場合もあれば、1.1.0以降のバージョンのlibpcapを取得する場合は単に更新を行うことを意味する場合もあります) 、WiresharkまたはTShark(キャプチャファイルを読み取るための独自のライブラリがあり、ネイティブのpcapおよびpcap-ng形式、および他の多くの形式をサポートしています)で読み取るか、tcpdump.orgから新しいバージョンのlibpcapをダウンロードします。 、ビルドしてインストールしてから、システムに付属しているバージョンではなく、そのバージョンのlibpcapを使用してpcap-ngファイルを読み取るために必要な他のツールをビルドします。
新しいバージョンのWiresharkは、mergecapなどのツールを含め、デフォルトでpcap-ngファイルを書き込みます。フラグ引数が。のpcapファイルを書き込むように設定できます-F pcap
。