ss -tulpen显示 TCP/UDP 监听端口和进程信息。
约 737 字大约 2 分钟
2026-05-14
ss、lsof 和 netstat 常用于查看网络连接、监听端口和端口占用。排查“端口被占用”“服务没监听”“连接太多”这类问题时,它们非常实用。
`ss`、`lsof` 和 `netstat` 常用于查看网络连接、监听端口和端口占用。排查“端口被占用”“服务没监听”“连接太多”这类问题时,它们非常实用。
ss -tulpen显示 TCP/UDP 监听端口和进程信息。
sudo lsof -i :8080找出哪个进程占用了 8080。
ss -tan state established列出 established 状态的 TCP 连接。
netstat -tulpen老系统上常见,但新系统更推荐 ss。
ss -tulpen
ss -ltnp
ss -tan state established常见参数:
| 参数 | 含义 |
|---|---|
-t | TCP |
-u | UDP |
-l | 监听状态 |
-p | 显示进程 |
-n | 不解析域名/服务名,显示数字 |
-e | 显示扩展信息 |
sudo lsof -i :80
sudo lsof -iTCP:8080 -sTCP:LISTEN如果启动服务时报 Address already in use,通常可以先用 lsof 查端口占用。
netstat -tulpen
netstat -anp | grep :80很多新发行版默认不再安装 netstat,推荐优先使用 ss。
查谁占用了端口:
sudo lsof -i :端口号查看进程详情:
ps -fp PID判断是修改服务端口,还是停止占用进程。
端口问题通常要回答三个问题:服务有没有监听、监听在哪个地址、防火墙或网络是否允许访问。
| 现象 | 先查什么 | 可能原因 |
|---|---|---|
| 本机访问失败 | ss -lntp | 服务没启动或端口不对 |
| 本机能访问,外部不能 | 监听地址、防火墙 | 只监听 127.0.0.1 或安全组未放行 |
| 端口被占用 | lsof -i :PORT | 旧进程未退出 |
| 连接很慢 | ss -ant | 连接堆积、网络异常 |
127.0.0.1:8000 只允许本机访问
0.0.0.0:8000 监听所有 IPv4 网卡
:::8000 监听 IPv6,具体表现看系统配置很多“服务启动了但外面访问不到”的问题,并不是端口没开,而是服务只绑定在 127.0.0.1。
版权归属:Shuo Liu