開いているポートを確認するには
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 コマンドが良いですよ。