kongguguren 2011-05-17
调查打开特定端口程序,可以使用lsof命令。需要用root用户进行执行。
使用-i指定端口号,可以列出使用这个端口的程序。
# lsof -i:22 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME sshd 4814 root 3u IPv6 7930 TCP *:ssh (LISTEN) sshd 5393 root 3u IPv6 9555 TCP 192.168.219.128:ssh->192.168.219.1:60664 (ESTABLISHED)
-i后可以列出多个端口号,用逗号间隔。
# lsof -i:22,3306 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME sshd 4814 root 3u IPv6 7930 TCP *:ssh (LISTEN) mysqld 5115 mysql 13u IPv4 9211 TCP *:mysql (LISTEN) mysqld 5115 mysql 36u IPv4 10920 TCP rdb1:mysql->rdb4:34172 (ESTABLISHED) sshd 5393 root 3u IPv6 9555 TCP 192.168.219.128:ssh->192.168.219.1:60664 (ESTABLISHED)
还可以用-c指定process名。
# lsof -c ssh COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME sshd 4814 root cwd DIR 253,0 4096 2 / sshd 4814 root rtd DIR 253,0 4096 2 / sshd 4814 root txt REG 253,0 387308 2696147 /usr/sbin/sshd sshd 4814 root mem REG 253,0 190712 2704338 /usr/lib/libgssapi_krb5.so.2.2 略