Wiresharkを使用してネットワーク内のパケットを分析する方法に関する10のヒント


パケット交換ネットワークでは、パケットはコンピュータ間で送信されるデータの単位を表します。セキュリティとトラブルシューティングの目的でパケットを監視および検査することは、ネットワークエンジニアとシステム管理者の両方の責任です。

これを行うために、彼らはネットワークパケットアナライザと呼ばれるソフトウェアプログラムに依存しています。Wiresharkは、その汎用性と使いやすさから、おそらく最も人気があり、使用されています。さらに、Wiresharkを使用すると、トラフィックをリアルタイムで監視できるだけでなく、後で検査するためにファイルに保存することもできます。

関連記事:ネットワーク使用状況を分析するための最良のLinux帯域幅監視ツール

この記事では、Wiresharkを使用してネットワーク内のパケットを分析する方法に関する10のヒントを共有し、[概要]セクションに到達したときにブックマークに追加したいと思うことを願っています。

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 を使用しますが、必要に応じて別のコードを選択できます。まだインターフェースをクリックしないでください。いくつかのキャプチャオプションを確認したら、後でクリックします。

検討する最も便利なキャプチャオプションは次のとおりです。

  1. Network interface – As we explained before, we will only analyze packets coming through eth0, either incoming or outcoming.
  2. Capture filter – This option allows us to indicate what kind of traffic we want to monitor by port, protocol, or type.

ヒントに進む前に、一部の組織がネットワークでのWiresharkの使用を禁止していることに注意することが重要です。とはいえ、個人的な目的でWiresharkを使用していない場合は、組織でその使用が許可されていることを確認してください。

とりあえず、ドロップダウンリストから eth0 を選択し、ボタンで[開始]をクリックします。そのインターフェースを通過するすべてのトラフィックが表示され始めます。検査されるパケットの量が多いため、監視目的にはあまり役立ちませんが、それは始まりです。

上の画像では、使用可能なインターフェイスの一覧表示、現在のキャプチャの停止、再起動(左側の赤いボックス)、およびフィルターの構成と編集(右側の赤いボックス)を行うためのアイコンも表示されています。これらのアイコンの1つにカーソルを合わせると、ツールチップが表示され、その機能が示されます。

キャプチャオプションを説明することから始めますが、ヒント#7から#10では、キャプチャで実際に役立つことを行う方法について説明します。

ヒント1–HTTPトラフィックを検査する

フィルタボックスに http と入力し、[適用]をクリックします。ブラウザを起動して、任意のサイトに移動します。

以降のすべてのヒントを開始するには、ライブキャプチャを停止し、キャプチャフィルタを編集します。

ヒント2–特定のIPアドレスからのHTTPトラフィックを検査する

この特定のヒントでは、ローカルコンピューターと192.168.0.10の間のHTTPトラフィックを監視するために、フィルタースタンザの前に ip u003du003d 192.168.0.10 && を追加します。

ヒント3–特定のIPアドレスへのHTTPトラフィックを検査する

#2と密接に関連しており、この場合、次のようにキャプチャフィルターの一部として ip.dst を使用します。

ip.dst==192.168.0.10&&http

ヒント2と3を組み合わせるには、フィルタールールで ip.src または ip.dst の代わりに ip.addr を使用できます。

ヒント4–ApacheおよびMySQLネットワークトラフィックを監視する

場合によっては、いずれか(または両方)の条件に一致するトラフィックを検査することに関心があります。たとえば、TCPポート80(Webサーバー)および3306(MySQL/MariaDBデータベースサーバー)のトラフィックを監視するには、キャプチャフィルターで OR 条件を使用できます。

tcp.port==80||tcp.port==3306

ヒント#2と#3で、 || と単語またはを使用すると、同じ結果が得られます。 && と単語andと同じです。

ヒント5–指定されたIPアドレスへのパケットを拒否する

フィルタルールに一致しないパケットを除外するには、を使用し、ルールを括弧で囲みます。たとえば、特定のIPアドレスから発信された、または特定のIPアドレスに送信されたパッケージを除外するには、次のコマンドを使用できます。

!(ip.addr == 192.168.0.10)

ヒント6–ローカルネットワークトラフィックの監視(192.168.0.0/24)

次のフィルタールールは、ローカルトラフィックのみを表示し、インターネットとの間で送受信されるパケットを除外します。

ip.src==192.168.0.0/24 and ip.dst==192.168.0.0/24

ヒント7–TCP会話の内容を監視する

TCP会話(データ交換)の内容を検査するには、特定のパケットを右クリックして、[TCPストリームに従う]を選択します。会話の内容を示すウィンドウがポップアップ表示されます。

これには、Webトラフィックを検査している場合はHTTPヘッダーが含まれ、プロセス中に送信されたプレーンテキストの資格情報がある場合はそれも含まれます。

ヒント8–カラーリングルールの編集

これで、キャプチャウィンドウの各行が色付けされていることにすでに気付いたと思います。デフォルトでは、HTTPトラフィックは黒のテキストで緑の背景に表示されますが、チェックサムエラーは黒の背景で赤のテキストで表示されます。

これらの設定を変更する場合は、[カラーリングルールの編集]アイコンをクリックし、特定のフィルターを選択して、[編集]をクリックします。

ヒント9–キャプチャをファイルに保存する

キャプチャの内容を保存すると、より詳細に検査できるようになります。これを行うには、[ファイル]→[エクスポート]に移動し、リストからエクスポート形式を選択します。

ヒント#10 –キャプチャサンプルを使用した練習

ネットワークが「退屈」だと思われる場合、Wiresharkは、練習と学習に使用できる一連のサンプルキャプチャファイルを提供します。これらのSampleCapturesをダウンロードして、[ファイル]→[インポート]メニューからインポートできます。

Wiresharkは、公式WebサイトのFAQセクションにあるように、無料のオープンソースソフトウェアです。検査を開始する前または後に、キャプチャフィルタを設定できます。

気づかなかった場合のために、フィルターにはオートコンプリート機能があり、後でカスタマイズできる最もよく使用されるオプションを簡単に検索できます。それで、空が限界です!

いつものように、この記事について質問や意見がある場合は、下のコメントフォームを使用して遠慮なくご連絡ください。