はじめに
この実験では、人気のあるネットワークプロトコルアナライザである Wireshark を使用してネットワークトラフィックをキャプチャする方法を学びます。ネットワークトラフィック分析はサイバーセキュリティにおいて不可欠であり、潜在的な脅威の特定やネットワーク活動の監視を可能にします。
この実験の終了時には、Wireshark を使用してネットワークパケットをキャプチャし、分析する実践的な経験を積むことができます。これは、セキュリティインシデントを調査する上で非常に有用なスキルです。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、人気のあるネットワークプロトコルアナライザである Wireshark を使用してネットワークトラフィックをキャプチャする方法を学びます。ネットワークトラフィック分析はサイバーセキュリティにおいて不可欠であり、潜在的な脅威の特定やネットワーク活動の監視を可能にします。
この実験の終了時には、Wireshark を使用してネットワークパケットをキャプチャし、分析する実践的な経験を積むことができます。これは、セキュリティインシデントを調査する上で非常に有用なスキルです。
Wireshark は強力なネットワークプロトコルアナライザです。コンピュータネットワークの探偵ツールのようなものです。Wireshark を使うと、ネットワークを流れるデータをキャプチャし、そのトラフィックを対話的に調査して理解することができます。このステップでは、Linux システムに Wireshark をインストールし、必要な権限を設定する手順を案内します。これにより、Wireshark を効果的に使用できるようになります。
まず、ターミナルを開く必要があります。タスクバーのターミナルアイコンをクリックするか、キーボードショートカット Ctrl+Alt+T
を使用することで簡単に開くことができます。ターミナルは、Linux システムに命令を与えることができるコマンドセンターのようなものです。
ターミナルが開いたら、パッケージリストを更新する必要があります。パッケージリストは、システムが利用可能なソフトウェアと最新バージョンを把握するためのカタログのようなものです。パッケージリストを更新することで、Wireshark をインストールする際に最新バージョンを取得できるようになります。ターミナルで以下のコマンドを実行します。
sudo apt update
コマンドの sudo
部分は、システムレベルのタスクを実行できる管理者権限を与えます。apt update
は、システムに最新のパッケージ情報を確認するように指示するコマンドです。
コマンドを実行した後、以下のような出力が表示されるはずです。この出力は、システムがパッケージリストを確認して更新していることを示しています。
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
...
Reading package lists... Done
パッケージリストが更新されたので、ここで Wireshark をインストールします。ターミナルで以下のコマンドを実行します。
sudo apt install wireshark -y
再び sudo
が管理者権限を与え、apt install wireshark
は Wireshark をインストールするコマンドです。-y
フラグは非常に便利です。インストール中にシステムがいくつかのアクションを確認する場合がありますが、-y
フラグはこれらのプロンプトに自動的に「はい」と答えるため、手動で「はい」を押す必要がありません。インストールには数分かかる場合があります。
インストール中に、設定ダイアログが表示されます。ここでは、一般ユーザーにパケットをキャプチャする権限を与えるかどうかを尋ねます。デフォルトでは、セキュリティ上の理由から、root ユーザー(システム上で最も強力なユーザー)のみがネットワークパケットをキャプチャできます。しかし、一般ユーザーにこの権限を与えると非常に便利です。
キーボードの矢印キーを使って Yes
を選択し、Enter
キーを押します。
インストールが完了したら、Wireshark が実際にパケットをキャプチャできるようにする必要があります。Wireshark は dumpcap
というツールを使ってパケットをキャプチャします。そのため、このツールに正しい権限を設定する必要があります。ターミナルで以下のコマンドを実行します。
sudo chmod +x /usr/bin/dumpcap
chmod
コマンドは、ファイルまたはディレクトリの権限を変更するために使用されます。コマンドの +x
部分は、dumpcap
ファイルに実行権限を追加します。これは、システムが dumpcap
ツールを実行できるようにし、Wireshark がパケットを適切にキャプチャできるようにすることを意味します。
Wireshark が正しくインストールされたことを確認するために、そのバージョンを確認することができます。ターミナルで以下のコマンドを実行します。
wireshark --version
インストールが成功した場合、以下のような出力が表示されるはずです。
Wireshark 3.6.2 (Git v3.6.2 packaged as 3.6.2-2)
おめでとうございます!システムに Wireshark を正常にインストールしました。次のステップでは、Wireshark を使ってネットワークトラフィックをキャプチャする方法を学びます。
このステップでは、Wireshark を起動してネットワークトラフィックをキャプチャする方法を学びます。パケットをキャプチャすることは、ネットワークを流れるデータを窺い見るようなものです。送受信されるすべての情報を見ることができ、ネットワークの仕組みを理解したり、潜在的なセキュリティ問題を検出したりするために重要です。
Wireshark を使用するには、まず起動する必要があります。これは、ターミナルで簡単なコマンドを実行することで行えます。ターミナルは、コンピュータと対話するためにコマンドを入力できるテキストベースのインターフェースです。Wireshark を起動するコマンドは次の通りです。
wireshark
このコマンドを実行すると、Wireshark アプリケーションが開き、メインインターフェースが表示されます。このインターフェースはいくつかの異なる部分で構成されていますが、今は上部のネットワークインターフェースのリストに焦点を当てましょう。ネットワークインターフェースは、コンピュータをネットワークに接続するもので、例えば Ethernet ケーブルや Wi-Fi アダプタなどです。
パケットをキャプチャする前に、監視するネットワークインターフェースを選択する必要があります。ネットワークインターフェースは、データがコンピュータに出入りするドアのようなものです。各インターフェースは、コンピュータをネットワークに接続する異なる方法です。
Wireshark のメインウィンドウには、コンピュータ上の利用可能なすべてのネットワークインターフェースのリストが表示されます。各インターフェースの横には、そのインターフェースの現在のアクティビティを示すグラフがあります。このグラフを見ることで、そのインターフェースを通じてデータが流れているかどうかを確認できます。
この実験では、eth0
インターフェースを選択します。リスト内でそれをダブルクリックすることで選択できます。eth0
インターフェースは通常、コンピュータをネットワークに接続する主要な Ethernet インターフェースです。Ethernet ケーブルを通じてコンピュータに出入りするデータの主要なドアのようなものです。
リストに eth0
が表示されない場合は問題ありません。アクティビティが表示されている(横のグラフが動いている)他のインターフェースを選択することができます。これは、そのインターフェースを通じてデータが流れていることを示しており、そのデータをキャプチャすることができます。
ネットワークインターフェースを選択すると、Wireshark は通常自動的にパケットのキャプチャを開始します。自動で開始しない場合は、手動でキャプチャを開始することができます。これには 2 つの方法があります。Wireshark ウィンドウ上部のツールバーにある青いサメのヒレのアイコンをクリックするか、キーボードで Ctrl+E
を押します。
キャプチャを開始すると、選択したネットワークインターフェースを横断するパケットがメインウィンドウにリアルタイムで表示されます。これらのパケットは、実際にネットワークを流れるデータです。コンピュータを通じて流れる情報の流れを見ているようなものです。
キャプチャを約 30 ~ 60 秒間実行しましょう。これにより、後で分析するのに十分なネットワークトラフィックが得られます。キャプチャするデータが多いほど、ネットワークで何が起こっているかをよりよく理解できます。
キャプチャが実行されている間、Wireshark ウィンドウのメインパケットリストを見てみましょう。このリストの各行は 1 つのパケットを表しており、そのパケットに関するいくつかの重要な情報が含まれています。
異なるタイプのパケットを容易に識別できるように、Wireshark は異なるプロトコルを異なる色で強調表示します。この視覚的な手がかりにより、異なるタイプのネットワークトラフィックをすばやく区別することができます。
30 ~ 60 秒間ネットワークトラフィックをキャプチャしたら、キャプチャを停止する時です。Wireshark ウィンドウ上部のツールバーにある赤い四角のアイコンをクリックするか、再度 Ctrl+E
を押すことで停止できます。キャプチャを停止すると、パケットリストが固定されるため、収集したデータの分析を開始できます。
ここでネットワークトラフィックをキャプチャしたので、後で分析できるように保存しましょう。キャプチャしたパケットを保存する方法は次の通りです。
File
をクリックし、Save As
を選択します。これにより、ファイルの保存場所と名前を選択できるダイアログボックスが開きます。/home/labex/project
ディレクトリに移動します。ここが、キャプチャしたネットワークトラフィックを保存する場所です。capture.pcapng
を入力します。.pcapng
ファイル形式は、Wireshark がパケットキャプチャを保存するためのネイティブ形式です。キャプチャしたパケットに関するすべての情報を保持するように設計されています。Save
ボタンをクリックしてファイルを保存します。キャプチャしたパケットを .pcapng
形式で保存することで、後で Wireshark でこのファイルを開いて分析を続けることができます。
おめでとうございます!Wireshark を使用してネットワークトラフィックを正常にキャプチャしました。次のステップでは、このキャプチャしたトラフィックを分析する方法を学びます。
これでネットワークトラフィックをキャプチャしたので、次はそれを分析する時です。ネットワークトラフィックを分析することで、ネットワーク上で何が起こっているかを理解することができます。Wireshark は、パケットのフィルタリング、ソート、検査など、様々な機能を提供する強力なツールです。これらの機能を使うことで、キャプチャしたデータを深く掘り下げ、有用な情報を見つけることができます。
Wireshark のインターフェースは 3 つの主要なペインに分かれています。各ペインには特定の機能があり、キャプチャしたパケットに関する異なる種類の情報を表示します。
特定のパケットの詳細を見るには、パケットリストペインでそのパケットをクリックするだけです。そのパケットに関する情報はパケット詳細ペインに表示され、対応する生バイトはパケットバイトペインに表示されます。
表示フィルタは Wireshark の最も強力な機能の 1 つです。特定の種類のトラフィックに焦点を当てることができ、分析プロセスを大幅に容易にします。すべてのパケットを一度に見る代わりに、フィルタを使って関心のあるパケットのみを表示することができます。
表示フィルタを使用するには、ウィンドウ上部のフィルタバーにフィルタを入力します。たとえば、TCP トラフィックのみを表示したい場合は、次のように入力します。
tcp
フィルタを入力した後、Enter キーを押すか、適用ボタン(青い矢印)をクリックしてフィルタを適用します。
フィルタが適用されると、パケットリストペインには TCP パケットのみが表示されます。これにより、分析したい特定のトラフィックに集中することができます。
試すことができる他の有用なフィルタをいくつか紹介します。
http
: HTTP トラフィックのみを表示します。dns
: DNS トラフィックのみを表示します。ip.addr == 8.8.8.8
: IP アドレス 8.8.8.8 への、またはそこからのトラフィックを表示します。tcp.port == 443
: HTTPS トラフィックのみを表示します。フィルタをクリアしてすべてのパケットを再度表示したい場合は、フィルタバーの横にある「クリア」ボタン(X)をクリックします。
Wireshark は色を使って、異なる種類のトラフィックをすばやく識別できるようにしています。これにより、ネットワークトラフィックのパターンや異常を見つけやすくなります。
色付けルールを表示または変更するには、次の手順に従います。
View
> Coloring Rules
を選択します。色付けルールは上から下の順に適用されます。パケットに一致する最初のルールがそのパケットの色を決定します。ルールの横のチェックボックスをオンまたはオフにすることで、ルールを有効または無効にすることができます。
色付けルールの表示または変更が終了したら、色付けルールダイアログを閉じます。
分析において最も有用な機能の 1 つは、TCP ストリームを追跡する機能です。TCP ストリームは、2 つのホスト間の全体的な会話を表します。TCP ストリームを追跡することで、特定の接続中に 2 つのホスト間で交換されるすべてのデータを見ることができます。
TCP ストリームを追跡するには、次の操作を行います。
tcp
フィルタを適用して TCP パケットのみを表示することができます。Follow
> TCP Stream
を選択します。新しいウィンドウが開き、完全な会話が表示されます。赤色のテキストはクライアントからサーバーに送信されたデータで、青色のテキストはサーバーからクライアントに送信されたデータです。
この TCP ストリームを保存するには、Save As
ボタンをクリックし、ファイルを /home/labex/project
ディレクトリに tcp_stream.txt
として保存します。
「保存」をクリックしてプロセスを完了します。TCP ストリームを保存することで、後で会話を見直したり、他の人と共有したりすることができます。
特定のパケットを深く理解するには、パケット詳細ペインとパケットバイトペインを使ってその詳細を調査することができます。
この詳細ビューを使うことで、最下位レイヤーの Ethernet フレームから最上位レイヤーのアプリケーションレイヤーデータまで、パケットのすべての側面を調査することができます。
Wireshark は、キャプチャを分析するための多くの統計ツールを提供しています。これらのツールは、ネットワークトラフィックの全体的なパターンに関する貴重な洞察を提供し、異常な活動を特定するのに役立ちます。
Statistics
メニューのいくつかのオプションを試してみましょう。
Protocol Hierarchy
: キャプチャ内のプロトコルの分布を表示します。これにより、ネットワーク上で最も頻繁に使用されているプロトコルを理解することができます。Conversations
: エンドポイント間のすべての接続をリスト表示します。どのホストが互いに通信しているか、およびどれだけのデータが交換されているかを示します。Endpoints
: キャプチャ内のすべてのエンドポイント(ホスト)をリスト表示します。ネットワークトラフィックに関与しているすべてのデバイスの概要を提供します。I/O Graph
: 時間経過に伴うトラフィックのグラフを表示します。一定期間にわたってネットワークトラフィックがどのように変化するかを視覚化するのに役立ちます。これらのツールは、ネットワークトラフィックの全体的なパターンを理解し、異常な活動を特定するのに役立ちます。
おめでとうございます!これで Wireshark を使ってネットワークトラフィックを分析する基本を学びました。この知識は、より高度なネットワーク分析やサイバーセキュリティ調査の基礎となります。
この実験では、Wireshark を使用してネットワークトラフィックをキャプチャし、分析するための基本的なスキルを学びました。まず、Wireshark をインストールし、パケットキャプチャに必要な権限を設定しました。次に、システムからリアルタイムのネットワークトラフィックをキャプチャし、さらなる分析のために保存しました。最後に、表示フィルタ、色付けルール、TCP ストリームの追跡など、さまざまな分析手法を試しました。
習得したこれらのスキルは、ネットワークのトラブルシューティングやサイバーセキュリティ調査において基本的なものです。ネットワークトラフィック分析により、セキュリティ脅威を特定し、ネットワークやアプリケーションの問題を解決し、プロトコルの機能を詳細に理解し、ネットワークのパフォーマンスを監視することができます。サイバーセキュリティの道を進むにつれて、これらの基礎を元に、マルウェア検出、侵入検知、ネットワークフォレンジックなど、より高度なパケット分析技術を開発することができます。