推荐使用 sudo ss -tuln 查看系统监听端口,它高效清晰;再结合 firewall-cmd --list-ports、ufw status verbose 或 iptables -L INPUT -n -v 确认防火墙放行情况。

直接查看当前系统开放(即监听中)的端口,关键看两点:一是哪些端口正在被服务监听,二是这些端口是否被防火墙放行。前者反映服务实际在运行并等待连接,后者决定外部能否访问。下面分场景说明常用、可靠的方法。
用 ss 查看所有监听中的端口(推荐首选)
ss 是现代 Linux 系统默认自带的高效工具,比 netstat 更快、更轻量,输出也更清晰。
- 运行 sudo ss -tuln:列出所有 TCP(-t)和 UDP(-u)监听端口,以数字形式显示(-n),不解析服务名或主机名
- 加 -p 参数可显示占用端口的进程(需 root 权限):sudo ss -tulnp
- 只查 TCP 监听端口: sudo ss -tln;只查 UDP:sudo ss -uln
用 netstat 查看监听端口(兼容性好)
如果系统较老或 ss 输出不符合习惯,netstat 依然可用,但部分发行版需先安装 net-tools 包。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 基础命令:sudo netstat -tuln,参数含义与 ss 完全对应
- 带进程信息:sudo netstat -tulnp
- Ubuntu/Debian 安装方法:sudo apt install net-tools;CentOS/RHEL:sudo yum install net-tools 或 dnf install net-tools
用 lsof 查端口及其所属进程(精准定位)
lsof 把网络连接视为“打开的文件”,适合快速确认某个端口被谁占用,尤其适合排查冲突。
- 查所有监听的网络端口:sudo lsof -i -P -n | grep LISTEN
- 查特定端口(如 8080):sudo lsof -i :8080
- 只看 TCP 监听:sudo lsof -i tcp -s tcp:listen
确认防火墙是否真正放行了这些端口
即使服务在监听,若防火墙未开放,外部仍无法访问。需结合防火墙类型检查:
- firewalld(CentOS/RHEL 7+、Fedora):sudo firewall-cmd --list-ports(当前 zone)或 sudo firewall-cmd --zone=public --list-ports
- ufw(Ubuntu/Debian):sudo ufw status verbose
- iptables(传统方式):sudo iptables -L INPUT -n -v,重点关注 ACCEPT 规则中的 dpt(目标端口)

















