このページをDeliciousに追加 このページをはてなブックマークに追加 このページをlivedoor クリップに追加 このページをYahoo!ブックマークに追加

lsofコマンド

概要

lsof(LiSt Open File)コマンドを用いて、起動しているプロセスの待機ポートの確認が行える。

# lsof -i -n -P  

オプションの代表的なものは以下となる。

-i:ポート番号を指定できる(-i:80など。)。引数を指定しない場合は、すべてが対象となる
-c:プロセスが開いているファイルを表示(-c sshなど。)
-n:IPアドレスからホスト名への変換をしない
-P:ポート番号からサービス名への変換をしない

ポート番号からそのポートを開いているプロセスを調べる

以下によりポート番号22を開いているプロセス調べる場合には以下となる。

# lsof -n -P -i:22
COMMAND  PID     USER   FD   TYPE  DEVICE SIZE NODE NAME
sshd     718     root    3u  IPv6 4749795       TCP 192.168.xx.xx:ssh->100x100x100x100.xxx.xxxxxxxx.ne.jp:23956 (ESTABLISHED)
sshd     720     user    3u  IPv6 4749795       TCP 192.168.xx.xx:ssh->100x100x100x100.xxx.xxxxxxxx.ne.jp:23956 (ESTABLISHED)
sshd    2032     root    3u  IPv6    4616       TCP *:ssh (LISTEN)

プロセスが開いているファイルを表示

以下となる。

# lsof -c ssh
COMMAND  PID     USER   FD   TYPE     DEVICE    SIZE    NODE NAME
sshd     718     root  cwd    DIR       22,9    4096       2 /
sshd     718     root  rtd    DIR       22,9    4096       2 /
sshd     718     root  txt    REG       22,5  308912  547478 /usr/sbin/sshd
sshd     718     root  mem    REG       22,9   14542   49793 /lib/libutil-2.3.4.so
sshd     718     root  mem    REG       22,9   27191   49786 /lib/libcrypt-2.3.4.so
 :