Appearance
Appearance
端口号用于在同一台主机上的多个应用之间区分网络通信。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 整数,范围为 0 到 65535。IANA 按 RFC 6335 将端口分为三类:
| 范围 | 名称 | 常见用途 |
|---|---|---|
| 0-1023 | System Ports / Well Known Ports | 常见系统服务,例如 HTTP、DNS、SSH |
| 1024-49151 | User Ports / Registered Ports | 注册应用和服务 |
| 49152-65535 | Dynamic Ports / Private Ports / Ephemeral Ports | 客户端临时端口、私有用途 |
1024 及以上的端口在很多资料中也会被泛称为 ephemeral ports,但严格划分时,动态/临时端口通常指 49152-65535。
显示过滤器示例:
tcp.port == 80只看源端口:
tcp.srcport == 443只看目的端口:
udp.dstport == 53同时匹配 TCP、UDP 或 SCTP 端口时,要明确协议字段。例如 DNS 可能同时出现在 UDP 和 TCP 53 端口:
udp.port == 53 or tcp.port == 53抓包过滤器示例:
port 53注意:显示过滤器和抓包过滤器语法不同。tcp.port == 80 是显示过滤器,tcp port 80 是抓包过滤器。
旧 Wireshark Wiki 原页曾按 100 个端口一组维护本地索引,从 0-99 一直到 65500-65535。这类长矩阵不适合直接放在首屏阅读区。
查端口含义时,建议优先使用:
非官方端口列表也很多,但可能过时或与实际环境不一致,不能单独作为结论依据。
Imported from https://wiki.wireshark.org/PortReference on 2020-08-11 23:18:00 UTC