2004年01月20日
ソケットの状況を調べるには
netstatを使えば,どのポートが接続待ちであり,接続が確立されているかを表示してくれる.
しかし,そのポートをどのプロセスが開いているかを示してくれない.
ポートを開いているプロセスまで表示してくれるものには,sockstat や lsof がある.
netstatを使えば,どのポートが接続待ちであり,接続が確立されているかを表示してくれる.
しかし,そのポートをどのプロセスが開いているかを示してくれない.
% netstat -a
ポートを開いているプロセスまで表示してくれるものには,sockstat や lsof がある.
FreeBSDでは/usr/bin/sockstatがシステム付属ツールとして提供されている.
% sockstat
また,lsof を別途インストールして使うこともできる.
# /usr/ports/sysutils/lsof
# make install
# lsof -i
RedHat Linuxでは/usr/sbin/lsofがシステム付属ツールとして提供されている.
lsofはroot権限で実行しなければ,システム全体のソケットの状況を調べることができない.
# lsof -i
ちなみに,lsofを-iオプションなしで実行すると,ローカルファイルを開いているプロセスを見ることができる.これと同じことをFreeBSDでは/usr/bin/fstatが行う.