如果你正在为网络、Linux系统管理、DevOps或网络安全面试做准备,那么理解网络端口是必不可少的。端口号几乎在每一个技术面试中都会出现,因为它们对于网络通信至关重要。然而,许多候选人却忽视了这一基本领域。
本文涵盖了您应该铭记的前25个端口,包括每个端口的功能、背后的协议以及它的重要性。无论您是初学者还是只是需要复习,这本指南都旨在简单、实用,便于面试准备。
在我们进入列表之前,让我们快速了解一下口口到底是什么。
在网络世界中,端口并不是一个物理实体 — 它是一个虚拟通道,允许计算机之间的通信。可以将其想象为酒店的房间号码。你的IP地址是酒店地址,端口则告诉计算机你要访问哪个服务(房间)。
每个端口被分配一个介于0
和65535
之间的数字:
0-1023
: 知名端口(由系统级服务使用)。1024-49151
:注册端口(由软件和应用程序使用)。49152-65535
:动态/私人端口(临时连接)。因为它测试了你对以下内容的理解:
你会经常听到类似的问题:
让我们来看看您在面试中和使用真实系统时最常见的端口。
端口 | 协议 | 服务名称 | 目的 |
---|---|---|---|
20 | TCP | FTP(数据) | 以主动模式传输文件数据 |
21 | TCP | FTP(控制) | FTP传输的命令/控制 |
22 | TCP | SSH | 安全远程登录/文件传输 |
23 | TCP | Telnet | 远程登录(不安全,遗留) |
25 | TCP | SMTP | 发送电子邮件 |
53 | TCP/UDP | 域名系统 | 将域名解析为IP地址 |
67 | 用户数据报协议 | DHCP 服务器 | 分配IP地址 |
68 | 用户数据报协议 | DHCP客户端 | 接收DHCP配置 |
80 | TCP | HTTP | 标准(不安全)网络流量 |
110 | TCP | POP3 | 旧的电子邮件检索协议 |
123 | 用户数据报协议 | 网络时间协议 | 同步系统时间 |
135 | TCP | RPC | Windows 服务通信 |
137 | 用户数据报协议 | NetBIOS 名称服务 | Windows 名称查找 |
138 | 用户数据报协议 | NetBIOS 数据报服务 | Windows浏览 |
139 | TCP | NetBIOS会话服务 | 在旧版Windows中共享文件/打印机 |
143 | TCP | IMAP | 电子邮件检索(现代) |
161 | 用户数据报协议 | 简单网络管理协议 | 监控路由器、交换机等。 |
389 | TCP/UDP | LDAP | 集中式认证(如 Active Directory) |
443 | TCP | HTTPS | 安全的网络流量 |
445 | TCP | 通过 TCP 的 SMB | 现代Windows文件共享 |
465 | TCP | SMTPS | 安全SMTP(遗留) |
514 | 用户数据报协议 | 系统日志 | 集中日志记录 |
993 | TCP | IMAPS | 安全IMAP |
995 | TCP | POP3S | 安全的 POP3 |
3306 | TCP | MYSQL | 流行的数据库服务 |
5432 | TCP | PostgreSQL | 开源SQL数据库 |
5900 | TCP | VNC | 远程桌面访问(图形用户界面) |
6379 | TCP | Redis | 内存键值存储 |
8080 | TCP | HTTP备选 | 应用服务器,代理 |
8443 | TCP | HTTPS替代 | 安全访问自定义网络应用程序 |
快速提示:只需记住这四个端口:20/21用于FTP,22用于SSH,80用于HTTP,以及443用于HTTPS – 这些是最重要的端口。
与其随意记忆所有端口,不如将它们分组:
类别 | 端口 | 服务名称 |
---|---|---|
远程访问 | 22 | SSH(安全外壳协议) |
23 | Telnet | |
5900 | VNC(虚拟网络计算) | |
电子邮件服务 | 25 | SMTP(简单邮件传输协议) |
110 | POP3(邮局协议) | |
143 | IMAP(互联网邮件访问协议) | |
465, 993, 995 | SMTPS,IMAPS,POP3S(安全版本) | |
网络服务 | 80 | HTTP(超文本传输协议) |
443 | HTTPS(超文本传输安全协议) | |
8080, 8443 | 备用 HTTP/HTTPS(用于网络应用或代理) | |
文件共享与传输 | 20/21 | FTP(文件传输协议) |
139/445 | 服务器消息块 (SMB) | |
3306/5432 | MySQL/ PostgreSQL(数据库) | |
姓名和地址服务 | 53 | 域名系统 (DNS) |
67/68 | DHCP(动态主机配置协议) | |
123 | 网络时间协议 (NTP) | |
137–139 | NetBIOS(网络基本输入/输出系统) | |
监控和日志记录 | 514 | 系统日志 (Syslog) |
161 | 简单网络管理协议 (SNMP) |
让我们更仔细地看看如何使用 ss
、netstat
和 nmap
等命令在 Linux 系统上检查开放端口。
ss命令(全称为socket statistics)是较旧的netstat命令的现代替代品。它旨在更快速、更高效地列出开放端口和网络连接。
sudo ss -tulpn
命令的解释:
-t
: 显示 TCP 套接字。-u
: 显示UDP套接字。-l
: 仅显示监听套接字(开放且等待传入连接的端口)。-p
: 显示拥有该套接字的进程(即,哪个应用程序正在使用该端口)。-n
: 以数字形式显示端口号(避免将其解析为服务名称)。netstat
是一个遗留命令,在 ss
流行之前被广泛使用。它仍然存在于大多数 Linux 发行版中,并且在 ss
可能不可用的情况下,或者当您使用旧系统时,仍然很有用。
sudo netstat -tulpn
命令的解释:
-t
: 显示 TCP 套接字。-u
: 显示 UDP 套接字。-l
: 仅显示监听端口(不显示已建立的连接)。-p
: 显示使用该套接字的进程 ID (PID) 和程序名称。-n
: 输出数字地址和端口(而不是将它们解析为服务名称,例如“http”)。nmap(网络映射器)是一种强大的工具,主要用于网络探索和安全审计。它可以用来扫描你自己的系统或任何远程系统,以查找开放端口。
与 ss
和 netstat
不同,nmap
通常用于更详细的网络扫描,并且可以提供有关外部系统的信息。
nmap -sT localhost
命令的解释:
-sT
: 它尝试与每个端口建立完整连接,并检查哪些端口响应。localhost
: 指的是您想要扫描的本地计算机。您可以用任何IP地址替换localhost以扫描远程系统。攻击者通常使用端口扫描技术来识别开放的端口并找到可能存在漏洞的服务。了解您的系统上暴露了哪些端口对于维护安全至关重要。
以下是一些与常见开放端口相关的风险示例:
作为一名Linux或DevOps工程师,保护您的系统是您的责任。以下是减轻风险的关键策略:
要阻止23端口(Telnet)上的流量,请使用ufw
:
sudo ufw deny 23
要在端口 23(Telnet)上拒绝流量,请使用 firewalld
:
sudo firewall-cmd --zone=public --add-port=23/tcp --permanent --remove-port=23/tcp
通过了解端口并正确地保护它们,您可以最小化系统的攻击面,同时提高其安全性和性能。
理解端口号不仅仅是记住它们,更重要的是了解服务在Linux和网络中的通信方式。一旦你掌握了基础知识,你将更擅长故障排除、保护系统和通过技术面试。
系统规划与管理师备考经验分享
软考高级系统架构设计师备考学习资料
软考中级数据库系统工程师学习资料
软考高级网络规划设计师备考学习资料
Kubernetes CKA认证学习资料分享
AI大模型学习资料合集
免费文档翻译工具(支持word、pdf、ppt、excel)
PuTTY中文版安装包
MobaXterm中文版安装包
pinginfoview网络诊断工具中文版
Xshell、Xsftp、Xmanager中文版安装包
办公室摸鱼神器,伪装电脑系统更新中
Typora简单易用的Markdown编辑器
Window进程监控工具,能自动重启进程和卡死检测
毕业设计高质量毕业答辩 PPT 模板分享
IT行业工程师面试简历模板分享