ポート番号を調べるのに lsofコマンドが便利なのでメモ サーバー
ポート番号を調べるのに lsofコマンドが便利なのでメモ
lsofコマンドの使い方
lsofとは
PortやPID、プロセス名からファイルがオープンしている情報を表示するコマンド。
lsofを使ってプロセスが利用しているポートを確認
lsof -i
オプション-i:ポート番号でそのポートを利用しているプロセスを調べることができます。
以下だとapacheが post番号80をつかってる
[root@localhost install]# lsof -i:80
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   14063   root    4u  IPv6 161290      0t0  TCP *:http (LISTEN)
httpd   14064 apache    4u  IPv6 161290      0t0  TCP *:http (LISTEN)
httpd   14065 apache    4u  IPv6 161290      0t0  TCP *:http (LISTEN)
httpd   14066 apache    4u  IPv6 161290      0t0  TCP *:http (LISTEN)
httpd   14067 apache    4u  IPv6 161290      0t0  TCP *:http (LISTEN)
httpd   14068 apache    4u  IPv6 161290      0t0  TCP *:http (LISTEN)
[root@localhost install]# 
あるプロセスが開いているポート番号を調べる方法
lsof コマンドを使うとプロセスが開いているファイル(ソケットも含む)を見れるのをそれを使う。
-n は名前解決しないためのオプション。-P はポート番号をポート名に変換しないようするオプション
lsofコマンドは名前解決をかってにしちゃうし、ポート番号をポート名に変えて表示してしまうためわかりにくい。
-n は名前解決しないためのオプション。-P はポート番号をポート名に変換しないようするオプション をつけるとわかりやすい
たくさんでるので grep TCP とかつけるとわかりやすい
[root@localhost kibana]# lsof -n -P | grep TCP ★これめっちゃつかえる
sshd       918         root    3u     IPv4              14590        0t0        TCP *:22 (LISTEN)
ポート番号から、プロセスIDを調べる場合は lsof -i:[PORT]
※ 補足: ホスト名まで指定する場合は -i@[HOST]:[PORT]
[root@localhost kibana]# lsof -P -i:5601
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
node    6358 kibana   10u  IPv4  26876      0t0  TCP localhost:5601 (LISTEN)
[root@localhost kibana]#