Wireshark抓包时怎么只过滤前端相关的HTTP请求?

开发者兰兰 阅读 21

我在用Wireshark调试前端项目时,发现抓到的HTTP请求里夹杂了很多静态资源和第三方广告的流量,想只看自己写的API请求。之前尝试用http过滤,但还是有很多无关数据。有没有办法根据URL路径或域名精准筛选?

试过设置http.request.method == "GET" && http.host == "myapi.local",但某些POST请求还是漏了进来。如果想同时过滤GET和POST到/api路径下的请求,正确的显示过滤器该怎么写?

我来解答 赞 1 收藏
二维码
手机扫码查看
2 条解答
打工人子香
用http.host和uri路径组合过滤就行。你那个条件漏了POST是因为用了&&把方法限制死了,改成或关系就行。

直接在显示过滤器输入:
http.host == "myapi.local" && http.request.uri contains "/api/"


这样不管GET还是POST,只要是往你的api域名发的、路径带/api/的都会留下。静态资源一般走/static/或者cdn域名,自然就被筛掉了。

如果还有漏网之鱼,比如某些请求走了不同子域名,就把host条件改成正则:
http.host matches "myapi\.(local|dev)" && http.request.uri contains "/api/"


改一下就行,我平时都这么干。
点赞
2026-02-11 16:00
Mc.阳阳
Mc.阳阳 Lv1
过滤条件可以这样写:

http.request.method in {"GET", "POST"} && (http.host == "myapi.local") && (http.request.uri matches "^/api/")

这个组合条件会同时满足:
请求方法是GET或POST
请求域名是myapi.local
请求路径以/api/开头

注意几个点:
使用in操作符代替多个==更简洁
matches配合正则可以精准匹配路径
条件之间用空格隔开更清晰
路径正则前加^防止匹配到参数里带/api的情况

如果性能上要考虑更高效过滤,可以把域名和路径条件合并成:
http.host + http.request.uri matches "myapi.local/api/"

不过这样会漏掉带子路径的情况,比如myapi.local/api/v1/xxx会被过滤掉。性能上差别其实不大,建议还是用第一个更准确的过滤条件。
点赞 8
2026-02-06 12:01