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

Wireshark 过滤 HTTP 请求方法

http.request.method 匹配请求方法(GET/POST/PUT/DELETE 等),快速筛出特定语义的请求;http.request 则匹配所有请求报文。

请求方法过滤在做什么

http.request.method 匹配请求行里的方法名,如 GET、POST、PUT、DELETE;只用 http.request 则匹配所有请求报文而不区分方法。它的实用价值在于按语义快速筛选:排查数据上报问题看 POST,排查资源删除问题看 DELETE,排查跨域预检看 OPTIONS。要注意这些字段只在明文 HTTP/1.x 流量里存在,加密通道与 HTTP/2 需要先解密,否则永远查不到。

基本信息

精确匹配http.request.method == "POST"
全部请求http.request(不区分方法)
配套字段http.request.uri、http.host、http.response.code
大小写方法名通常大写,写小写会匹配不到
前提仅对可解析的明文 HTTP/1.x 生效

典型使用场景

  • 定位数据上报问题:只看提交类请求,减少无关读取请求的干扰
  • 核对接口调用方式:确认某接口是否被错误地用成了读取请求
  • 排查跨域问题:筛预检请求,看是否频繁产生额外交互
  • 按接口统计调用量:方法与路径组合,得到具体接口的调用次数
  • 排查删除类操作:追踪删除请求与响应,审计关键操作

常用示例

常用示例
http.request.method == "POST"                              # 提交类请求
http.request.method == "DELETE" && http.host contains "api"  # 某域名下的删除请求
http.request.method == "OPTIONS"                            # 跨域预检
http.request && !http.response                              # 有请求无响应的会话
http.request.method == "POST" && http.response.code >= 500  # 提交后服务端报错
http.request.method != "GET"                                # 排除读取请求

方法与排查方向

方法语义常见问题
GET读取资源请求量最大,排查时通常作为背景过滤掉
POST提交或创建数据上报失败、重复提交、返回 4xx
PUT替换资源幂等性问题、覆盖范围超出预期
DELETE删除资源误删、鉴权不足、返回 403
OPTIONS询问支持的方法跨域场景频繁出现,说明预检未缓存
HEAD只取响应头健康检查与探测常见
方法名区分大小写,用小写写条件会匹配不到。同时留意部分客户端或代理会使用扩展方法,遇到不常见的名称时先确认它是否来自非标准实现。
HTTP/2 与加密流量里没有这些字段。查不到请求不一定是没有请求,先确认该会话是否已被解析为明文 HTTP,必要时先用密钥日志解密。

组合排查

组合排查
http.request.method == "POST" && http.request.uri contains "/order"   # 某接口的提交
http.request.method == "POST" && tcp.stream == 9                      # 单条会话内查看
tcp.stream == 9 && http.time > 2                                       # 该会话响应是否偏慢

判读要点

  • 请求数量远大于响应数量时,先看是否存在被重置或超时的会话
  • 同一接口的请求方法突然变化,多半是客户端版本或配置发生了改动
  • 预检请求频繁出现说明跨域缓存未生效,属于可优化的性能问题
  • 只看方法不看返回码,定位不到具体失败原因,两者应一起使用

易错点

  • 在加密流量上使用请求方法字段会一直为空,先确认是否具备解密条件
  • 方法名写成小写导致匹配不到,排查空结果时先核对这一条
  • 只看请求不看响应,无法判断请求是否被正确处理
  • 把方法过滤当成请求量统计的全部依据,忽略了非标准方法的存在
  • 通过代理与网关后方法可能被改写,跨设备对照需确认中间设备行为

数据来源与参考

  • Wireshark 显示过滤器参考(http.request.method)
  • RFC 9110(方法语义)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌