怎么查看linux中的端口号
怎么查看linux中的端口号详细介绍
在 Linux 中查看端口号的使用情况,可以通过以下常用命令实现,以下是具体步骤和方法:
一、使用 netstat 命令(经典工具)
netstat 用于显示网络连接、路由表、网络接口状态等信息,常用选项如下:
1. 查看所有
监听状态 的端口(TCP/UDP)
bash
-t:显示 TCP 端口-u:显示 UDP 端口-n:以数字形式显示端口号(不解析服务名称)-l:仅显示 监听状态(LISTEN)的端口-p:显示占用端口的 进程 PID 和 进程名称
2. 查看指定端口(如 TCP 80 端口)
bash
:80
:80:指定端口号,可替换为其他端口(如:443、:3306等)。
二、使用 ss 命令(更高效的新工具)
ss 是新一代网络统计工具,比 netstat 更高效,语法类似:
1. 查看所有监听端口(TCP/UDP)
bash
ss
- 选项含义与
netstat类似,-l表示监听状态,-t/-u对应协议,-n显示数字端口。
2. 查看指定端口(如 TCP 80)
bash
ss :80
三、使用 lsof 命令(通过文件描述符查看)
lsof 用于列出打开的文件和网络连接,可直接关联端口和进程:
1. 查看所有网络连接的端口
bash
2. 查看
监听状态 的端口
bash
LISTEN
-P:不解析端口名称(如将http转为80)-n:不解析主机名(显示 IP 数字)
3. 查看指定端口(如 TCP 80)
bash
:80
四、查看特定协议的端口
1. 仅查看 TCP 监听端口
bash
2. 仅查看 UDP 监听端口
bash
五、过滤和筛选结果
- 按端口号过滤(如 3306):bash
:3306ss :3306
:3306
- 按进程名过滤(如查看
nginx占用的端口):bashnginxss nginx
nginx
六、补充说明
- 权限问题:部分命令需要管理员权限(使用
sudo),否则可能无法显示所有端口。 - 服务与端口映射:若需查看服务对应的端口(如 Docker 容器端口映射),可结合
netstat/ss与容器工具(如docker ps)。 - 系统状态监控:实时监控端口变化可使用
watch命令,例如:bash
总结常用命令
| 需求 | 命令示例 | |
|---|---|---|
| 所有监听端口 | sudo netstat -tunlp 或 sudo ss -ltun |
|
| 指定端口占用 | sudo lsof -i :端口号 或 `netstat ... |
grep : 端口号 ` |
| 进程关联的端口 | sudo netstat -tunlp(含 PID / 进程名) |
根据需求选择合适的工具,ss 和 lsof 在性能和信息完整性上表现更优,推荐优先使用。