すがブロ

sugamasaoのhatenablogだよ

開いているポートを確認するには

netstat で調べる

netstat コマンドでポートが開いているかは確認できる。
LISTEN で grep すれば待ち受けているポート番号が確認できる。

/tmp% netstat -an | grep LISTEN
tcp4       0      0  *.18101                *.*                    LISTEN
tcp4       0      0  127.0.0.1.8823         *.*                    LISTEN
tcp4       0      0  *.3306                 *.*                    LISTEN
tcp46      0      0  *.10080                *.*                    LISTEN
tcp4       0      0  127.0.0.1.631          *.*                    LISTEN
tcp6       0      0  ::1.631                *.*                    LISTEN

だけど、これじゃあどのプロセスがポートを使っているか確認できません\(^o^)/
普通はどうやって確認するんだろうか。

おれは

telnet localhost hogehoge

とやって確認したいポート番号(hogehogeの部分)を叩いて、そのポートで待ち受けているであろうプロセスのログを確認しているんだが、微妙に遠回りしている気がするね\(^o^)/

例えば port 80 で apache が動いているとして、それを確認するには

telnet localhost 80

として、ログファイルに何かアクセスがあったか確認する。

tail -f /opt/local/apache2/logs/access_log

手元の apache では telnet でつないだだけではログに出ないので、適当なコマンドを送ってみると良い(postfix とかだと、つないだだけでログが出る)。

追記

コメントで教えていただいた lsof がYABEEEEEEE!!!

tmtms 2008/03/13 07:45
lsof コマンドが良いですよ。