netstat -tuln 可快速列出所有监听的 tcp/udp 端口(数字形式),-t 限 tcp,-u 限 udp,-l 过滤 listen 状态,-n 禁用解析提速;local address 显示绑定范围,加 -p(需 sudo)可查 pid 和进程名。

直接运行 netstat -tuln 就能列出当前系统中所有正在监听的 TCP 和 UDP 端口,不解析域名和端口名,结果清晰、执行快。
理解命令参数含义
每个字母对应一个关键行为:
- -t:只显示 TCP 类型的监听套接字
- -u:只显示 UDP 类型的监听套接字
- -l:过滤出状态为 LISTEN(即等待连接)的端口,排除已建立的连接
- -n:用数字形式显示 IP 和端口号,跳过 DNS 和 /etc/services 查找,避免延迟,也更利于脚本处理
快速识别监听范围与绑定地址
输出中 Local Address 一栏能看出服务对外暴露的程度:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 0.0.0.0:80 表示监听本机所有 IPv4 网络接口,外部可访问
- 127.0.0.1:3306 表示仅允许本地进程连接(如 MySQL 默认配置)
- [::]:22 表示监听全部 IPv6 地址,等效于 IPv4 的 0.0.0.0
- 192.168.1.100:8080 表示只绑定在特定网卡上,其他网段无法访问
查看具体端口是否被占用
结合 grep 可快速定位目标端口,例如检查 8080 是否在监听:
netstat -tuln | grep :8080
如果有输出且含 LISTEN,说明该端口正被监听;若无任何返回,则未启用或未监听。
补充:需要看到进程信息怎么办
默认 -tuln 不显示哪个程序在用端口。如需 PID 和进程名,加 -p 参数并用 sudo 运行:
sudo netstat -tulnp | grep :80
输出类似:tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1234/nginx
其中 1234 是进程 PID,nginx 是服务名。










