2015-03-28
■ [計算機環境][ツール]Linuxで開いているポート及びそのポートを使用しているプロセスとユーザを取得する方法
おっぱいこわい!id:e_p_iです。
今日はLinuxで開いているポート及びそのポートを使用しているプロセスとユーザを取得する方法について書いてみます。
何を使うか?言ってしまうとnetstatです。netstatで以下のオプションを使います。
-n, --numeric don't resolve names -e, --extend display other/more information -p, --programs display PID/Program name for sockets -a, --all display all sockets (default: connected) -t|--tcp -u|--udp
打つときは
$ sudo netstat -epantu
-epantu いいパンツ!いいパンツでお願いします!
これを打つと
$ sudo netstat -epantu Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 0 88830337 16314/unbound tcp 0 0 127.0.0.1:8118 0.0.0.0:* LISTEN 73 202016222 19809/privoxy tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 0 19926 906/cupsd tcp 0 0 127.0.0.1:3128 0.0.0.0:* LISTEN 0 228976246 19804/(squid-1) tcp 0 0 127.0.0.1:14777 0.0.0.0:* LISTEN 1000 235107954 18569/uget-gtk tcp 0 0 127.0.0.1:8953 0.0.0.0:* LISTEN 0 88830339 16314/unbound tcp 0 0 127.0.0.1:8123 0.0.0.0:* LISTEN 987 228976243 4568/polipo ...
の様にずらっと表示がされますが、ここでUser列の番号は/etc/passwdに記述されているuidと対応しているので、誰がどのプロセスでどのポートを使っているのかが分かるようになっています。
そんなわけで、唱えよ!いいパンツ!
これで環境調査が捗りそうですね。