Linux中netstat查看端口命令
Linux中netstat查看端口命令详细介绍
在 Linux 中,netstat 命令常用于查看网络连接、端口监听、路由表等信息。以下是查看端口相关的常用命令及参数说明:
1. 查看所有监听端口(TCP/UDP)
仅显示监听状态的端口(常用):
bash
- 参数解释:
-l:仅显示处于 监听状态(Listening)的端口。-t:显示 TCP 端口。-u:显示 UDP 端口。-n:以 数字形式 显示 IP 地址和端口号(不解析域名或服务名)。
示例输出:
plaintext
Active Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:68 0.0.0.0:*
2. 查看所有活动连接(包括已建立的连接)
bash
- 参数
-a:显示所有活动连接(包括监听和已建立的连接)。 - 其他参数同上(
-n数字形式,-tTCP 端口)。
3. 查看指定协议的端口
仅查看 TCP 监听端口:
bash
仅查看 UDP 监听端口:
bash
4. 查看端口对应的进程信息(PID 和进程名)
bash
- 参数
-p:显示占用端口的 进程 ID(PID) 和 进程名称。
(需要root权限或使用sudo,否则可能只显示当前用户的进程)。
示例输出:
plaintext
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 987/sshd
5. 查看特定端口是否被占用
检查 TCP 端口(如 8080):
bash
检查 UDP 端口(如 53):
bash
6. 按端口号排序输出
bash
-k 4:按第 4 列(本地端口)排序。
注意事项
- 替代工具
ss:
现代 Linux 系统(如 Ubuntu 18.04+、CentOS 7+)更推荐使用ss命令(更快、更高效),用法类似:
bashssss
- 权限问题:
查看所有进程的端口信息需使用sudo,例如:
bash - 状态说明:
LISTEN:端口正在监听。ESTABLISHED:已建立的连接。TIME_WAIT:连接已关闭,处于等待状态(正常现象,可忽略)。
通过组合上述参数,可灵活查看端口状态、监听情况及对应的进程信息。