linux系统,常见端口介绍

在 Linux 系统中,端口(Port)是网络通信的逻辑通道,范围从 0 到 65535 。其中 0--1023 被称为 "知名端口"(Well-Known Ports) ,通常由系统服务使用,需要 root 权限才能绑定。

下面列出 Linux 环境中最常见、最实用的端口及其作用,按类别分类,便于理解和运维。


🔑 一、系统与基础服务端口

端口 协议 服务/用途 说明
22 TCP SSH(Secure Shell) 远程登录、文件传输(scp/sftp),Linux 最重要的管理端口
23 TCP Telnet 明文远程登录(不安全,已淘汰
53 TCP/UDP DNS(Domain Name System) 域名解析,UDP 用于查询,TCP 用于区域传输
123 UDP NTP(Network Time Protocol) 时间同步(如 chronyntpd
161/162 UDP SNMP(Simple Network Management Protocol) 网络设备监控(161 查询,162 告警)

🌐 二、Web 与 HTTP 相关端口

端口 协议 服务/用途 说明
80 TCP HTTP 标准 Web 服务(明文)
443 TCP HTTPS 加密 Web 服务(SSL/TLS)
8080 TCP HTTP 代理 / 备用 Web 端口 常用于开发测试、反向代理后端(如 Tomcat、Gunicorn)
8443 TCP HTTPS 备用端口 常用于管理界面(如 Jenkins、Kubernetes Dashboard)
3000 TCP 开发服务器常用端口 Node.js(Express)、Grafana 默认端口
5000 TCP Flask 开发默认端口 Python Flask 应用常用
8000 TCP Django / Gunicorn / FastAPI Python Web 框架常用部署端口

💡 提示:80/443 是浏览器默认端口,访问 http://example.com 实际是 :80,无需写端口。


🗄️ 三、数据库端口

端口 数据库 协议 说明
3306 MySQL / MariaDB TCP 最流行的开源关系型数据库
5432 PostgreSQL TCP 高级开源关系型数据库
27017 MongoDB TCP NoSQL 文档数据库
6379 Redis TCP 内存键值存储(缓存/消息队列)
9200 Elasticsearch TCP 分布式搜索与分析引擎(REST API)
11211 Memcached TCP/UDP 分布式内存对象缓存系统

📦 四、应用与中间件端口

端口 服务 用途
2181 ZooKeeper 分布式协调服务(Kafka/Hadoop 依赖)
9092 Kafka 消息队列 broker 端口
8081 Nexus / Artifactory 私有 Maven/PyPI 仓库
9000 Portainer / MinIO Docker 可视化管理 / 对象存储
8888 Jupyter Notebook 数据科学交互式开发环境
25 / 465 / 587 SMTP 邮件发送服务(25 明文,465/587 加密)
110 / 995 POP3 邮件接收(110 明文,995 SSL)
143 / 993 IMAP 邮件同步协议(143 明文,993 SSL)

🛠️ 五、监控与可观测性端口

端口 服务 用途
9090 Prometheus 时序数据库 + 监控服务
9100 Node Exporter 主机指标采集器(CPU/内存/磁盘等)
3000 Grafana 可视化仪表盘(常与 Prometheus 配合)
3100 Loki 日志聚合系统(Grafana Labs)
7946 Docker Swarm 容器集群管理通信
9093 Alertmanager Prometheus 告警路由服务

🔒 六、安全与防火墙相关

端口 用途
所有非标准端口 建议在生产环境中限制访问源 IP(如只允许办公网段访问 22、3306)
0.0.0.0 vs 127.0.0.1
  • 0.0.0.0:8000 → 所有网络接口可访问(公网暴露!
  • 127.0.0.1:8000 → 仅本机可访问(更安全,配合 Nginx 反向代理) |

🧪 七、如何查看当前监听的端口?

1. 查看所有监听端口

bash 复制代码
ss -tuln
# 或
netstat -tuln

2. 查看某端口被哪个进程占用

perl 复制代码
sudo lsof -i :8000
# 或
sudo ss -tulnp | grep :8000

3. 测试端口是否可达(本地)

arduino 复制代码
curl http://127.0.0.1:8000
telnet 127.0.0.1 8000

4. 测试远程端口连通性(从本地电脑)

yaml 复制代码
telnet your-ecs-ip 8000
# 或
nc -zv your-ecs-ip 8000

🛡️ 八、安全建议(生产环境)

  1. 最小开放原则:只开放必要端口(如 Web 服务开 80/443,管理开 22)

  2. 限制来源 IP

    • SSH(22)只允许公司/家庭 IP
    • 数据库(3306)只允许应用服务器 IP
  3. 避免直接暴露应用端口

    • 不要直接开放 8000、3000 给公网
    • Nginx/Apache 反向代理 + HTTPS
  4. 定期扫描端口

    vbscript 复制代码
    nmap -sV your-server-ip

✅ 总结:高频端口速查表

场景 推荐端口 是否开放公网
SSH 远程管理 22 ✅(限 IP)
Web 网站 80 / 443
Flask/Django 后端 8000 / 5000 ❌(应通过 Nginx 代理)
MySQL 3306 ❌(仅内网)
Redis 6379 ❌(禁止公网!)
Prometheus 9090 ❌(或加认证)
Grafana 3000 ❌(或加认证/反向代理)

💡 记住
"能不开就不开,能限 IP 就限 IP,能走内网就走内网"

相关推荐
qq_12498707534 小时前
基于springboot的建筑业数据管理系统的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·毕业设计
IT_陈寒5 小时前
Vite 5.0实战:10个你可能不知道的性能优化技巧与插件生态深度解析
前端·人工智能·后端
z***3355 小时前
SQL Server2022版+SSMS安装教程(保姆级)
后端·python·flask
zxguan6 小时前
Springboot 学习 之 下载接口 HttpMessageNotWritableException
spring boot·后端·学习
加洛斯7 小时前
告别数据混乱!精通Spring Boot序列化与反序列化
后端
爱分享的鱼鱼7 小时前
Spring 事务管理、数据验证 、验证码验证逻辑设计、异常回退(Java进阶)
后端
程序员西西7 小时前
Spring Boot中支持的Redis访问客户端有哪些?
java·后端
空白诗7 小时前
tokei 在鸿蒙PC上的构建与适配
后端·华为·rust·harmonyos
q***58197 小时前
SpringBoot返回文件让前端下载的几种方式
前端·spring boot·后端