TCP の理解とネットワークトラフィックのキャプチャ
このステップでは、ネットワーク通信の基本的な部分である TCP (Transmission Control Protocol、伝送制御プロトコル) について学びます。次に、Wireshark と呼ばれる強力なツールを使用して、ネットワークトラフィックをキャプチャします。TCP を理解し、ネットワークトラフィックをキャプチャできることは、ネットワーク上で何が起こっているかを確認し、潜在的な問題を分析できるため、サイバーセキュリティの分野では不可欠なスキルです。
TCP とは?
TCP (Transmission Control Protocol、伝送制御プロトコル) は、インターネットプロトコルスイート(Internet Protocol suite)の中で最も重要なプロトコルの 1 つです。インターネットプロトコルスイートは、インターネット上でデータがどのように送信されるかを規定する一連の規則です。TCP は、IP ネットワークを介して通信している異なるホスト上で実行されているアプリケーション間で、データを確実に送信する方法を提供します。
信頼性とは、TCP があるアプリケーションから別のアプリケーションに送信されたすべてのデータパケットが、正しく、正しい順序で到着することを保証することを意味します。これは、コネクションレスプロトコルである UDP (User Datagram Protocol、ユーザデータグラムプロトコル) とは異なります。UDP は、データを送信する前に接続を確立せず、すべてのパケットが到着すること、または正しい順序で到着することを保証しません。一方、TCP はコネクション型です。最初に送信者と受信者の間に接続を確立し、その後データを送信します。このプロセスは、転送されるデータの整合性を維持するのに役立ちます。
Wireshark の起動
ネットワークトラフィックのキャプチャを開始するには、Wireshark を起動する必要があります。その方法は次のとおりです。
-
まず、ターミナルウィンドウを開きます。これは、ドックにあるターミナルアイコンをクリックするか、Ctrl+Alt+T を押すことで実行できます。ターミナルは、コマンドを入力してコンピュータのオペレーティングシステムと対話できるテキストベースのインターフェースです。
-
ターミナルが開いたら、Wireshark を起動するためのコマンドを入力する必要があります。次のコマンドを入力して、Enter キーを押します。
wireshark
このコマンドは、オペレーティングシステムに Wireshark アプリケーションを起動するように指示します。
- Wireshark が起動すると、メインインターフェースが表示されます。このインターフェースには、利用可能なネットワークインターフェースのリストが表示されます。ネットワークインターフェースは、コンピュータとネットワーク間の接続ポイントです。各インターフェースを使用して、ネットワークトラフィックを送受信できます。
ネットワークトラフィックのキャプチャ
Wireshark が起動したので、ネットワークトラフィックのキャプチャを開始する準備ができました。手順は次のとおりです。
-
ネットワークインターフェースのリストで、eth1 インターフェースをクリックします。これは通常、仮想マシン(virtual machine)のプライマリネットワークインターフェースです。仮想マシンはコンピュータ内のコンピュータのようなもので、eth1 インターフェースはネットワークへの接続方法です。
-
eth1 インターフェースを選択したら、ツールバーにある青いサメのヒレのアイコンで表される Start capturing packets (パケットのキャプチャを開始) ボタンをクリックします。このアクションは、Wireshark に選択したネットワークインターフェースの監視を開始し、そこを通過するすべてのネットワークパケットをキャプチャするように指示します。
-
Wireshark がキャプチャを開始すると、メインの Wireshark ウィンドウにパケットが表示されます。これらのパケットは、ネットワークトラフィックの構成要素です。各パケットには、少量のデータと、送信元と送信先に関する情報が含まれています。
-
分析できる TCP トラフィックを生成するために、curl コマンドを使用します。新しいターミナルウィンドウを開き、次のコマンドを入力します。
curl https://labex.io
curl コマンドは、サーバーとの間でデータを転送するために使用されます。この場合、https://labex.io から Web ページコンテンツを取得しています。このアクションは、Web ページへの HTTP リクエストが TCP プロトコルを使用するため、TCP トラフィックを生成します。
-
curl コマンドを実行すると、Web ページコンテンツがターミナルに表示されます。同時に、Wireshark はこの HTTP リクエストに関連するすべての TCP パケットをキャプチャします。これらのパケットには、コンピュータと Web サーバー間のリクエストとレスポンスに関する情報が含まれています。
-
約 10 ~ 15 秒間キャプチャした後 (通常、トラフィックの適切なサンプルを取得するのに十分です)、Wireshark に戻り、ツールバーにある赤い四角いアイコンで表される Stop capturing packets (パケットのキャプチャを停止) ボタンをクリックします。これにより、Wireshark によるパケットのキャプチャが停止します。
- キャプチャされたトラフィックを将来の分析のために保存するには、
File (ファイル) メニューに移動して Save (保存) を選択するか、Ctrl+S を押すことができます。/home/labex/project/ ディレクトリに移動し、ファイルに capture.pcapng という名前を付けて、Save (保存) をクリックします。.pcapng ファイル形式は、ネットワークパケットキャプチャを保存するための標準形式であり、キャプチャされたトラフィックを後で開いて分析できます。
これで、TCP 会話を含むネットワークトラフィックを正常にキャプチャできました。次のステップでは、このキャプチャされたトラフィックを分析して、TCP についてさらに詳しく学びます。