ウェブサイト検索

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 が実行されたら、キャプチャ で監視するネットワーク インターフェイスを選択できます。

この記事では eth0 を使用しますが、必要に応じて別のものを選択することもできます。まだインターフェイスをクリックしないでください。後でいくつかのキャプチャ オプションを確認した後でクリックします。

キャプチャ オプションの設定

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

  1. ネットワーク インターフェイス – 前に説明したように、受信または送信のいずれかで、eth0 を経由するパケットのみを分析します。
  2. キャプチャ フィルタ – このオプションを使用すると、監視するトラフィックの種類をポート、プロトコル、またはタイプごとに指定できます。

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

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

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

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

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

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

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

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

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

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

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

ip.dst==192.168.0.10&&http

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

ヒント #4 – Apache と MySQL のネットワーク トラフィックを監視する

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

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

ヒント #2#3 では、|| と単語 or は同じ結果を生成します。 &&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 は練習や学習に使用できる一連のサンプル キャプチャ ファイルを提供します。これらの SampleCapture をダウンロードし、ファイル → インポート メニューからインポートできます。

まとめ

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

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

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