使用 ss
命令探索网络连接
在这一步骤中,你将学习如何使用 ss
命令来探索和分析 Linux 系统中的网络连接。
首先,让我们显示所有活动的网络连接:
sudo ss -a
示例输出:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 4096 127.0.0.1:6379 0.0.0.0:*
ESTAB 0 0 172.17.0.2:36578 172.17.0.1:22
UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:*
UNCONN 0 0 172.17.0.2:41378 8.8.8.8:53
此命令显示所有活动的套接字,包括监听和非监听套接字。
要仅显示监听中的套接字,可以使用 -l
选项:
sudo ss -l
示例输出:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 4096 127.0.0.1:6379 0.0.0.0:*
LISTEN 0 4096 /run/dbus/system_bus_socket *:*
LISTEN 0 4096 /run/systemd/journal/stdout *:*
此命令显示系统中所有正在监听的套接字,这些套接字正在等待传入连接。
要显示使用特定套接字的进程,可以使用 -p
选项:
sudo ss -ltp
示例输出:
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 127.0.0.1:6379 0.0.0.0:* users:(("redis-server",pid=520,fd=6))
LISTEN 0 4096 /run/dbus/system_bus_socket *:* users:(("dbus-daemon",pid=518,fd=10))
LISTEN 0 4096 /run/systemd/journal/stdout *:* users:(("systemd-journal",pid=516,fd=13))
此命令显示每个监听套接字所使用的进程 ID 和进程名称。
通过探索 ss
命令的输出,你可以深入了解 Linux 系统中的网络连接,这对于故障排查和监控非常有用。