在Linux系统中,查看当前网络连接情况是系统管理和故障排查的常见需求。你可以使用几个常用的命令来获取详细的网络连接信息,最常用的是 netstat 和 ss 命令。
使用 ss 命令(推荐)
ss(Socket Statistics)是现代Linux系统中推荐使用的工具,功能比 netstat 更快、更高效。
查看所有网络连接:
ss -tuln
- -t:显示 TCP 连接
- -u:显示 UDP 连接
- -l:显示监听中的端口(Listen状态)
- -n:以数字形式显示地址和端口号,不解析主机名或服务名
如果你想同时查看连接的进程信息,可以加上 -p 选项(需要管理员权限): sudo ss -tulnp
使用 netstat 命令(传统方法)
虽然 netstat 已逐渐被 ss 取代,但在很多系统上仍然可用。
查看所有活动连接和监听端口:
netstat -tuln
- 选项含义与 ss 命令类似
- 查看进程信息:sudo netstat -tulnp
查看特定状态的连接
比如你想查看所有已建立的 TCP 连接: ss -t state established 查看处于 TIME-WAIT 或 CLOSE-WAIT 状态的连接: ss -t state time-wait ss -t state close-wait
结合 grep 进一步过滤
如果只想查看某个端口(如 80 或 443)的情况: ss -tuln | grep :80 或者查看与特定IP的连接: ss -tuln | grep 192.168.1.100
基本上就这些。日常使用推荐优先掌握 ss 命令,它响应更快,输出更清晰,是当前主流发行版的标准工具。