Skip to content
Wireshark Wiki 中文翻译整理专题首页原始页面

端口参考

端口号用于在同一台主机上的多个应用之间区分网络通信。TCP、UDP 和 SCTP 都使用端口号来标识一次逻辑通信的应用端点。

在 Wireshark 分析中,端口常用于判断流量类型、定位会话、编写过滤器和理解应用层协议。

端口为什么重要

IP 地址只能说明“哪台主机和哪台主机通信”。端口号进一步说明“主机上的哪个应用或服务在通信”。

例如:

信息含义
192.168.1.10一台主机
192.168.1.10:80这台主机上的 80 端口服务
10.0.0.5:51524 -> 192.168.1.10:80一个客户端临时端口访问服务器 80 端口

端口和 IP 地址组合在一起构成 endpoint;两个 endpoint 组成一次 conversation。

端口范围

端口号是无符号 16-bit 整数,范围为 065535。IANA 按 RFC 6335 将端口分为三类:

范围名称常见用途
0-1023System Ports / Well Known Ports常见系统服务,例如 HTTP、DNS、SSH
1024-49151User Ports / Registered Ports注册应用和服务
49152-65535Dynamic Ports / Private Ports / Ephemeral Ports客户端临时端口、私有用途

1024 及以上的端口在很多资料中也会被泛称为 ephemeral ports,但严格划分时,动态/临时端口通常指 49152-65535

在 Wireshark 中按端口分析

显示过滤器示例:

text
tcp.port == 80

只看源端口:

text
tcp.srcport == 443

只看目的端口:

text
udp.dstport == 53

同时匹配 TCP、UDP 或 SCTP 端口时,要明确协议字段。例如 DNS 可能同时出现在 UDP 和 TCP 53 端口:

text
udp.port == 53 or tcp.port == 53

抓包过滤器示例:

text
port 53

注意:显示过滤器和抓包过滤器语法不同。tcp.port == 80 是显示过滤器,tcp port 80 是抓包过滤器。

端口列表应该查哪里

旧 Wireshark Wiki 原页曾按 100 个端口一组维护本地索引,从 0-99 一直到 65500-65535。这类长矩阵不适合直接放在首屏阅读区。

查端口含义时,建议优先使用:

  • IANA Service Name and Transport Protocol Port Number Registry
  • RFC 6335:端口号管理规则
  • Wireshark 的协议解析结果和 Decode As 功能
  • 你的业务系统、应用配置和服务端口清单

非官方端口列表也很多,但可能过时或与实际环境不一致,不能单独作为结论依据。

使用建议

  • 不要只凭端口判断协议。很多应用可以运行在非默认端口上。
  • 如果 Wireshark 没有按预期解析协议,可以检查 Decode As 设置。
  • 客户端临时端口通常较大,服务端口通常更稳定,但这不是绝对规则。
  • 分析连接时,结合 IP、端口、方向、时间和 TCP 会话一起判断。

外部参考

  • IANA:Service Name and Transport Protocol Port Number Registry
  • RFC 6335:Internet Assigned Numbers Authority Procedures for the Management of the Service Name and Transport Protocol Port Number Registry
  • RFC Editor:RFC 索引

Imported from https://wiki.wireshark.org/PortReference on 2020-08-11 23:18:00 UTC

相关 Wireshark Wiki 页面

网络分析技术档案