すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:Linux での TCP または UDP ポートのテスト方法

最終更新日:Mar 29, 2025

このトピックでは、Linux Elastic Compute Service (ECS) インスタンスで TCP または UDP ポートの接続性をテストする方法について説明します。

TCP ポートの接続性をテストする

テストするポートの状態に基づいて、テスト方法を選択します。

方法 1: Telnet を使用してリッスン中のポートの接続性をテストする

  1. Workbench を使用して SSH 経由で Linux インスタンスに接続する

  2. 次のコマンドを実行して、Telnet を使用してポートの接続性をテストします。

    たとえば、121.11.XX.XX にある ECS インスタンスのポート 1234 の接続性をテストするには、sudo telnet 121.11.XX.XX 1234 コマンドを実行します。

    # [$Host] を ECS インスタンスの IP アドレスに、[$Port] をテストするポートの番号に置き換えます。
    sudo telnet [$Host] [$Port]

    次のコマンド出力は、ポート経由で接続が確立されたことを示しています。コマンド出力は、Linux システム環境によって異なる場合があります。Connected to ... がコマンド出力に含まれている場合、接続は確立されています。

    説明

    ポートに到達できない場合は、ECS インスタンスのセキュリティグループでポートが許可されているかどうかを確認します。ポートが許可されていない場合は、セキュリティグループルールを追加して開きます。

    Trying 121.11.XX.XX...
    Connected to 121.11.XX.XX.
    Escape character is '^]'.

方法 2: ポートでリッスンを開始し、その接続性をテストする

サーバーで TCP ポートの接続性をテストするために、2 つの ECS インスタンス(1 つはサーバー、もう 1 つはクライアント)を準備します。

  • サーバー: TCP ポートでリッスンを開始し、その接続性をテストする ECS インスタンス。

  • クライアント: サーバー上の TCP ポートへの接続に使用する補助 ECS インスタンス。

次の手順を実行します。

  1. Workbench を使用して SSH 経由で Linux インスタンスに接続する

  2. サーバーで、次のコマンドを実行して Python がインストールされているかどうかを確認し、そのバージョンを表示します。

    python -V
    • Python のバージョンが表示されている場合は、Python がインストールされています。

    • Python がインストールされていない場合は、インストールします。

  3. サーバーで、次のコマンドを実行して、Python の組み込み Web サーバーを使用してポートで一時的にリッスンします。

    たとえば、Python 3.x を使用してポート 1234 でリッスンするには、sudo python3 -m http.server 1234 コマンドを実行します。

    • Python 2.x

      # [$Port] をテストするポートの番号に置き換えます。
      sudo python -m SimpleHTTPServer [$Port]
    • Python 3.x

      # [$Port] をテストするポートの番号に置き換えます。
      sudo python3 -m http.server [$Port]

    次のコマンド出力が返されます。

    Serving HTTP on 0.0.0.0 port 1234 ...
    説明

    クライアントからのテストが完了したら、Ctrl+C を押してプロセスを停止します。

  4. クライアントで、次のコマンドを実行して、Telnet を使用してサーバーでリッスンしているポートの接続性をテストします。

    たとえば、121.11.XX.XX にあるサーバーのポート 1234 の接続性をテストするには、sudo telnet 121.11.XX.XX 1234 コマンドを実行します。

    # [$Host] をサーバーの IP アドレスに、[$Port] をテストするポートの番号に置き換えます。
    sudo telnet [$Host] [$Port]

    次のコマンド出力は、ポート経由で接続が確立されたことを示しています。コマンド出力は、Linux システム環境によって異なる場合があります。Connected to ... がコマンド出力に含まれている場合、接続は確立されています。

    説明

    ポートに到達できない場合は、サーバーのセキュリティグループでポートが許可されているかどうかを確認します。ポートが許可されていない場合は、セキュリティグループルールを追加して開きます。

    Trying 121.11.XX.XX...
    Connected to 121.11.XX.XX.
    Escape character is '^]'.

UDP ポートの接続性をテストする

サーバーで UDP ポートの接続性をテストするために、2 つの ECS インスタンス(1 つはサーバー、もう 1 つはクライアント)を準備します。

  • サーバー: UDP ポートの接続性をテストする ECS インスタンス。

  • クライアント: サーバー上の UDP ポートへの接続に使用する補助 ECS インスタンス。

次の手順を実行します。

  1. Workbench を使用して SSH 経由で Linux インスタンスに接続する

  2. サーバーとクライアントで、次のコマンドを実行して nc プログラムがインストールされているかどうかを確認します。

    which nc

    次のコマンド出力は、nc プログラムがインストールされていることを示しています。

    /usr/bin/nc
    説明

    nc プログラムがインストールされていない場合は、オペレーティングシステムに基づいて yum や apt-get などのコマンドでインストールします。例: sudo yum install -y nc

  3. サーバーで、次のコマンドを実行して、テストするポートでリッスンします。

    たとえば、ポート 3333 の接続性をテストするには、sudo nc -uvlp 3333 コマンドを実行します。

    # [$Port] をテストするポートの番号に置き換えます。
    sudo nc -uvlp [$Port]

    次のコマンド出力は、ポートがリッスンされていることを示しています。

    Ncat: Version 7.92 ( https://nmap.org/ncat )
    Ncat: Listening on :::3333
    Ncat: Listening on 0.0.0.0:3333
  4. クライアントで、次のコマンドを実行して、サーバーでテストするポートに接続します。

    たとえば、111.22.XX.XX にあるサーバーのポート 3333 に接続するには、sudo nc -u 111.22.XX.XX 3333 コマンドを実行します。

    # [$Host] をサーバーの IP アドレスに、[$Port] をテストするポートの番号に置き換えます。
    sudo nc -u [$Host] [$Port]
  5. 接続が確立されたら、クライアントでテスト文字(test など)を入力します。サーバーが文字を受信した場合、ポートに到達できます。

    説明

    ポートに到達できない場合は、サーバーのセキュリティグループでポートが許可されているかどうかを確認します。ポートが許可されていない場合は、セキュリティグループルールを追加して開きます。

    image

    image