Linuxで実行中のポートをチェックする方法


  1. netstatコマンドを使用する方法:

    netstat -tuln

    このコマンドは、TCPおよびUDPのリスニングポートを表示します。リストには、ポート番号、プロトコル、および関連するプロセスが表示されます。

  2. lsofコマンドを使用する方法:

    lsof -i :ポート番号

    このコマンドは、指定したポート番号でリッスンしているプロセスを表示します。ポート番号の代わりにサービス名(例: http、ssh)を使用することもできます。

  3. ssコマンドを使用する方法:

    ss -tuln

    このコマンドは、netstatと同様にTCPおよびUDPのリスニングポートを表示します。

これらのコマンドは、ターミナルで実行することができます。特定のポートで実行されているプロセスを見つけるためには、root権限またはsudo特権が必要な場合があります。

さらに、プログラミング言語を使用してポートをチェックする方法もあります。以下にPythonの例を示します。

import socket
def check_port(port):
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    result = sock.connect_ex(('localhost', port))
    if result == 0:
        print(f"Port {port} is open")
    else:
        print(f"Port {port} is closed")
check_port(80)  # ポート番号を指定

このPythonのコードは、指定したポート番号でリッスンしているかどうかを確認します。ポートが開いている場合、"Port [ポート番号] is open"と表示されます。閉じている場合は、"Port [ポート番号] is closed"と表示されます。