パケット交換ネットワークでは、パケットはコンピュータ間で伝送されるデータの単位を表します。
これを行うには、ネットワーク パケット アナライザーと呼ばれるソフトウェア プログラムを使用します。 その上、Wireshark では、トラフィックをリアルタイムで監視するだけでなく、ファイルに保存して後で検査することもできます。
関連記事: ネットワーク使用量を分析する最高の Linux 帯域幅監視ツール
この記事では、Wireshark を使用してネットワーク内のパケットを分析する方法に関する 10 のヒントを紹介し、概要セクションに到達したら、これをブックマークに追加する気になることを願っております。
- LinuxでのWiresharkのインストール
- キャプチャオプションの設定
- TIP #1 – Inspect HTTP Traffic
- TIP #3 – Inspect HTTP Traffic to a Given IP Address
- TIP #4 – Monitor Apache and MySQL Network Traffic
- TIP #5 – Reject Packets to Given IP Address
- TIP #6 – ローカル ネットワーク トラフィックの監視 (192.168.0.0).0/24)
- TIP #7 – モニター TCP Conversation
- TIP #8 – Edit Coloring Rules
- TIP #9 – Save the Capture to a File
- TIP #10 – Capture Samples
- 概要
LinuxでのWiresharkのインストール
Wiresharkをインストールするには、https://www.wireshark.org/download.htmlからあなたのオペレーティングシステム/アーキテクチャに適したインストーラーを選択します。
特に、Linuxを使っているなら、あなたの都合で簡単にインストールできるよう、Wiresharkはディストリビューションのリポジトリから直接利用できなければなりません。
------------ On Debian/Ubuntu based Distros ------------ $ sudo apt-get install wireshark------------ On CentOS/RHEL based Distros ------------$ sudo yum install wireshark------------ On Fedora 22+ Releases ------------$ sudo dnf install wireshark
Debianとその派生版には、sudoを使用してWiresharkを起動しない限り、ネットワークインターフェイスをリストアップできない既知のバグが存在します。 これを修正するには、この投稿で受け入れられている回答に従ってください。
一旦Wiresharkが起動すると、Capture:
では、eth0
を使っていますが、希望により他のものを選択することが可能です。
キャプチャオプションの設定
これから考える最も有用なキャプチャオプションは次のとおりです:
- ネットワークインターフェース – 前に説明したように、eth0を通して来るパケットだけを、受信または送信を分析することになります。
- Capture filter – このオプションでは、ポート、プロトコル、またはタイプによって、どのようなトラフィックを監視したいかを指定できます。
当面は、ドロップダウンリストから
eth0
を選択し、ボタンで [開始] をクリックするだけです。 そのインターフェイスを通過するすべてのトラフィックを見始めるでしょう。 検査されるパケットの量が多いため、監視目的にはあまり役立ちませんが、これは手始めです。上の画像では、利用できるインターフェイスをリストするアイコン、現在のキャプチャを停止して、再開するアイコン(左側の赤いボックス)、フィルターの設定と編集(右側の赤いボックス)も見ることができます。
まず、キャプチャのオプションを説明し、#7 から#10 のヒントでは、キャプチャを使って実際に役に立つことを行う方法について説明します。
TIP #1 – Inspect HTTP Traffic
フィルターボックスに
http
を入力し、適用をクリックします。TIP #2 – Inspect HTTP Traffic from a Given IP Address
In this particular tip, we will prepend
ip==192.168.0.10&&
to the filter stanza to monitor HTTP traffic between the local computer and 192.168.0.10:TIP #3 – Inspect HTTP Traffic to a Given IP Address
#2 と密接な関係があり、この場合、次のように
ip.dst
をキャプチャ フィルターの一部として使用します。ip.dst==192.168.0.10&&http
Tips #2と#3を組み合わせるには、
ip.src
またはip.dst
の代わりにip.addr
をフィルタールールに使用することができます。TIP #4 – Monitor Apache and MySQL Network Traffic
時には、どちらか (または両方) の条件に一致するトラフィックを検査することに興味を持つことがあります。 たとえば、TCP ポート 80 (Web サーバ) と 3306 (MySQL / MariaDB データベースサーバ) のトラフィックを監視するには、キャプチャフィルタで
OR
条件を使用できます:tcp.port==80||tcp.port==3306
Tips #2 と #3 で
||
と単語 or は同じ結果を生成しています。&&
と単語 and も同様です。TIP #5 – Reject Packets to Given IP Address
フィルタ規則に一致しないパケットを除外するには、
!
を使い、括弧で規則を囲んでください。 例えば、指定された IP アドレスから発信された、または指定された IP アドレスに向けられたパッケージを除外するには、次のようにします:!(ip.addr == 192.168.0.10)
TIP #6 – ローカル ネットワーク トラフィックの監視 (192.168.0.0).0/24)
次のフィルタルールは、ローカルトラフィックのみを表示し、インターネットに向かうパケットとインターネットから来るパケットを除外します:
ip.src==192.168.0.0/24 and ip.dst==192.168.0.0/24
TIP #7 – モニター TCP Conversation
TCP 会話(データ交換)の内容を検査するには、特定のパケット上で右クリックして [Follow TCP stream] を選択してください。
Web トラフィックを検査している場合、これには HTTP ヘッダーと、もしあればプロセス中に送信されたプレーンテキスト認証情報が含まれます。
TIP #8 – Edit Coloring Rules
さて、もうお気付きだと思いますが、キャプチャウィンドウ内の各行には色が付けられています。 デフォルトでは、HTTP トラフィックは緑の背景に黒のテキストで表示され、チェックサムエラーは黒の背景に赤のテキストで表示されます。
これらの設定を変更したい場合は、色付けの規則の編集アイコンをクリックし、所定のフィルタを選択し、[編集] をクリックします。
TIP #9 – Save the Capture to a File
Save the contents of capture will be able to inspect it with greater detail. これを行うには、File → Export と進み、リストからエクスポート形式を選びます:
TIP #10 – Capture Samples
自分のネットワークは「退屈」だと思っているなら、Wiresharkが練習と学習に使える一連のサンプルキャプチャファイルを提供しています。 これらのサンプルキャプチャをダウンロードし、ファイル → インポートメニューからインポートできます。
概要
公式サイトの FAQ のセクションにあるように、Wireshark はフリーでオープンソースのソフトウェアです。 キャプチャ フィルターは、検査を開始する前でも後でも設定できます。
一応、フィルターにはオートコンプリート機能があり、よく使うオプションを簡単に検索して、後でカスタマイズすることが可能です。 これさえあれば、空は無限に広がる!
。