2009年9月11日金曜日

ポートを使用しているプロセスを調べる

Linux の場合は、"lsof -i" を使用する。
例えば、22/tcp を使用しているプロセスを調べるには、以下のようにする。

$ sudo lsof -ni :22
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
sshd 3001 root 3u IPv4 6479 TCP *:ssh (LISTEN)
sshd 3001 root 4u IPv6 6481 TCP *:ssh (LISTEN)
sshd 7884 root 3r IPv4 29352 TCP 192.168.1.10:ssh->192.168.11.10:1849 (ESTABLISHED)
sshd 7892 nonsugar 3u IPv4 29352 TCP 192.168.1.10:ssh->192.168.11.10:1849 (ESTABLISHED)

Windows の場合は、"netstat -o" を使用する。
>netstat -ano | find ":22 "
TCP 0.0.0.0:22 0.0.0.0:0 LISTENING 1208
TCP 192.168.11.10:1849 192.168.1.10:22 ESTABLISHED 2128
PID がわかるので、タスク マネージャを使って、PID のプロセス名を調べる。
PID の列が無い場合は、メニュー > 表示 > 列の選択... で、チェックを入れる。
この例では、PID = 1208 は、"sshd.exe"。PID = 2128 は、"ssh.exe"。

参考

0 件のコメント: