Windows / UNIX問わず、netstat -anなどしたときに表示されるポートを実際に開いているプロセスは何なのか
特定したいときがよくあります。
Windows XPなら、netstat -oが便利です。詳しくは @ITを参照
してもらうとして、ここでは、FreeBSDで特定する方法を紹介します。
fstatはBSD系にしかないようなので、Linux等は fuserで代用できるかもしれませんが、知りません。
一番簡単なのは、sockstatコマンドです。
これで全部わかります。…で、終わってしまうので、その他の方法を。
netstat -anA (a: 全ての接続, n: ポート番号で表示, A: PCBを表示)でPCBを表示させます。
必要ならば netstat -naA | grep "*.8080"等とします。
次に、fstatを実行して、上記コマンドで表示された PCBの列の値キーに表示させます。 ex.) fstat | grep "xxxx"
このとき2番目の列に表示された名前がそのポートを開いているプロセスです。PIDも表示されます。
まとめるなら、
# netstat -anA | grep "*.68" | cut -f1 -d' '
c8104e00
# fstat | grep "c8104e00"
root dhclient 59 6* internet dgram udp c8104e00
などとも書けますね。
|