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

パケットキャプチャ

パケットキャプチャ(tcpdump・Wireshark)による性能分析|実トラフィックからボトルネックを特定する方法

ネットワークの性能問題を正確に特定するためには、 実際に流れているパケットを観測することが最も有効です。

そのための代表的な手法がパケットキャプチャであり、 ツールとしてはtcpdumpWiresharkが広く利用されています。

本記事では、パケットキャプチャを用いた性能分析の基本から、 実務での具体的な確認ポイントまで体系的に解説します。

パケットキャプチャとは

パケットキャプチャとは、 ネットワークインターフェースを通過するパケットを取得し、 内容を解析する技術です。


通信データ → 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で詳細解析することで、 遅延、再送、ウィンドウ制御などの問題を可視化できます。

数値だけでは見えない「実際の通信」を理解することが、 高度なネットワークトラブルシュートの鍵となります。