上一篇
Linux查看端口号命令有哪些
- Linux
- 2025-06-08
- 4033
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)