我对这个命令感到很着迷netstat
。
在 man 中我们可以读到,在 Active Internet Connections (TCP, UDP, raw) 的输出中我们应该有:
用户:套接字所有者的用户名或用户 ID (UID)。
但当我这样做
netstat -natp
我的输出没有显示任何所有者(或 UID)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:4713 0.0.0.0:* LISTEN 2159/pulseaudio
(...)
并且我没有看到任何显示 PID 所有者的选项。
有这个--numeric-users
选项,但是它不会改变任何东西。
我是不是漏掉了什么?还是 netstat 出了问题?还有
其他方法可以获取此信息吗?
感谢您的帮助 :)
答案1
使用netstat -natpe
。
从手册页中:
-e, --extend
Display additional information. Use this option twice for maximum detail.
清澈如泥。
这将在显示中添加两列,即用户和 Inode。
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 100 13119 1901/mysqld
答案2
或者,您可以使用lsof -i
向用户显示的内容。
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 32500 apache 4u IPv6 14390 0t0 TCP *:http (LISTEN)
httpd 32501 apache 4u IPv6 14390 0t0 TCP *:http (LISTEN)
httpd 32502 apache 4u IPv6 14390 0t0 TCP *:http (LISTEN)
httpd 32503 apache 4u IPv6 14390 0t0 TCP *:http (LISTEN)