常见网络端口号及端口查看命令

在网络通信中,IP地址好比一栋大楼的地址,而端口号则是大楼里每个房间的门牌号。它用于区分一台计算机上运行的不同应用程序或服务,确保数据包能够被准确地送达目标程序。端口号的范围是0到65535,通常分为以下几类:

  • 知名端口:0 - 1023,分配给系统或公认的网络服务。
  • 注册端口:1024 - 49151,分配给用户注册的应用程序。
  • 动态/私有端口:49152 - 65535,留给客户端程序临时使用。

常见的网络端口号

了解常见端口号对于配置防火墙、排查网络问题和服务部署至关重要。以下是一些你必须知道的端口:

1. 网络基础与远程管理
  • 20/21 (FTP)

    • 20: 用于数据传输。
    • 21: 用于控制连接,即命令通道。
    • 用于文件的上传和下载,但传输过程是明文的,不安全。
  • 22 (SSH)

    • 安全外壳协议。用于加密的远程登录、命令执行和文件传输(通过SCP或SFTP)。是替代不安全的Telnet的首选方案。
  • 23 (Telnet)

    • 用于远程登录虚拟机或网络设备。由于所有通信(包括密码)都以明文传输,现已基本被SSH取代。
  • 53 (DNS)

    • 域名系统 。将我们熟悉的域名(如 www.google.com)解析为计算机能识别的IP地址。可以说是互联网的"电话簿"。
2. Web服务相关
  • 80 (HTTP)

    • 超文本传输协议,用于普通的网页浏览。数据明文传输。
  • 443 (HTTPS)

    • 安全的HTTP。在HTTP下加入SSL/TLS层,用于加密的网页访问、在线支付等所有敏感操作。是现代网站的标配。
  • 8080

    • 常被用作HTTP服务的替代端口代理端口。一些Web服务器(如Tomcat)在开发阶段默认使用此端口。
3. 邮件服务相关
  • 25 (SMTP)

    • 简单邮件传输协议 。用于在邮件服务器之间发送和转发邮件。
  • 110 (POP3)

    • 邮局协议第3版 。用于从邮件服务器下载邮件到本地计算机,通常会在下载后删除服务器上的邮件。
  • 143 (IMAP)

    • 互联网消息访问协议 。用于在本地客户端(如Outlook)访问和管理服务器上的邮件,所有操作会与服务器同步。
  • 993 (IMAPS)

    • 基于SSL/TLS加密的IMAP。
  • 995 (POP3S)

    • 基于SSL/TLS加密的POP3。
4. 文件共享与数据库
  • 137-139, 445 (SMB/CIFS)

    • 用于Windows系统的文件共享和打印机共享。445端口是现代Windows文件共享的主要端口。
  • 3306 (MySQL)

    • MySQL数据库服务的默认端口。
  • 5432 (PostgreSQL)

    • PostgreSQL数据库服务的默认端口。
  • 27017 (MongoDB)

    • MongoDB数据库服务的默认端口。
5. 远程桌面
  • 3389 (RDP)
    • 远程桌面协议。用于远程连接和操作Windows计算机。

端口查看命令

掌握如何查看端口状态是网络管理和故障排查的核心技能。

Windows 系统

1. netstat 命令 (最常用)
netstat(网络统计)是一个功能强大的命令行工具,用于显示网络连接、路由表、接口统计等信息。

  • 查看所有活动连接和监听端口:
cmd 复制代码
    netstat -an
  • -a: 显示所有连接和监听端口。
  • -n: 以数字形式显示地址和端口号(不进行DNS解析),速度更快。
  • 查看哪个进程占用了特定端口(如8080):
cmd 复制代码
    netstat -ano | findstr :8080
  • -o: 显示与每个连接关联的进程PID。
  • 找到PID后,可以在"任务管理器"的"详细信息"选项卡中查看对应的程序名。
  • 查看所有已建立的TCP连接:
cmd 复制代码
    netstat -n

2. 资源监视器 (图形化界面)

对于不习惯命令行的用户,Windows提供了更直观的工具:

  1. Ctrl + Shift + Esc 打开"任务管理器"。
  2. 切换到"性能"选项卡,点击底部的"打开资源监视器"。
  3. 在"网络"选项卡下,你可以看到所有进行网络活动的进程、它们使用的端口和连接状态。
Linux / macOS 系统

1. netstat 命令

Linux和macOS同样支持 netstat,参数与Windows类似。

  • 查看所有监听端口和已建立的连接:
bash 复制代码
    netstat -tulnp
  • -t: 显示TCP端口。
  • -u: 显示UDP端口。
  • -l: 仅显示监听状态的端口。
  • -n: 拒绝显示别名,能显示数字的全部转化成数字。
  • -p: 显示占用端口的进程名和PID。
  • 查看所有连接:
bash 复制代码
    netstat -a

2. ss 命令 (推荐)
ss(Socket Statistics)是 netstat 的现代替代品,它更快、更高效,语法也基本相似。

  • 查看所有监听中的TCP端口:
bash 复制代码
    ss -tln
  • 查看所有连接(包括监听和已建立):
bash 复制代码
    ss -a
  • 查看进程信息:
bash 复制代码
    ss -tlnp

3. lsof 命令
lsof(列出打开文件)功能极其强大,在Linux中,一切皆文件,网络连接也被视为文件。

  • 查看哪个进程占用了特定端口(如3306):
bash 复制代码
    lsof -i :3306
  • 查看所有网络连接:
bash 复制代码
    lsof -i

总结

端口号 服务/协议 主要用途
22 SSH 加密的远程登录与管理
80 HTTP 网页浏览
443 HTTPS 安全的网页浏览
53 DNS 域名解析
3306 MySQL 数据库服务
3389 RDP Windows远程桌面
操作系统 主要命令 用途示例
Windows netstat -ano 查看所有连接和进程PID
Windows `netstat -ano findstr :端口号`
Linux/macOS ss -tlnp 查看所有TCP监听端口及进程
Linux/macOS lsof -i :端口号 精确查找端口占用者

熟练掌握这些常见的端口号及其对应的服务,并能够灵活运用 netstatss 等命令进行端口状态分析,是每一位IT从业者、开发者乃至进阶用户都应具备的基本素养。这将帮助您更好地理解网络通信、配置服务环境和解决连接故障。

相关推荐
2301_803554526 小时前
HTTP 常考问题简洁回答(速记版)
网络·网络协议·http
捷米研发三部8 小时前
Profinet 转 TCP/IP 协议转换网关:打破 PLC 与打标卡协议壁垒的工业通讯利器
网络·网络协议·tcp/ip
TeleostNaCl10 小时前
OpenWrt | 实现限制只有指定设备才能访问 luci 和 使用 SSH 等方式管理设备的方法
网络·经验分享·ssh·智能路由器
蒙娜丽宁10 小时前
Rust 并发编程进阶:线程模型、通道通信与异步任务对比分析
开发语言·网络·rust
Teable任意门互动11 小时前
主流多维表格产品深度解析:飞书、Teable、简道云、明道云、WPS
开发语言·网络·开源·钉钉·飞书·开源软件·wps
报错小能手12 小时前
计算机网络自顶向下方法2——网络、ISP连接结构介绍
网络·计算机网络
-Excalibur-12 小时前
形象解释关于TCP/IP模型——层层封装MAC数据帧的过程
linux·c语言·网络·笔记·单片机·网络协议·tcp/ip
小跌—12 小时前
Linux:数据链路层
linux·网络
paishishaba13 小时前
数据格式 、序列化和反序列化
网络