
一、端口的基本概念
- 作用
- 当多个软件同时通过网络传输数据时,端口用于标识具体的通信进程(如浏览器、邮件客户端、文件传输工具等)。
- 分为 TCP 端口 和 UDP 端口,分别对应两种不同的网络传输协议。
- 端口分类
- 知名端口(Well-Known Ports):0-1023,固定分配给常见服务(如 80 端口用于 HTTP,443 用于 HTTPS,22 用于 SSH)。
- 注册端口(Registered Ports):1024-49151,分配给用户程序或服务(如 3306 用于 MySQL,8080 用于 Web 服务器备用端口)。
- 动态 / 私有端口(Dynamic/Private Ports):49152-65535,由操作系统动态分配给临时进程。
二、查看电脑上软件使用的端口(不同系统方法不同)
1. Windows 系统
方法 1:通过命令提示符(CMD)
- 查看所有活动端口及对应进程:
打开 CMD,输入:
bash
TCP
/UDP
:协议类型本地地址
:电脑的 IP 和端口(如0.0.0.0:80
表示所有 IP 的 80 端口)外部地址
:连接的目标 IP 和端口(0.0.0.0:0
表示未连接)状态
:TCP 连接状态(如LISTENING
表示监听,ESTABLISHED
表示已连接)PID
:进程 ID(通过tasklist | findstr "PID"
可查询对应的程序名称)。
- 查看指定端口是否被占用:
bashfindstr
例如,查看 80 端口:
bashfindstr
方法 2:任务管理器(更直观)
- 打开任务管理器 → 切换到 “性能” 选项卡 → 点击 “打开资源监视器” → 在 “网络”→“端口活动” 中查看端口对应的进程。
2. macOS/Linux 系统
方法 1:使用netstat
或ss
命令
- 查看所有端口及进程:bash
LISTEN ss
-t
:TCP 端口,-u
:UDP 端口,-l
:监听状态,-p
:显示进程信息。
方法 2:使用lsof
命令(列出打开的文件,包括网络端口)
bash
:端口号
LISTEN
三、常见软件对应的端口示例
端口号 | 协议 | 服务 / 软件 | 说明 |
---|---|---|---|
21 | TCP | FTP | 文件传输协议(控制连接) |
22 | TCP | SSH/SFTP | 远程登录 / 安全文件传输 |
23 | TCP | Telnet | 远程登录(不安全,逐渐被 SSH 取代) |
80 | TCP | HTTP | 网页浏览 |
443 | TCP | HTTPS | 加密网页浏览 |
3306 | TCP | MySQL | 数据库服务 |
5432 | TCP | PostgreSQL | 数据库服务 |
8080 | TCP | 自定义 Web 服务 | 常用作 HTTP 备用端口(如 Tomcat 服务器) |
3389 | TCP | RDP | Windows 远程桌面 |
5900 | TCP | VNC | 远程桌面可视化控制 |
四、端口安全注意事项
- 检查异常端口
- 定期使用上述命令查看是否有未知进程占用端口,尤其是动态端口范围(如 49152+),警惕恶意软件(如病毒、木马)通过端口隐蔽通信。
- 可疑 PID 可通过任务管理器或在线工具(如Process Explorer)查询对应的程序路径。
- 关闭不必要的端口
- Windows:通过 “控制面板→Windows 防火墙→高级设置” 禁用不需要的端口。
- Linux:使用
firewall-cmd
(CentOS)或ufw
(Ubuntu)命令配置防火墙规则。
- 避免端口冲突
- 启动软件时若提示 “端口被占用”,可更换端口(如将 80 改为 8080),或关闭占用端口的进程。
总结
端口是软件网络通信的 “门牌号”,通过系统工具(如
netstat
、任务管理器、lsof
)可查看端口占用情况。了解常用端口的功能有助于排查网络问题或保障系统安全。如果需要进一步分析某个端口的具体通信情况,可使用 Wireshark 等抓包工具进行深度监控。