いまさら聞けない「Wireshark」と「tcpdump」の特徴と違いパケットキャプチャー入門【前編】

ネットワークのパケットを収集して分析する定番ツールに「Wireshark」と「tcpdump」がある。パケットを分析するための両者の特徴と操作方法などを解説する。違いは何か。

2025年03月19日 07時30分 公開
[Damon GarnTechTarget]

 ネットワークの流れは、水道管を流れる水のようなものだ。もし、水道管を流れる水の経路や個々の水滴の状態まで確認できればどんなに便利だろうか。これを実現するツールがパケットキャプチャーツールだ。ネットワークアナライザー、パケットスニファーと呼ばれることもある。

 ネットワーク管理者がネットワークを適切に運用するためには、パケットキャプチャーツールは欠かせない。有名なツールとしては「Wireshark」と「tcpdump」がある。両者の違いを確認しよう。

Wiresharkとtcpdumpの違いとは

 Wiresharkとtcpdumpはどちらもネットワークのパケット(ネットワークを流れる分割されたデータ)をキャプチャー(データとして保存すること)する。ネットワーク管理者は、使用しているプロトコルやIPアドレスなどの情報を得ることができる。

 Wiresharkとtcpdumpの目的は似ているが、それぞれ異なる動作をし、ユースケース(想定される使用例)も異なる。

 例えばUI(ユーザーインタフェース)について、WiresharkはGUI(グラフィカルユーザーインタフェース)とCLI(コマンドラインインタフェース)の両方で操作できるが、tcpdumpはCLIでのみ利用できる。

 それぞれのツールの特徴を詳しく見ていこう。

Wireshark

 Wiresharkはtcpdumpと比較すると、以下の特徴がある。

  • 詳細なパケット分析
  • 高度なフィルタリング
  • GUIの有無

 Wiresharkは、レイヤー2(データリンク層)とレイヤー3(ネットワーク層)のヘッダーとペイロード(データから宛先などの制御情報を除いた本体)を区別し、パケットに関する情報をネットワーク管理者に表示する。Wiresharkはリアルタイムでパケットの情報を表示しつつ、キャプチャーしたデータを保存できるため、ネットワーク管理者は後で詳細に分析することが可能になる。ネットワークの規模が大きくなり複雑になるほど、キャプチャーするデータも膨大になる。ネットワーク管理者はWiresharkのフィルタリング機能を利用して効率的にデータを分析できる。

 WiresharkはOSの「UNIX」と「Windows」にインストール可能だ。ネットワーク管理者はWiresharkを利用して以下の情報などを得られる。

  • 送信元/宛先MACアドレス
  • 送信元/宛先IPアドレス
  • 送信元/宛先ポート番号
  • プロトコル種別
  • ペイロード

 通信やファイルが暗号化されていない場合、Wiresharkを利用してデータの中身を見ることができるため、メールの宛先や本文、印刷したいファイルなどを確認できる(図1)。

画像 図1 ネットワーク管理者は、パケットを選択して、宛先情報やデータの中身を確認できる(画像は筆者が取得した英語版)

 Wiresharkを利用する手順は次の通り。

  1. Wiresharkを起動する(図2)。
  2. トラフィックをキャプチャーするインタフェースを選択する。
  3. キャプチャーフィルターを設定し、結果を必要なプロトコルのみに限定する。
  4. 「パケットキャプチャを開始します」を選択する。すぐに複数の結果が表示される。過剰な結果を防ぐため、必要以上にキャプチャーを実行しないこと。
  5. 「パケットキャプチャを停止します」を選択し、キャプチャーを停止する。
  6. 特定のパケットを選択して詳細を確認する。

画像 図2 Wireshark の開始ボタンと停止ボタン(画像は筆者が取得した英語版)

 WiresharkはGUIで操作できる他、コマンドラインツール「TShirk」が付属している。TShirkによってCLIからWiresharkと同様のパケットキャプチャーや分析が可能となる。

tcpdump

 Wiresharkとは異なり、tcpdumpはCLIでのみ利用できるパケットキャプチャーツールであり、コマンドの名前だ。CLIからコマンドとパラメータやオプションによって操作できる。一部のOSにはあらかじめtcpdumpがインストールされている。

 特定のインタフェース(ここではeth0)を流れるパケットをキャプチャーし、その結果をファイル(dump.pcap)に保存するには以下のコマンドを使用する(図3)。

$ tcpdump -i eth0 -w dump.pcap

 キャプチャーを終了するには、「Ctrl」「C」を同時に入力する。

画像 図3 tcpdump コマンドはキャプチャー結果をファイルに書き込むため、画面に結果は表示さない(画像は筆者が取得した英語版)

 代表的なオプションは以下の通り。その他、詳細なコマンドはtcpdumpの公式ドキュメントを参照することが望ましい。

  • 「-i」
    • キャプチャーするインタフェースを指定する。
  • 「-D」
    • キャプチャー可能なネットワークインタフェースのリストを表示する
  • 「port 80」
    • ポート番号でキャプチャーをフィルタリングする
    • この例ではポート80(HTTP)を使用するトラフィックのみをキャプチャーする
  • 「-n」
    • IPアドレスをホスト名に変換しない。
    • これにより名前解決による遅延を回避し、処理を高速化できる可能性がある。
  • 「-w dump.pcap」
    • キャプチャーをdump.pcapという名前のファイルに書き込む。
  • 「-r dump.pcap」
    • dump.pcapという名前のファイルからキャプチャーを読み込む。

 次回はWiresharkとtcpdumpのユースケースを解説する。

TechTarget発 世界のインサイト&ベストプラクティス

米国Informa TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

From Informa TechTarget

お知らせ
米国TechTarget Inc.とInforma Techデジタル事業が業務提携したことが発表されました。TechTargetジャパンは従来どおり、アイティメディア(株)が運営を継続します。これからも日本企業のIT選定に役立つ情報を提供してまいります。

ITmedia マーケティング新着記事

news175.png

製造業の8割が既存顧客深耕に注力 最もリソースを割いている施策は?
ラクスは、製造業の営業・マーケティング担当者500人を対象に、新規開拓や既存深耕におけ...

news105.jpg

「生成AIで作った広告」が物議 そのとき、コカ・コーラはどう動いた?
生成AIを広告制作に活用し、議論を呼んだCoca-Cola。この経験から何を学んだのか。

news028.jpg

新規顧客獲得と既存顧客のLTV向上、それぞれのCRO(コンバージョン率最適化)について
連載第4回の今回は、新規顧客の獲得と既存顧客のLTV(顧客生涯価値)、それぞれのCRO(コ...