PCAPNG ファイル形式とは?
.pcapng ファイルには、ネットワーク経由でキャプチャされたデータパケットが PCAP Next Generation (PCAPNG) 形式で保存されています。.pcapng ファイルに保存されたデータパケットは、Wireshark などのネットワークプロトコルアナライザアプリケーションによって、ネットワークトラフィックの監視や管理に使用されます。PCAPNG は古い .pcap 形式を継承したもので、バージョン 1.8(2012年)から Wireshark のデフォルトの保存形式になりました。
この形式は、構造化されたフォーマット内のいくつかのタイプ別ブロックにデータを整理します。主なブロックタイプは以下の通りです:
- Section Header Block (SHB) - キャプチャセクションを開始します。エンディアンを自動検出するための Byte-Order Magic (
1A 2B 3C 4D) が含まれます。 - Interface Description Block (IDB) - 各キャプチャソースのリンクレイヤータイプとインターフェースのメタデータを記録します。
- Enhanced Packet Block (EPB) - 精密なタイムスタンプとオプションのパケットごとのフラグとともに、個々のフレームを保存します。
- Name Resolution Block (NRB) - IP アドレスをホスト名にマッピングします。
- Interface Statistics Block (ISB) - インターフェースごとのキャプチャ統計を保持します。
これらのブロックに保存された情報を利用して、キャプチャされたデータを再構成できます。ファイルはオフセット 0 のマジックバイト 0A 0D 0D 0A によって識別され、登録された MIME タイプは application/x-pcapng です。
セキュリティと安全性
リスク: MEDIUMPCAPNG ファイルはパッシブなデータであり、それ自体が実行されることはありませんが、機密性が高いものです。キャプチャには、クリアテキストのパスワード、セッションクッキー/トークン、内部 IP やホスト名、暗号化されていないトラフィックのフルペイロードが含まれる可能性があります。キャプチャは機密情報として扱い、機密性の高いものを公開のオンラインアナライザにアップロードしないでください。共有する前にはサニタイズ(情報の秘匿化)を行ってください。自身が所有または管理していないネットワークでのトラフィックキャプチャは違法となる場合があります。また、二次的な技術的リスクとして、過去に解析ツール(Wireshark のディセクタを含む)のパーサーのバグが悪意を持って作成されたキャプチャファイルによって悪用された事例があるため、Wireshark を最新の状態に保ち、信頼できないキャプチャファイルを開く際は注意してください。
形式の詳細
概要PCAPNG ファイルを開くプログラム
技術的詳細
詳細仕様| マジックバイト | バイトオフセット 0 に 0A 0D 0D 0A (Section Header Block タイプ識別子)。SHB 内のオフセット 8 にある Byte-Order Magic 1A 2B 3C 4D がファイルのエンディアンを決定します。 |
| MIME タイプ | application/x-pcapng |
| エンディアンのサポート | リトルエンディアンとビッグエンディアンの両方のファイルが有効です。リーダーは Section Header Block 内の Byte-Order Magic フィールドからバイト順を検出します。 |
| ブロックアーキテクチャ | すべてのデータは、タイプ指定され長さがプレフィックスされたブロックに保存されます。各ブロックは 32 ビットのタイプフィールドと 32 ビットの全長フィールドで始まり、自己記述的で将来の拡張が可能な形式になっています。 |
| マルチインターフェースキャプチャ | 1つのファイルで複数のネットワークインターフェースからのパケットを同時に保持でき、それぞれが独自の Interface Description Block (IDB) によって記述されます。 |
| タイムスタンプ解像度 | IDB オプションを介してインターフェースごとに設定可能です。デフォルトはマイクロ秒 (10⁻⁶ s) 精度ですが、ナノ秒 (10⁻⁹ s) 精度もサポートされています。 |
| コアブロックタイプ | Section Header (SHB), Interface Description (IDB), Enhanced Packet (EPB), Simple Packet (SPB), Name Resolution (NRB), Interface Statistics (ISB), Decryption Secrets (DSB) |
| ブロックオプション / TLV メタデータ | すべてのブロックタイプは、コメント、インターフェース名、OS の説明、カスタムベンダー拡張のための TLV エンコードされたオプションフィールドをサポートしています。 |
| リンクレイヤータイプのエンコーディング | 各 IDB 内に libpcap の LINKTYPE コード(例:LINKTYPE_ETHERNET = 1, LINKTYPE_RAW = 101)を使用して保存されます。同一ファイル内の異なるインターフェースが異なるリンクタイプを持つことも可能です。 |
| Decryption Secrets Block (DSB) | 2019年頃に導入されました。TLS や WireGuard のセッションキー(SSLKEYLOGFILE 互換)をキャプチャ内に直接埋め込み、Wireshark でのファイル内復号を可能にします。 |
| セクションの連結 | 1つのファイル内に複数の Section Header Block を連続して配置できるため、再エンコードすることなく個別のキャプチャセッションを追記できます。 |
| スナップショット長 (snaplen) | パケットごとにキャプチャされる最大バイト数は IDB でインターフェースごとに定義されます。現代のキャプチャツールでは通常 65535 バイトまたは 262144 バイトです。 |
| ネイティブ圧縮 | 形式自体には組み込まれていません。ストレージ容量を削減するために、外部で gzip 圧縮され、.pcapng.gz 拡張子で参照されるのが一般的です。 |
| リリース日 | circa 2010 (Wireshark 1.8 made it the default save format in 2012) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | www.ietf.org |
PCAPNG の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。PCAPNG ファイルについて最初の質問をしてみましょう。