Appearance
Appearance
HTTP(Hyper Text Transfer Protocol)是 Web 客户端和服务器交换请求、响应的应用层协议。排查网页加载、接口调用、代理转发、缓存行为或明文 HTTP 服务时,可以从这里开始。
不要把 HTTP 和 HTTPS/TLS 混淆:HTTP 描述请求方法、状态码、头部和正文;HTTPS 是 HTTP 运行在 TLS 加密通道上。未解密的 HTTPS 流量通常只能先看 TCP/TLS/QUIC 层信息,不能直接看到 HTTP 头部和正文。
| 目标 | 重点字段或视图 | 说明 |
|---|---|---|
| 判断是否是 HTTP | http、Protocol 列 | Wireshark 已解析为 HTTP 的报文会显示在协议树中。 |
| 找请求入口 | http.request、http.request.method、http.host、http.request.uri | 用来确认客户端访问了哪个主机、路径和方法。 |
| 找响应结果 | http.response、http.response.code、http.response.phrase | 用来定位 3xx/4xx/5xx、缓存命中或服务端错误。 |
| 还原一次会话 | Follow TCP Stream | 适合查看一次明文 HTTP 请求和响应的上下文。 |
| 判断是否被加密 | 先看 tls、tcp.port == 443 或 quic | HTTPS/HTTP/3 不会像明文 HTTP 那样直接展示全部应用层内容。 |
http只显示 Wireshark 已识别为 HTTP 的报文。
http.request只看 HTTP 请求。
http.response只看 HTTP 响应。
http.request.method == "GET" || http.request.method == "POST"按常见请求方法筛选。
http.response.code >= 400查找客户端或服务端错误响应。
http.host contains "example" || http.request.uri contains "api"围绕主机名或路径关键字定位请求。请把示例关键字替换为现场值。
443 端口通常承载 HTTPS,也可能承载 QUIC/HTTP/3。流量被 TLS 或 QUIC 加密时,Wireshark 不能凭空显示 HTTP 头部和正文;需要先确认是否有解密材料,或退回到 TLS、TCP、UDP、QUIC 层分析握手、连接和时延。
不能。80 端口常用于明文 HTTP,443 端口常用于 HTTPS,但端口不是协议事实本身。优先看 Wireshark 是否解析出 http,再结合端口、会话方向和服务器配置判断。
不一定。4xx 通常更接近请求、认证、权限或资源问题;5xx 通常更接近服务端处理问题。网络层问题还要结合 TCP 重传、连接复位、DNS、TLS 握手等现象判断。