パケットキャプチャ(tcpdump・Wireshark)による性能分析

目次
パケットキャプチャ(tcpdump・Wireshark)による性能分析|実トラフィックからボトルネックを特定する方法
ネットワークの性能問題を正確に特定するためには、 実際に流れているパケットを観測することが最も有効です。
そのための代表的な手法がパケットキャプチャであり、 ツールとしてはtcpdumpやWiresharkが広く利用されています。
本記事では、パケットキャプチャを用いた性能分析の基本から、 実務での具体的な確認ポイントまで体系的に解説します。
パケットキャプチャとは
パケットキャプチャとは、 ネットワークインターフェースを通過するパケットを取得し、 内容を解析する技術です。
通信データ → NIC → キャプチャ → 解析
これにより、アプリケーション層から物理層に至るまでの 詳細な挙動を確認できます。
主なツール
tcpdump
- CLIベース
- 軽量でサーバ向け
- リアルタイムキャプチャ
Wireshark
- GUIベース
- 詳細解析に強い
- プロトコルデコード機能
tcpdumpの基本コマンド
全パケット取得
tcpdump -i eth0
特定ポートのフィルタ
tcpdump -i eth0 port 80
ファイル保存
tcpdump -i eth0 -w capture.pcap
パケット内容表示
tcpdump -i eth0 -nn -vv
Wiresharkの特徴
Wiresharkはキャプチャファイル(pcap)を読み込み、 詳細な解析を行うためのツールです。
- プロトコル解析(TCP/HTTP/DNSなど)
- フロー可視化
- 再送・遅延の検出
性能分析で見るべきポイント
1. RTT(往復遅延)
TCPパケットのACK間隔からRTTを測定できます。
SYN → SYN/ACK → ACK
RTTが大きいとスループット低下の原因になります。
2. 再送(Retransmission)
再送が多い場合、 パケットロスや輻輳が発生しています。
Wiresharkでは以下のように表示されます。
[TCP Retransmission]
3. 重複ACK
同じACKが連続する場合、 パケットロスが疑われます。
Dup ACK
4. ウィンドウサイズ
TCPウィンドウが小さいと、 スループットが制限されます。
Window Size: 65535
5. Zero Window
受信側バッファが満杯の場合、 送信が停止します。
TCP ZeroWindow
6. パケットロス
ロスは再送やACK異常から推測できます。
7. アプリケーション遅延
サーバ応答時間(TTFB)を確認します。
Request → Responseの時間差
TCPストリーム分析
WiresharkではTCPストリーム単位で通信を確認できます。
- スループット
- 再送率
- RTT分布
これによりボトルネックの特定が容易になります。
典型的な問題パターン
ケース1:高RTT
長距離通信や経路問題。
ケース2:再送多発
回線品質や輻輳。
ケース3:Zero Window
サーバ・クライアントの処理能力不足。
ケース4:遅い応答
アプリケーション処理遅延。
キャプチャ時の注意点
- 必要なトラフィックのみ取得(フィルタ)
- 長時間キャプチャはファイル肥大化
- 暗号化通信(TLS)は内容が見えない
- 権限(root)が必要
実務での活用例
- Web遅延の原因分析
- VPN性能評価
- パケットロス検出
- TCPチューニング確認
よくある誤解
数値だけ見ればよい
→ 実際のパケットを見ることが重要。
ツールが難しい
→ 基本項目だけでも十分分析可能。
暗号化で意味がない
→ ヘッダ情報で十分分析可能。
まとめ
パケットキャプチャは、 ネットワーク性能問題を特定するための最も強力な手法です。
tcpdumpで取得し、 Wiresharkで詳細解析することで、 遅延、再送、ウィンドウ制御などの問題を可視化できます。
数値だけでは見えない「実際の通信」を理解することが、 高度なネットワークトラブルシュートの鍵となります。





