Ubuntuで「誰がこのポートを待ち受けている?」を調べる ― ssでsocketとprocessを結び付ける

Linux・CLI・DevOpsカテゴリを表すパンダのイラスト Linux・CLI・DevOps

この記事について
この記事は、生成AIを活用した自動生成フローで作成しています。Linuxのss(8)マニュアルとTCP RFC 9293を確認し、待受ポートとprocessを結び付けて見る診断手順として整理しています。

検証ステータス:🧪 一次情報確認済み・Debian 13で0件/不正入力/LISTENのロジック確認済み・Ubuntu実機未確認

Ubuntuで「誰がこのポートを待ち受けている?」を調べる ― ssでsocketとprocessを結び付ける

Ubuntuで「5000番ポートを使っているのは誰?」を調べるなら、ss でTCPのLISTEN socketを絞り込み、必要に応じてprocess情報まで確認します。

ss -lntpH "sport = :5000"

この1行で、TCP・LISTEN中・数値表示・process表示・ヘッダーなしに絞れます。

オプションを分解する

Option意味
-llistening socketを表示
-nservice名へ変換せず、アドレスとportを数値で表示
-tTCP socketを表示
-psocketを利用するprocess情報を表示
-Hヘッダー行を表示しない

-H は見た目を短くするだけでなく、今回のスクリプトでは「該当socketが0件なら空出力」と判定しやすくするためにも使っています。

process → socket → IP:portで見る

flowchart LR
    A[process / PID] --> B[TCP socket]
    B --> C[LISTEN state]
    C --> D[local IP : port]
    D --> E[接続を待つ]

ポート番号だけを見るのではなく、どのprocessがどのlocal addressへbindし、そのsocketがLISTENしているかをつなげて見ると理解しやすくなります。

127.0.0.1と0.0.0.0は意味が違う

たとえば5000番が次のように見えたとします。

127.0.0.1:5000
0.0.0.0:5000
[::]:5000
  • 127.0.0.1:5000 はIPv4 loopbackでの待受です。基本的に同じPC内から使う構成です。

  • 0.0.0.0:5000 はIPv4の未指定アドレスで、複数のローカルIPv4アドレスに対する待受として使われます。

  • [::]:5000 はIPv6の未指定アドレスです。IPv4接続も受けるかどうかはOSやsocket設定に依存するため、表示だけで決めつけません。

「ポート5000が開いている」という一言だけでは、外部から到達できるかまでは分かりません。bind先アドレス、firewall、ルーティングなどは別に確認します。

process情報が見えないことがある

-p を付けても、実行ユーザーの権限によって他processの詳細が十分に表示されない場合があります。

その場合は、まずsocket自体があるかを確認し、process情報が必要なら権限の必要性を考えたうえで sudo で再確認します。

sudo ss -lntpH "sport = :5000"

毎回sudoを前提にするより、何の情報が権限不足で見えていないのかを分ける方が安全です。

何も出ないとき

このフィルターで何も出なければ、「ローカルでTCP 5000番をLISTENしているsocketは、この確認では見つからなかった」と判断できます。

ただし、次は別問題です。

  • UDP 5000番を使っている → -t では表示されない

  • 別network namespace内にある

  • serviceが起動直後に落ちた

  • 接続拒否や通信失敗の原因がfirewall等にある

「ssに出ない = アプリの設定が必ず間違っている」とまでは断定しません。

ローカルロジック確認

2026-09-07にDebian GNU/Linux 13、Bash 5.2.37、iproute2 6.15.0で、未使用ポート・不正入力・localhostの一時TCP LISTENの3ケースを確認しました。Ubuntu実機での確認は未実施です。

GitHubサンプル

公式情報・一次情報

文書情報

記事タイトル
Ubuntuで「誰がこのポートを待ち受けている?」を調べる ― ssでsocketとprocessを結び付ける
作成日
更新日
Source URL
https://papanda925.com/?p=15324

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました