パケットキャプチャ ぱけっときゃぷちゃ
簡単に言うとこんな感じ!
ネットワークを流れるデータを「盗み聞き」して記録する技術だよ!郵便局の手紙を全部コピーして中身を調べるイメージ。「なんか通信がおかしい」ってときに、実際にやり取りされたデータを丸ごと記録して原因を調べられるんだ!
パケットキャプチャとは
パケットキャプチャとは、ネットワーク上を流れるデータ(パケット)をリアルタイムに傍受・記録する技術のことです。「パケット」とはネットワーク通信を小分けにしたデータの塊で、メールや画像、Webページのデータなどはすべてパケットという単位に分割されてネットワーク上を飛び交っています。
キャプチャしたパケットを後から分析することで、「どのコンピュータがどのサーバーと通信しているか」「どんなデータがやり取りされているか」「通信エラーはどこで発生しているか」といった情報を詳細に把握できます。ネットワークのトラブルシューティング(問題調査)やセキュリティ監視の現場では必須のスキルです。
システム担当者が「通信が遅い」「特定のサービスにつながらない」といった問題に直面したとき、パケットキャプチャで「実際にどんな通信が行われているか」を記録すれば、推測ではなく証拠に基づいた原因特定が可能になります。発注側の担当者でも、ベンダーやSIerに調査を依頼するとき「パケットキャプチャをとってください」と指示できると、問題解決が格段に速くなります。
パケットキャプチャの仕組みと構成要素
ネットワークインターフェース(NIC)をプロミスキャスモード(無差別モード)に切り替えることで、自分宛て以外のパケットも受け取れる状態にして記録します。
| 構成要素 | 説明 |
|---|---|
| キャプチャポイント | どこでパケットを取得するか(PC上、スイッチのミラーポートなど) |
| キャプチャツール | パケットを記録するソフトウェア(Wireshark、tcpdump など) |
| pcapファイル | キャプチャしたパケットを保存する標準的なファイル形式 |
| フィルター | 特定の通信だけを絞り込む条件(IPアドレス・ポート番号など) |
| アナライザー | 保存したpcapを解析するツール(Wiresharkのフロント機能など) |
覚え方:「盗聴器をネットワークに仕掛ける」
パケットキャプチャは、電話の盗聴器と同じイメージです。通話(=通信)の中身をそのまま記録して、後から聞き直す(=解析する)わけです。だからこそ 権限のないネットワークへの適用は不正アクセスになる という点も忘れずに!
キャプチャの主な取得方法
| 方法 | 説明 | 向いているシーン |
|---|---|---|
| ホスト上でキャプチャ | PC・サーバー自身のNICで取得 | 自分の通信を調べるとき |
| ミラーポート(SPANポート) | スイッチで他のポートの通信を複製して転送 | 特定機器の通信を調べるとき |
| タップ(光タップ等) | 物理的にケーブルに割り込む専用機器 | 改ざんリスクを避けたい本番調査 |
| インラインキャプチャ | ゲートウェイ・プロキシで全通信を記録 | セキュリティ監視・ログ保管 |
歴史と背景
- 1988年 — Lawrence Berkeley National LaboratoryのVan Jacobson、Craig Leres、Steven McCanne らが
tcpdumpを開発。UNIXコマンドラインでのパケット解析の先駆け - 1993年 — パケットキャプチャのコアライブラリ libpcap(Linux/macOS向け)が公開。pcapファイル形式の事実上の標準に
- 1998年 — Gerald Combsが Ethereal(現Wireshark)を開発。GUIによる視覚的な解析が一般化
- 2006年 — Etherealが Wireshark に改名。オープンソースとして活発に開発継続
- 2010年代 — クラウド・仮想化の普及に伴い、仮想スイッチ(vSwitch)上でのキャプチャ手法が重要視される
- 現在 — クラウドサービス(AWS VPC Traffic Mirroring、Azure Network Watcherなど)がマネージドなキャプチャ機能を提供。インフラを持たない環境でも解析が可能に
代表的なツールと比較
Wireshark と tcpdump の比較
| 比較項目 | Wireshark | tcpdump |
|---|---|---|
| インターフェース | GUI(グラフィカル) | CUI(コマンドライン) |
| 対応OS | Windows / macOS / Linux | Linux / macOS(Windowsは非推奨) |
| リアルタイム表示 | ◎ カラー表示・プロトコル自動解析 | △ テキスト表示 |
| サーバー上の利用 | △ GUIが使えない環境では不便 | ◎ SSH接続だけで使える |
| ファイル出力 | ◎ pcapg形式で保存・再読込可能 | ◎ -w オプションで同様に保存 |
| フィルター記法 | 表示フィルター(Wireshark独自)+BPF | BPF(Berkeley Packet Filter) |
| 主な用途 | 詳細解析・教育 | 本番サーバーでの一次取得 |
パケットキャプチャの典型的なワークフロー
よく使うフィルター例(Wireshark)
# 特定IPアドレスの通信だけ表示
ip.addr == 192.168.1.10
# HTTPとHTTPSだけ表示
tcp.port == 80 or tcp.port == 443
# TCPの再送パケット(通信遅延・エラーの手がかり)
tcp.analysis.retransmission
# DNSの問い合わせだけ表示
dns
# 特定ホスト宛ての通信
ip.dst == 10.0.0.1
セキュリティ上の注意点
パケットキャプチャは強力なツールである一方、使い方を誤ると法的リスクがあります。
| 観点 | 内容 |
|---|---|
| 不正アクセス禁止法 | 許可なく他人のネットワークでキャプチャを行うと不正アクセスになる可能性がある |
| 通信の秘密 | 電気通信事業法により、正当な理由なく他者の通信内容を取得・利用することは禁止 |
| 暗号化通信(TLS) | HTTPSなどTLSで暗号化された通信はペイロードが読めない(宛先・接続情報は見える) |
| 個人情報の取り扱い | キャプチャデータには個人情報が含まれる可能性があり、適切な管理・破棄が必要 |
| 社内利用のルール | 自社ネットワーク上でも、社員の通信をモニタリングする場合は就業規則等での明示が必要 |
実務上のポイント: ベンダーにパケットキャプチャを依頼するときは、取得範囲・保管期間・破棄方法をあらかじめ契約や作業指示書に明記しておきましょう。
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 791 | IP(Internet Protocol)の基本仕様。パケット構造の定義 |
| RFC 793 | TCP(Transmission Control Protocol)の仕様。TCPヘッダー解析の基礎 |
| RFC 768 | UDP(User Datagram Protocol)の仕様 |
| RFC 8126 | IANAポート番号の割り当てガイドライン(ポートフィルタリングの参考) |
関連用語
- パケット — ネットワーク通信を小分けにしたデータの基本単位
- Wireshark — GUIでパケットをリアルタイム解析できる定番ツール
- tcpdump — LinuxサーバーでCLI操作によりパケットを取得するコマンド
- プロトコルアナライザー — キャプチャしたパケットのプロトコルを解釈・解析するツール全般
- TLS — 通信を暗号化するプロトコル。パケットキャプチャでも内容が読めなくなる
- ミラーポート — スイッチが別のポートのトラフィックをコピーして転送する機能(SPANとも呼ぶ)
- IPアドレス — パケットの送受信先を識別する番号。フィルタリングの基本
- ファイアウォール — パケットを制御・遮断するセキュリティ機器。キャプチャと組み合わせて通信を分析