Linuxで動く便利ツール
ネットワークを見える化してくれる
「Wireshark」
北浦 訓行
2008/5/23
|
概要
Wiresharkは、グラフィカルなユーザーインターフェイスを持つネットワーク・プロトコル・アナライザです。Linux版はもちろんのこと、WindowsやMac OS X、Solarisなどでも使用することができます。
Wiresharkは、元はEtherealという名称で公開されていましたが、主開発者の転職によってソースツリーが分岐して、Wiresharkとして開発が継続されています。
Wiresharkのインストール
FedoraやCentOSには、リポジトリにWiresharkのパッケージが用意されています。従って、それらのディストリビューションではyumコマンドでインストールするといいでしょう。
# yum install wireshark-gnome |
パッケージが用意されていないディストリビューションや、古いバージョンしか用意されていない場合には、WiresharkのWebサイトから最新版のtarボールをダウンロードしてインストールします。その場合には、GTK+およびGLibが必要となります。また、libpcapの開発環境も必要となりますから、あらかじめ以下のようなコマンドでインストールしておく必要があります。
# yum groupinstall "GNOME Software Development" |
tarボールからのインストールは、一般的な手順で問題ありません。
$ tar zxf wireshark-1.0.0.tar.gz |
makeが完了したら、試しにWiresharkを実行してみましょう。端末でGNOMEを開いて、Wiresharkの作業ディレクトリに移動し、以下のコマンドを実行してみます。
$ ./wireshark |
Wiresharkのウィンドウが表示されれば、makeは成功です。最後に、バイナリをインストールします。
$ su |
以上でインストール作業は完了です。
Wiresharkの実行と画面構成
Wiresharkの実行はroot権限で行います。リポジトリからインストールした場合は、GNOMEの[アプリケーション]メニューをクリックして、[インターネット]−[Wireshark Network Analyzer]を選択します。GHOME端末から起動する場合は、rootでログインしてwiresharkコマンドを実行してください。
画面1 起動直後のWireshark |
Wiresharkが起動したら、最初にパケットのキャプチャ設定を行います。ツールバーの左端にあるアイコン(List the available capture interfaces)をクリックするか、[Capture]メニューの[Interfaces]を選択します。すると、キャプチャ可能なインターフェイスの一覧が表示されますから、キャプチャしたいインターフェイスの[Start]ボタンをクリックします。
画面2 [Capture Interfaces]ダイアログボックス |
すると、すぐにパケットのキャプチャが始まり、画面にその内容が表示されます。
画面3 キャプチャ中のWireshark |
Wiresharkの画面は、上段の[Packet List]ペイン、中段の[Packet Details]ペイン、下段の[Packet Bytes]ペインに分かれています。
[Packet List]ペインには、キャプチャしたパケットのサマリーが表示されます。このサマリーをクリックすると、その内容が[Packet Details]ペインと[Packet Bytes]ペインに表示されます。
[Packet Details]ペインには、[Packet List]ペインで選択されたパケットの詳細な内容が表示されます。表示は、データリンク層やネットワーク層などに分類されていて、初期状態では折り畳まれています。項目を開いておのおのの項目を選択すると、その項目に該当する部分が、以下の[Packet Bytes]ペインで反転表示されます。
[Packet Bytes]ペインには、[Packet List]ペインで選択されたパケットの内容が、16進数とアスキーキャラクタで表示されます。このペインであるデータを選択すると、[Packet Details]ペインの該当する項目が反転表示されます。
パケットのフィルタリング
Wiresharkでは、キャプチャしたパケットを2段階にフィルタリングすることができます。1つは、キャプチャ時のフィルタリング(Capture Filter)です。
この設定を行うには、先述の[Capture Interfaces]ダイアログボックスで[Options]ボタンをクリックするか、[Capture]メニューの[Options]を選択します。すると、[Capture Options]ダイアログボックスが表示されます。
画面4 [Capture Options]ダイアログボックス |
[Capture Filter]ボタンをクリックすると、[Capture Filter]ダイアログボックスが表示されます。
画面5 [Capture Filter]ダイアログボックス |
このダイアログボックスでは、フィルタリング用の定義が用意されています。用意されているフィルタ定義で事足りるのであれば、それを選択して[OK]ボタンをクリックします。特別な定義が必要な場合は、[Properties]の[Filter name]に新しいフィルタの名前を、[Filter string]にフィルタリングしたい内容を記述して[新規]ボタンをクリックします。すると、新しい定義を作成できます。
もう1つのフィルタリングは、キャプチャしたパケットを表示する際のフィルタリング(Display Filter)です。これにより、[Capture Options]ダイアログボックスの[Capture Filter]ボタンでUDPパケットのみをキャプチャしておき、その中からさらにNTPパケットのみを表示させるといったことが可能になります。
キャプチャしたパケットをフィルタリングするには、ツールバーのフィルタリングボックスに検索する内容を入力します。また、[Filter]ボタンをクリックすると、[Display Filter]ダイアログボックスが表示されます。このダイアログボックスは、上述した[Capture Filter]ダイアログボックスに似ていますが、定義済みのフィルタの内容が異なりますし、[Expression]というボタンもあります。
画面6 [Display Filter]ダイアログボックス |
このダイアログボックスでは、より複雑なフィルタを定義することができます。その場合には、[Expression]ボタンをクリックして、[Filter Expression]ダイアログボックスを表示します。
画面7 [Filter Expression]ダイアログボックス |
左のペインでフィルタの内容を選択して、中央のペインでRelationを選択します。Relationによっては、右のペインで値を指定したり、範囲を選択します。表示のフィルタリングは、キャプチャ時のフィルタリングとは異なり、キャプチャした結果をどのように表示するかのフィルタリングですから、ツールバーの[クリア]ボタンをクリックすると、表示のフィルタリングが無効となり、キャプチャした全データが表示されます。
Wiresharkには、フィルタリング以外にも多彩な機能があります。特に、[Statistic]メニューでは、さまざまな統計情報を表示することが可能です。一例を挙げると、キャプチャしたパケットの結果をグラフで表示する機能があります。グラフ化したデータをさらにフィルタリングして、特定のパケットのみ表示することもできます。
画面8 [Wireshark IO Graphs]画面 |
以上がWiresharkのインストールと基本的なキャプチャの方法です。実際のネットワークに即した、より掘り下げた解析を行いたい場合は、以下の記事もぜひ参考にしてください。
Linux Squareプロダクトレビュー |
Linux Squareフォーラム 製品情報・レビュー関連記事 |
特集:2007年、Linuxディストリビューションの歩みを振り返る 商用、非商用ともにメジャーバージョンアップが相次いだ2007年。主なディストリビューションを取り上げ、アップデート内容を紹介します |
|
プロダクトレビュー[Ubuntu 7.10 日本語ローカライズド Desktop CD] 海外のみならず日本国内でも人気急上昇中のUbuntu。優れたインターフェイスを備えるとともに、豊富な機能がコンパクトにパッケージされている |
|
特集:業務で使うデスクトップLinux カタログ 定型業務さえこなせればよいという部門も多い企業環境は、コンシューマ市場以上にLinuxへの移行が容易ともいえる。そこで、6つのLinuxディストリビューションを紹介する |
|
特集:Linuxで動くリレーショナルデータベース・カタログ データベースサーバのOSとしてLinuxを採用するケースが増えている。Linuxで動作する7つの主なリレーショナルデータベースを紹介する。製品導入の際の参考にしてほしい |
|
特集:Windowsで動くXサーバ・カタログ やや特殊な用途に用いられてきたXサーバだが、活用しだいでは普通の管理用途にも有用だ。そこで、Windowsで動作する6本のXサーバを紹介する。選択の参考にしてほしい |
|
特集:Linuxで動くJavaアプリケーションサーバ・カタログ アプリケーションサーバは、いま最も開発競争が激しいジャンルの1つだ。その中から、Linuxに対応する5つの商用製品を紹介する。製品導入の際の参考にしてほしい |
|
特集:Linuxで動くWebグループウェア・カタログ Linuxを業務用サーバに採用するケースも増えている。そこで、Linuxをサーバとして利用するWebベースのグループウェアを紹介しよう |
|
|
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|