SEブログ

【WireShark】パケットキャプチャとフィルタの基本的な使い方

 

こんにちは!SE ブログの相馬です。

 

 

 

今回は、WireShark のパケットキャプチャとフィルタ、パケット解析も含めたの基本的な使い方について書いてみました。

 

 

この使い方に沿って WireShark を使えば、トラブルシューティングはできますので、かなり実用的かと思いますので是非覚えて頂ければと思います。

 

 

ちなみに、Wireshark の概要やインストール方法は別記事にありますので必要であれば見ていただけますと嬉しいです。

 

【WireShark】WireSharkの概要とインストール

 

 

パケットキャプチャ

 

 

WireShark を起動した時は以下の画面が表示されます。

 

 

パケットキャプチャを行うにはどのインターフェース (ネットワークアダプタ) でキャプチャをするかを選ぶ必要があります。PC に複数のインターフェースがある場合はその分表示されます。

 

 

1. キャプチャするインターフェースを決めたら以下のようにインターフェースをクリックします。

 

 

 

2. すぐにキャプチャが始まり通信データが溢れるように表示されます。キャプチャを停止するには上のメニューの停止ボタン (サメのひれマークのすぐ右にあります) をクリックします。

 

 

 

 

キャプチャの取り方

 

 

 

上の方法でパケットキャプチャの使い方は分かりましたが、どのタイミングで使うのでしょうか。

 

 

それは、取得したいデータを取るタイミングになります。トラブルシューティングの例で言えば、PC からサーバーに通信ができない場合などです。問題の発生させる方法が確認ができていれば、パケットキャプチャを開始させてから、問題を発生させて、キャプチャを停止させるという流れになります。

 

 

 

キャプチャフィルタ

 

 

では、パケットキャプチャしたデータはどのようにフィルタするのでしょうか。ここでは簡単にいくつか例を挙げました。

 

 

 

IP アドレス

 

 

フィルタの箇所に、以下のように IP アドレスを入力します。入力した IP アドレスの通信が全て表示されます。

 

 

ip.addr == IP アドレス

 

 

 

 

Ping の通信

 

 

1. パケットキャプチャを開始します。

 

 

2. コマンドプロンプトから通信先へ Ping します。

 

 

 

3. キャプチャを停止して、以下のようにフィルタします。フィルタの検索場所に icmp と入力すれば、ICMP の通信データが全て表示されます。

 

 

 

4. 実際、解析してみると通信相手に Ping を送ってから返ってくるのが確認できます。

 

 

 

 

UDP の通信

 

 

ここでは、PC から DNS サーバーへの DNS の通信を確認してみます。DNS は UDP でやりとりするので、あえて UDP でフィルタしました。

 

 

1. パケットキャプチャを開始します。

 

 

2. nslookup コマンドで DNS サーバーにホスト名を問い合わせます。

 

 

 

3.  キャプチャを停止して、以下のようにフィルタします。フィルタの検索場所に udp と入力すれば、UDP の通信データが全て表示されます。

 

 

 

4. 実際、解析してみると通信相手に DNS クエリを送ってから結果が返ってくるのが確認できます。

 

 

 

 

フィルタの組み合わせ

 

 

以下のようにフィルタを組み合わせて入力する事ができます。

 

 

 

 

フィルタまとめ

 

 

全てではありませんが、上で挙げたフィルタを纏めてみました。

 

フィルタ条件 フィルタに入力する内容
IP アドレス ip.addr == IP アドレス
プロトコル udp, tcp, icmp 等
ポート番号 udp.port == ポート番号
ANDフィルタ ip.addr == IP アドレス && udp.port == ポート番号

ip.addr == IP アドレス AND udp.port == ポート番号

ORフィルタ ip.addr == IP アドレス || udp.port == ポート番号

ip.addr == IP アドレス OR udp.port == ポート番号

tcp.analysis.retransmission TCP の再送パケットを表示。トラブルシューティングに有効。

 

 

 

キャプチャしたデータの色

 

 

キャプチャした後に通信データのレコード毎に色が違う事に気づきましたでしょうか?これはそれぞれ意味がありますので理解しておくと良いでしょう。

 

 

1. [View] から [Coloring Rules] をクリックします。

 

 

 

2. 色について、それぞれの意味が表示されます。

 

 

 

 

まとめ

 

 

いかがでしょうか。このようにパケットキャプチャとパケットフィルタリングと解析ができるようになる事で、この方法をそっくりそのまま現場で使えますのでとても役立つかと思います。

 

 

頻繁にやる事でなければ、使う時にこの記事を見ながらやっていただければ良いでしょう。

 

 

最後までお読みいただきありがとうございました!