首页/网络/抓包与流量分析速查/Wireshark 过滤 HTTP Host
Wireshark 技巧75 条

Wireshark 过滤 HTTP Host

http.host 匹配请求的 Host 头:同一台服务器承载多域名时,用它把业务维度切出来;配合 request.uri 即可锁定具体接口。

http.host 是什么

http.host 匹配 HTTP 请求头里的 Host 字段。同一台服务器或同一个反向代理上往往承载多个域名,只看 IP 或端口无法区分业务,用 Host 就能把流量按业务维度切出来;再叠加请求路径,就能精确锁定某个接口的请求与响应。

基本信息

适用工具Wireshark 3.x / 4.x
字段http.host(请求头中的 Host 值)
匹配写法== 精确匹配、contains 子串匹配
相关字段http.request.uri、http.response.code
前提明文 HTTP/1.x,HTTPS 需解密

典型使用场景

  • 多域名共用一个入口时,按域名切出业务流量
  • 定位某域名的错误响应,统计其响应码分布
  • 区分测试域名与生产域名的请求,避免误判
  • 核对反向代理是否正确转发到目标站点
  • 结合请求路径分析单个接口的行为

常用示例

常用示例
http.host == "api.example.com"                       # 精确匹配域名
http.host contains "test"                            # 子串匹配
http.host contains "test" && http.response.code >= 400   # 只看测试域名的错误
http.request && !http.response                       # 有请求无响应
http.host && ip.addr == 10.0.0.9                     # 结合服务端地址

写法与适用面

写法含义注意
host == 域名完全等于该值带端口的 Host 不命中
host contains 子串包含该子串子串过短会误命中
http.request 且无 http.response未见响应的请求排除抓包未覆盖的时段
结合 IP 过滤限定具体服务端多实例部署时更精确
HTTP/2 中的对应字段是 http2.header.value 配合 :authority 伪头,Host 字段在该协议下不存在。
Host 值可能带端口号,例如 example.com:8080,精确匹配时要把端口一起写上。

补充要点

  • 先按主机名切出业务,再按路径锁定接口,是排查接口问题的常见顺序
  • 同一入口承载多个域名时,按 Host 过滤比按服务端地址过滤更准确
  • 统计各域名的请求规模可直接用 HTTP 统计视图的域名维度
  • 客户端用地址直连时请求头里通常仍带 Host,以实际报文为准
把 Host 加为自定义列后,报文列表里可以直接看到每个请求属于哪个站点。
反向代理改写请求头时,抓包里看到的取值可能与浏览器地址栏不同,需结合转发配置确认。

易错点

  • 代理场景下把 Host 当作实际连接目标:代理会重新建立连接,真实目标要看 CONNECT 会话或代理日志
  • 未解密 HTTPS 就用该过滤:字段为空会被误判成「服务没收到请求」
  • 用子串匹配短域名(如 com)导致命中大量无关请求,结论失真

数据来源与参考

  • Wireshark 显示过滤器参考(http.host)
  • RFC 9110(Host)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌