当前位置:首页 > 探索

为什么burpsuite抓不到包

Burp Suite抓不到包,不到包八成不是不到包软件坏了,而是不到包你根本没把流量送到它嘴边。我见过太多人点开Burp,不到包设了代理,不到包然后对着浏览器发呆——流量压根没走代理端口,不到包它抓个寂寞。不到包

最基础的不到包坑,代理没设对。不到包Burp默认监听127.0.0.1:8080,不到包你得让浏览器把HTTP和HTTPS请求都指向这儿。不到包很多人只改了HTTP代理,不到包HTTPS流量直接裸奔出去了。不到包更隐蔽的不到包是,有些浏览器插件或系统级代理设置会覆盖你的不到包手动配置——比如SwitchyOmega忘了切模式,或者Windows的“自动检测设置”在那儿捣乱。你盯着Burp的空白面板,它盯着你犯傻。

就算代理设对了,HTTPS证书这关也卡死一堆人。Burp要解密HTTPS,必须往系统里塞它的CA证书。你嫌麻烦点了个“忽略”,浏览器立刻翻脸——证书无效,连接被重置。你以为抓不到包,其实是浏览器压根没把请求发出去。更绝的是,有些App或客户端根本不信任系统证书,比如安卓7.0以上默认不信任用户CA,你抓微信、抖音的包,全给你返回SSL握手失败。这时候得用Frida或Xposed去hook,或者把证书塞进系统分区——那是另一层地狱。

流量走了,证书也信任了,还是抓不到?看看是不是有别的代理在抢饭碗。比如Clash、V2Ray这类工具,它们自己监听一个端口,你Burp设的是8080,但系统流量被Clash截胡去了7890。Burp收不到包,Clash在那儿默默转发。你关掉Clash,Burp立马活了。还有Docker容器、虚拟机里的流量,宿主机的Burp根本看不见——除非你手动把容器网络改成host模式,或者把Burp的代理IP填进容器环境变量里。

浏览器自身也在搞鬼。Chrome的“安全DNS”功能,会把DNS查询加密发给DoH服务器,绕过你的代理——流量是走了,但解析结果可能不对,请求直接飞向了真实IP。Firefox更狠,默认不跟随系统代理,你得在设置里单独填。还有HTTP/2和QUIC协议,Burp老版本对QUIC(UDP 443)毫无办法,Chrome如果开了“实验性QUIC”,流量直接绕开TCP代理。你抓不到包,是因为流量压根没走TCP。

最后一种情况,你得怀疑人生:一切配置正确,但就是抓不到。检查一下Burp的“Proxy”选项卡里的“Intercept”按钮是不是被点成了“Off”。或者你开了“Response interception”,结果响应被卡住,请求倒是过去了,你盯着请求列表发呆——其实包早抓到了,只是被拦截规则藏起来了。还有,Burp的默认过滤可能把静态资源、图片、字体文件全给滤掉了,你以为没流量,其实只是没显示。

说白了,抓包的本质是让流量按你的规则走。你得先确认流量路径上有没有别的“主人”,再确认加密层有没有被解开,最后才是Burp本身的显示逻辑。每次抓不到,我就按这个顺序排查:代理通不通,证书信不信,有没有第三方抢,浏览器有没有特殊设置,最后看Burp的过滤和拦截状态。95%的问题出在前两步。

分享到: