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本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】
Search
Recent Posts
- カーネル更新やパッケージのパッチ適用後、OSの再起動が必要か確認するLinuxコマンド(needs-restarting)
- OpenSSHのエラー「bad ownership or modes for chroot directory component」の原因と解消方法
- Apacheの起動状態をチェックして停止してる場合にApacheを起動するシェルスクリプト
- Amazon LinuxのOSバージョンを調べる方法|/etc/redhat-release の代替ファイル
- MYSQLでダンプファイルを取得する際に発生したエラー「Couldn't execute 'SELECT BINLOG_GTID_POS('', '0')': You are not using binary logging (1381)」の原因と対処方法