Linux 端口详解:工作原理、查看方法及安全管理
在 Linux 系统中,端口(Port)是网络通信的重要组成部分,所有的网络服务(如 HTTP、SSH、FTP)都依赖端口进行数据传输。正确理解和管理端口对服务器的安全性和性能至关重要。本文将详细介绍 Linux 端口的概念、分类、常用端口、查看和管理方法,以及如何优化端口安全性。

一、什么是端口?
端口是计算机与外部通信的 逻辑通道,用于区分同一 IP 地址上的不同服务。每个端口由 16 位整数(0~65535) 表示,其中不同端口号对应不同的网络服务。
例如:
- 80 端口 —— HTTP(网页服务) 
- 22 端口 —— SSH(远程登录) 
- 443 端口 —— HTTPS(加密网页服务) 
二、Linux 端口分类
Linux 端口按 端口号范围 和 传输协议 进行分类。
1. 按端口号范围分类
| 端口范围 | 描述 | 
|---|---|
| 0-1023(知名端口,Well-Known Ports) | 系统端口,常用于标准服务(如 HTTP、SSH、FTP) | 
| 1024-49151(注册端口,Registered Ports) | 用户端口,应用程序可申请使用 | 
| 49152-65535(动态端口,Dynamic Ports) | 临时端口,通常由系统动态分配给客户端 | 
2. 按传输协议分类
| 协议 | 描述 | 
|---|---|
| TCP(传输控制协议) | 面向连接,可靠传输(如 HTTP、SSH) | 
| UDP(用户数据报协议) | 无连接,快速传输(如 DNS、视频流) | 
三、常见 Linux 端口及用途
| 端口号 | 服务 | 说明 | 
|---|---|---|
| 20、21 | FTP | 文件传输协议 | 
| 22 | SSH | 远程登录 | 
| 25 | SMTP | 发送邮件 | 
| 53 | DNS | 域名解析 | 
| 80 | HTTP | 网页服务 | 
| 110 | POP3 | 接收邮件 | 
| 143 | IMAP | 邮件同步 | 
| 443 | HTTPS | 加密网页 | 
| 3306 | MySQL | 数据库 | 
| 6379 | Redis | 缓存数据库 | 
| 27017 | MongoDB | NoSQL 数据库 | 
四、如何查看 Linux 端口占用情况?
1. 使用 netstat 命令
netstat -tulnp
- -t:显示 TCP 端口
- -u:显示 UDP 端口
- -l:显示监听中的端口
- -n:以数字方式显示端口
- -p:显示相关进程
示例输出:
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 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2345/nginx
2. 使用 ss 命令
ss 是 netstat 的替代工具,更高效:
ss -tulnp
3. 使用 lsof 命令
lsof -i :80
查看占用 80 端口的进程。
4. 使用 nmap 扫描端口
nmap -p 1-65535 localhost
扫描本机所有端口,需安装 nmap 工具。
五、如何管理 Linux 端口?
1. 开启或关闭端口
使用 firewalld 或 iptables 管理端口。
(1)Firewalld
查看开放端口:
firewall-cmd --list-ports
开放 8080 端口:
firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload
关闭 8080 端口:
firewall-cmd --permanent --remove-port=8080/tcp firewall-cmd --reload
(2)iptables
开放 8080 端口:
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT service iptables save service iptables restart
关闭 8080 端口:
iptables -D INPUT -p tcp --dport 8080 -j ACCEPT service iptables save service iptables restart
2. 杀死占用端口的进程
如果发现某个端口被占用,可以通过 kill 终止进程:
fuser -k 8080/tcp
或者:
kill -9 $(lsof -t -i:8080)
六、Linux 端口安全管理
1. 关闭不必要的端口
使用 netstat -tulnp 查看不需要的端口,并关闭相关服务:
systemctl stop 服务名 systemctl disable 服务名
2. 限制 SSH 端口
默认 SSH 运行在 22 端口,可修改 /etc/ssh/sshd_config:
Port 2222
然后重启 SSH:
systemctl restart sshd
3. 使用 fail2ban 防止暴力破解
yum install fail2ban -y systemctl start fail2ban
4. 使用 UFW 管理端口(Ubuntu)
ufw allow 22/tcp # 允许 SSHufw allow 80/tcp # 允许 HTTPufw deny 3306/tcp # 禁止远程 MySQLufw enable # 启用 UFW
七、总结
🔹 端口是 Linux 服务器上进行网络通信的重要通道,分为 知名端口(0-1023)、注册端口(1024-49151) 和 动态端口(49152-65535)。
🔹 常见端口包括 22(SSH)、80(HTTP)、443(HTTPS)、3306(MySQL) 等。
🔹 可以使用 netstat、ss、lsof、nmap 等工具查看端口占用情况。
🔹 通过 firewalld、iptables、UFW 管理端口,提高服务器安全性。
🔹 关闭不必要的端口、修改 SSH 端口、使用 fail2ban 等措施 可增强服务器防护。
掌握 Linux 端口管理,可以有效优化服务器性能并提高安全性!🚀
1、部分文章来源于网络,仅作为参考。 2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!






