Linux上でサービスがリスニングしてるポート番号を確認するコマンド

目次

スポンサードリンク

Linuxではバックグラウンドで実行されるプログラムの事を、サービスやデーモンと呼びます。サービスやデーモンはバックグラウンドで実行されるプログラムのことを指します。

代表的なサービス・デーモン

代表的なサービス・デーモンには、以下のようなものがあります。

  • Webサーバー
  • データベースサーバー
  • メールサーバー
  • FTPサーバー
  • 印刷サービス

サービスは、systemd というユーティリティを使って管理されます。systemd は、サービスの起動、停止、ステータス確認などの操作を行うことができます。

Linuxのポート番号とは

Linuxのポート番号は、ネットワーク上の通信において、アプリケーションが使用する番号です。ポート番号は特定のアプリケーションと関連付けされ、複数のアプリケーションが同じポートを使用することはできません。 ポート番号は、0から65535までの範囲で自由に設定することができます。

ポート番号の利用状況を確認するコマンド

ssコマンドを使う方法
Linux システムにおける ネットワーク接続 と ソケット の情報を表示するコマンドです。netstat コマンドの後継として開発されており、より詳細な情報を提供します。 接続の状態 (ESTABLISHED、TIME_WAIT、SYN_SENT など)や送受信済みバイト数、プロセス ID (PID)、ローカルアドレスとポート番号、リモートアドレスとポート番号などを確認できます。

以下コマンドで LISTEN状態のポート番号を確認できます。

ss -lnp

-l オプションでLISTEN 状態の接続のみを表示し、-n オプションで使用するポート番号をサービス名(domainなど)ではなく数字で表示しています。-p オプションで関連するプロセスの情報も表示するようにしています。

特定のアプリケーションがリスニングしているポートを確認したい際は以下のように grep コマンドでフィルタします。試しに httpd がリスニングしているポートを確認します。

[root@hostname ~]# ss -lnp | grep httpd
u_dgr UNCONN 0      0                                       * 26837                  * 0        users:(("httpd",pid=2424512,fd=370),("httpd",pid=2424506,fd=370),("httpd",pid=2423200,fd=370),("httpd",pid=2422768,fd=370),("httpd",pid=2422767,fd=370),("httpd",pid=2422766,fd=370),("httpd",pid=2422760,fd=370),("httpd",pid=2422759,fd=370),("httpd",pid=2422758,fd=370),("httpd",pid=2422757,fd=370),("httpd",pid=2422756,fd=370),( httpd",pid=1465,fd=370))
tcp   LISTEN 0      511                                     *:80                     *:*        users:(("httpd",pid=2424512,fd=4),("httpd",pid=2424506,fd=4),("httpd",pid=2423200,fd=4),("httpd",pid=2422768,fd=4),("httpd",pid=2422767,fd=4),("httpd",pid=2422766,fd=4),("httpd",pid=2422760,fd=4),("httpd",pid=2422759,fd=4),("httpd",pid=2422758,fd=4),("httpd",pid=2422757,fd=4),("httpd",pid=2422756,fd=4),("httpd",pid=1465,fd=4))
tcp   LISTEN 0      511                                     *:443                    *:*        users:(("httpd",pid=2424512,fd=6),("httpd",pid=2424506,fd=6),("httpd",pid=2423200,fd=6),("httpd",pid=2422768,fd=6),("httpd",pid=2422767,fd=6),("httpd",pid=2422766,fd=6),("httpd",pid=2422760,fd=6),("httpd",pid=2422759,fd=6),("httpd",pid=2422758,fd=6),("httpd",pid=2422757,fd=6),("httpd",pid=2422756,fd=6),("httpd",pid=1465,fd=6))

ssコマンドの結果をgrepコマンドでフィルタリングしています。上記例ではLISTEN状態ポートの内、httpdプロセスが使用するポートを表示しています。これらのコマンドを使って、どのアプリケーションがどのポートを使用しているのかを確認することができます。


Linuxコマンドについて学べるおすすめ書籍

Linuxコマンドについて徹底的に学べるUdemy講座
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】 icon