在家里抓包一切正常,拿到公司内网就跑不起来了——这种情况挺常见的。其实是抓包工具已经在本地起了一个代理,浏览器也乖乖走进来了,请求列表里能看到完整的一条;可这条请求 发不出去,或者发出去之后拿到的响应跟真实环境对不上。原因一般不在抓包工具本身,而在它的身后, 公司网络的出口不是你直连的,你得再往上串一层。
先知道自己的网络环境属于哪一类,再一步步把上游代理、认证、DNS 接上。
内网环境大致两种,配置方式不太一样:
一类是"出网必须走指定代理"。 公司网络出口收口在一台 HTTP 代理上,所有对外的请求都得经过它,有的还要求认证。你直连外网是不通的,抓包工具的请求自然也就出不去了。
一类是"目标在别的网段,要经跳板"。 被调试的服务不在本网段,得通过一台跳板机或堡垒机才能访问。这类场景里,上游经常是一个 SOCKS5 代理。
两类都指向同一个动作: 给抓包会话再挂一层上游代理。在 TraceEagle 里这个入口就在会话的接入设置里,抓包会话本身还能再串一层——本机抓包照常,出去的请求交给上游代你转发。
在接入设置里找到上游代理那一项,按你手上代理的类型填。
# 常见的内网 HTTP 代理(注意端口,不是 80 就是 8080 这类管理端口) http://10.20.30.40:8080 # 带认证的写法 http://用户名:密码@10.20.30.40:8080 # 跳板机 / 需要走 SOCKS5 的链路 socks5://10.20.30.41:1080
两种协议的差别值得知道:HTTP 代理只懂 HTTP,遇到 HTTPS 是靠
CONNECT 开一条隧道过去,看不到隧道里的内容——这也意味着
它不会影响你的解密;SOCKS5 工作在更底层,任意 TCP/UDP 都能接,走跳板场景更常用。填错协议类型是最常见的失败原因,表现是连不上或者一直转圈。
带认证的公司代理,最容易卡在两个地方。
第一个是 认证方式。常见的 Basic 认证(用户名密码)多数工具都支持,拼进 URL 就行;但有些企业环境用的是 NTLM 这类域认证,写法不一样,得看代理那边支持什么。
第二个是
密码里的特殊字符。带
@、
:、
# 的密码直接拼进 URL 会被解析错,需要按 URL 编码转义一遍。这个坑很隐蔽——报错看起来像认证失败,其实压根没把密码传对。我自己就在这上面白折腾过半小时,密码里带个
@,整条链路一直提示认证失败,查了半天代理账号权限。
还有个更隐蔽的情况:如果公司代理做了 HTTPS 流量检查(不少企业网关都开着这个),那链路上会多出一张公司自签的证书。这时候你在抓包工具里看到的对端证书,是 那台网关的,不是真实服务器的。排查证书问题前先确认这一点,不然很容易往错的方向查——日志里一堆"签发者对不上",其实链路本来就是这么设计的。
内网还有个常见情况:域名在 公司的 DNS 服务器上才能解析,本机用的是公共 DNS,解析不出来或者被指到了错的地方。表现出来就是上游代理配好了、请求依然发不出去。
这时候用自定义 DNS:指定这一路请求用哪个 DNS 去解析域名。
# 指定内网 DNS 10.20.30.10 # 或者指定公共 DNS,绕开被污染的解析 223.5.5.5
这一步还能顺带解决另一类麻烦——某些域名在你当前网络里解析结果不正常(被污染或被劫持到登录页),指定一个干净的 DNS 就能绕开。 它和上游代理经常要一起配,只配一个经常还是通不了。
配完别急着开始正式调试,先走一遍确认吧。
发一条你知道结果的请求,看三件事: 请求列表里能看到它(说明本机抓包这一环正常)、 请求成功返回(说明上游这一环通了)、 内容是明文(说明解密没被上游影响)。三件事都成立,链路就算对齐了啊。
如果前面都通、只有内容还是密文,那基本跟上游代理无关,回去按证书那条线排查——上游代理走的是转发,不改动你要解密的这段。
在 TraceEagle 里,转发链路是透明的:抓包会话照常出明文,上游代理只是负责把请求送出去这一层。多会话并行的时候,每个会话可以各自配自己的上游,互不干扰。
这一条容易被忽略。抓包通了、链路对了,但用重放功能把请求重发一遍时,结果跟真实环境对不上—— 因为重放走的是另一条网络路径。
TraceEagle 的请求构造器里也有对应的设置,把这几项对齐到和抓包时会话一致:
三者对齐之后,重放请求才算是真的"重演"了原请求,压测和断言的结果才有参考价值。
内网抓包的配置可以按这个顺序尝试, 先判断是出网代理还是跳板,填对上游代理协议,处理认证(连特殊字符一起过一遍),域名解析不对劲就补上自定义 DNS,然后用一条已知结果的请求验证整条链路。重放能通但结果偏差时,回头检查这三项有没有和抓包会话对齐,这类环境问题没什么巧劲,就是把链路一节一节接上——接好之后,内网和外网抓包其实没多大区别嘛。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70051073/viewspace-3185285/ ,如需转载,请注明出处,否则将追究法律责任。