Linux を実行しているポートの分析


  1. ポートのリストを表示する: Linux コマンドラインで、以下のコマンドを使用して実行中のポートのリストを表示できます。
$ netstat -tuln

このコマンドは TCP (-t) と UDP (-u) プロトコルのリスニング (-l) なポートを表示し、数値 (-n) 形式で表示します。

  1. 特定のポートを調べる: 特定のポートの詳細情報を取得するには、以下のコマンドを使用します。例として、ポート番号 80 を調べる場合を示します。
$ netstat -tuln | grep :80

または、lsof コマンドを使用しても同様の情報を取得できます。

$ sudo lsof -i :80

これにより、ポート 80 を使用しているプロセスの詳細が表示されます。

  1. ソケットプログラミングのコード例: C や Python のようなプログラミング言語を使用して、ポートの状態や接続情報を取得するコードを作成することもできます。以下に Python の例を示します。
import socket
def check_port_status(host, port):
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    result = sock.connect_ex((host, port))
    if result == 0:
        print("ポート", port, "は開いています")
    else:
        print("ポート", port, "は閉じています")
    sock.close()
# 使用例
check_port_status('localhost', 80)

上記のコードは、指定したホストとポートに対して TCP 接続を試み、ポートの状態を表示します。