上一篇                     
               
			  Linux查看端口号命令有哪些
- Linux
- 2025-06-08
- 4987
 Linux查看端口号常用命令:,1. 
 
 
ss -tuln 查看监听端口(推荐),2. 
 netstat -tulnp 查看监听端口及进程,3. 
 lsof -i 查看所有网络连接,4. 
 sudo lsof -i :端口号 查指定端口进程,需root权限查看全部信息。
Linux查看端口号的详细指南
在Linux系统中,端口号是网络通信的关键标识,用于区分不同服务或应用程序,无论是排查网络问题、监控服务状态还是加固系统安全,掌握查看端口号的方法都至关重要,以下是几种常用且可靠的命令工具,每种方法均经过验证并适用于主流Linux发行版(如Ubuntu、CentOS、Debian等)。
使用 netstat 命令(经典工具)
 
netstat 是传统的网络统计工具,可查看端口监听状态和连接信息。
安装与使用: 
# 若未安装,先执行(基于发行版): sudo apt install net-tools # Debian/Ubuntu sudo yum install net-tools # CentOS/RHEL # 查看所有监听端口(-l)和关联进程(-p): sudo netstat -tulnp
输出示例:
Proto Recv-Q Send-Q Local Address   Foreign Address  State    PID/Program name
tcp        0      0 0.0.0.0:22      0.0.0.0:*        LISTEN   1234/sshd
tcp6       0      0 :::80           :::*             LISTEN   5678/nginx参数解析:
- -t:仅显示TCP端口
- -u:仅显示UDP端口
- -l:列出监听状态(LISTEN)的端口
- -n:以数字形式显示端口(不解析服务名)
- -p:显示占用端口的进程信息(需sudo权限)
使用 ss 命令(推荐,更高效)
 
ss(Socket Statistics)是netstat的现代替代品,速度更快且功能丰富。
基础命令: 
# 查看所有TCP/UDP监听端口和进程: sudo ss -tulnp
输出示例:

Netid State  Local Address:Port Peer Address:Port Process
tcp   LISTEN 0.0.0.0:22       0.0.0.0:*      users:(("sshd",pid=1234,fd=3))
tcp   LISTEN :::80            :::*           users:(("nginx",pid=5678,fd=6))进阶用法:
- 检查特定端口(如443):sudo ss -tun sport = :443
- 查看所有已建立连接:ss -t state established
使用 lsof 命令(精准定位进程)
 
lsof(List Open Files)通过文件描述符查看端口占用,适合定位进程。
安装与使用: 
# 安装lsof: sudo apt install lsof # Debian/Ubuntu sudo yum install lsof # CentOS/RHEL # 查看所有监听端口: sudo lsof -i -P -n | grep LISTEN
输出示例:
sshd    1234 root    3u  IPv4 12345      0t0  TCP *:22 (LISTEN)
nginx   5678 root    6u  IPv6 67890      0t0  TCP *:80 (LISTEN)参数解析:

- -i:显示网络连接
- -P:禁止端口名解析(显示数字端口)
- -n:禁止主机名解析(显示IP地址)
使用 nmap 扫描端口(检测开放端口)
 
nmap 是网络扫描工具,适合检查本机或远程主机的开放端口。
安装与扫描本机: 
# 安装nmap: sudo apt install nmap # Debian/Ubuntu sudo yum install nmap # CentOS/RHEL # 扫描本机所有端口(需root权限): sudo nmap -sT -p- 127.0.0.1
输出示例:
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https常用参数:
- -sT:TCP连接扫描
- -p-:扫描所有端口(1-65535)
- 扫描特定端口:nmap -p 22,80,443 localhost
通过 /proc 文件系统(底层查看)
 
Linux内核通过/proc暴露端口信息,适合脚本调用: 

# 查看TCP/UDP端口占用: cat /proc/net/tcp # TCP端口(十六进制) cat /proc/net/udp # UDP端口 # 解析十六进制端口(如22→0x0016→22): echo "ibase=16; 0016" | bc
关键注意事项
-  权限要求: - netstat、- ss、- lsof查看进程信息需- sudo权限。
- 普通用户可运行 ss -tuln或netstat -tuln(不显示进程名)。
 
-  安全实践: - 关闭无用端口以减少攻击面,如使用 firewall-cmd或ufw。
- 定期检查异常连接:ss -antp | grep ESTAB。
 
- 关闭无用端口以减少攻击面,如使用 
-  工具选择建议: 
 | 场景 | 推荐工具 |
 |———————|—————|
 | 快速查看监听端口 |ss|
 | 定位进程占用 |lsof|
 | 全端口扫描 |nmap|
 | 兼容旧系统 |netstat|
- 日常监控推荐 ss -tulnp,高效且无需额外安装。
- 调试进程关联首选 lsof -i -P -n。
- 全面扫描使用 nmap,但需注意网络扫描的合法性。
 掌握这些方法,可轻松应对端口监控、故障排查及安全审计需求。
引用说明: 基于 Linux 官方文档(man7.org)及以下工具手册:
- ss命令手册:- man ss
- netstat指南:- man netstat
- Nmap 官方文档:nmap.org/book/man.html
- Linux 网络管理权威参考:《Linux Network Administrator’s Guide》(O’Reilly)
 
  
			 
			 
			 
			 
			 
			 
			