PCAP ファイル形式とは?
.pcap は、ネットワークトラフィックの監視に使用されるバイナリファイル形式です。Wireshark などの「スニッファー」がライブパケットデータをキャプチャし、それを .pcap ファイルに保存します。PCAP ファイルを使用すると、リアルタイムモードとは対照的に、特定のキャプチャセッションのネットワークトラフィックをオフラインモードで検査できます。ネットワークトラフィックの分析と監査は、ネットワークパフォーマンスの最適化やサイバー攻撃の防止を促進する不可欠な慣行です。
この形式は libpcap/tcpdump プロジェクトに由来し、パケットキャプチャ保存の事実上の標準となっています。各ファイルは 24 バイトのグローバルヘッダーで始まり、そのマジックナンバー(リトルエンディアンのバイト順で D4 C3 B2 A1)がファイルを識別し、読み取りツールにバイト順を通知します。公式の MIME タイプは application/vnd.tcpdump.pcap です。より新しい後継形式である .pcapng は、複数のインターフェース、メタデータブロック、およびコメントのサポートを追加しています。Wireshark は開く際に両方の形式を自動検出します。
スニッファーとは何ですか?
スニッファーは、ネットワークトラフィックをキャプチャして分析できるソフトウェアツールの一種です。このツールは、ネットワークインターフェースを「プロミスキャス(無差別)」モードに切り替えることで、特定のネットワーク上のトラフィックを「傍受」し、そのインターフェース宛てではないデータを含むすべてのトラフィックを表示できるようにします。ルーターやネットワークに接続されたコンピュータでスニッファーを実行する場合、プロミスキャスモードは必要ありません。「スニッファー」は、ネットワークトラフィックの監視に使用される電子機器を指すこともあります。
Wireshark
Wireshark は、Windows、Linux、および macOS で利用可能な無料のオープンソーススニッファーツールです。その豊富な機能により、プロの IT およびセキュリティチーム、ならびに個人のユーザーによって使用される最も人気のあるネットワークトラフィック分析ツールとなっています。2006 年 5 月に Wireshark に改名されるまでは、Ethereal がこのツールの元の名称でした。コマンドライン版の tshark や古典的な Unix ツールである tcpdump も .pcap ファイルをネイティブに読み書きするため、この形式はプラットフォームを問わず普遍的にサポートされています。
セキュリティと安全性
リスク: MEDIUM.pcap はパッシブなデータであり、実行することはできませんが、機密性が高いです。キャプチャには、クリアテキストのパスワード、セッションクッキー、認証トークン、内部 IP/ホスト名、その他のプライベートなトラフィックが含まれる可能性があります。キャプチャは機密情報として扱い、機密性の高いものを公開オンラインアナライザーにアップロードしないでください。自分が所有していない、または監視の許可を得ていないネットワークでトラフィックをキャプチャすることは違法となる場合があります。また、ファイルが本当にキャプチャであることを確認してください。拡張子が .pcap であっても libpcap/pcapng のマジックバイトと一致しない場合は、ラベルの誤りか別の形式である可能性があります。
形式の詳細
概要PCAP ファイルを開くプログラム
技術的詳細
詳細仕様| ファイル構造 | 24 バイトのグローバルヘッダーに続き、16 バイトのパケットごとのヘッダーと生のキャプチャフレームデータを持つ連続したパケットレコード |
| マジックナンバー(リトルエンディアン) | バイトオフセット 0 の 0xD4C3B2A1。ファイルを識別し、読み取りツールにリトルエンディアンのバイト順を通知する |
| マジックナンバー(ビッグエンディアン) | バイトオフセット 0 の 0xA1B2C3D4。キャプチャマシンがビッグエンディアンのバイト順で書き込む場合に使用される |
| ナノ秒解像度バリアント | マジックナンバー 0x4D3CB2A1 (LE) または 0xA1B23C4D (BE) は、タイムスタンプがマイクロ秒ではなくナノ秒で保存されているファイルを示す |
| タイムスタンプのエンコーディング | パケットごとに 2 つの 32 ビット整数:Unix エポックからの秒数とマイクロ秒(またはナノ秒精度のバリアントではナノ秒) |
| Snaplen フィールド | パケットごとに保存される最大バイト数を制限する 32 ビットのグローバルヘッダーフィールド。デフォルトのキャプチャ値は 65535 バイト |
| ネットワーク(リンクレイヤータイプ)フィールド | データリンクレイヤーを識別するグローバルヘッダー内の 32 ビットコード:1 = Ethernet、105 = IEEE 802.11 Wi-Fi、113 = Linux cooked capture |
| パケットごとのヘッダーフィールド | ts_sec、ts_usec/ts_nsec、incl_len(実際に保存されたバイト数)、orig_len(元のネットワーク上のパケット長) |
| MIME タイプ | application/vnd.tcpdump.pcap |
| バイト順の検出 | 完全に自動。ツールはオフセット 0 のマジックナンバーを読み取り、ユーザーの入力なしでエンディアンを決定する |
| 後継形式 | .pcapng (PCAP Next Generation) は、複数インターフェースのサポート、メタデータブロック、パケットコメント、および強化されたパケットレコードを追加 |
| 圧縮 | この形式は設計上非圧縮です。ファイルは通常、保存や転送のために .pcap.gz (gzip) または .pcap.xz として配布される |
| 主なキャプチャツール | tcpdump(コマンドライン、Unix/Windows)、tshark(クロスプラットフォームのコマンドライン)、Wireshark(GUI) |
| ファイルサイズ制限 | 形式による制限はありません。オペレーティングシステムのファイルシステム制限と利用可能なストレージによってのみ制限される |
| リリース日 | Early 1990s (libpcap/tcpdump); IETF draft standard for the on-disk format |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | datatracker.ietf.org |
PCAP の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。PCAP ファイルについて最初の質問をしてみましょう。
よくある質問
PCAP ファイルを開くにはどうすればよいですか?
.pcap と .pcapng の違いは何ですか?
.pcap と .cap の違いは何ですか?
.cap は Microsoft Network Monitor や一部のネットワーク以外のプログラムでも使用されるため、少し曖昧な場合があります。