ITPub博客

首页 > 移动开发 > IOS > 抓包工具怎么接公司代理?抓包工具上游代理与 DNS 怎么配置

抓包工具怎么接公司代理?抓包工具上游代理与 DNS 怎么配置

原创 IOS 作者:TechJourney 时间:2026-10-12 14:55:06 0 删除 编辑

在家里抓包一切正常,拿到公司内网就跑不起来了——这种情况挺常见的。其实是抓包工具已经在本地起了一个代理,浏览器也乖乖走进来了,请求列表里能看到完整的一条;可这条请求 发不出去,或者发出去之后拿到的响应跟真实环境对不上。原因一般不在抓包工具本身,而在它的身后, 公司网络的出口不是你直连的,你得再往上串一层。

先知道自己的网络环境属于哪一类,再一步步把上游代理、认证、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 去解析域名。

# 指定内网 DNS
10.20.30.10
# 或者指定公共 DNS,绕开被污染的解析
223.5.5.5

这一步还能顺带解决另一类麻烦——某些域名在你当前网络里解析结果不正常(被污染或被劫持到登录页),指定一个干净的 DNS 就能绕开。 它和上游代理经常要一起配,只配一个经常还是通不了。

第四步:验证链路真的通了

配完别急着开始正式调试,先走一遍确认吧。

发一条你知道结果的请求,看三件事: 请求列表里能看到它(说明本机抓包这一环正常)、 请求成功返回(说明上游这一环通了)、 内容是明文(说明解密没被上游影响)。三件事都成立,链路就算对齐了啊。

如果前面都通、只有内容还是密文,那基本跟上游代理无关,回去按证书那条线排查——上游代理走的是转发,不改动你要解密的这段。

在 TraceEagle 里,转发链路是透明的:抓包会话照常出明文,上游代理只是负责把请求送出去这一层。多会话并行的时候,每个会话可以各自配自己的上游,互不干扰。

顺带一句:重放请求也要对齐

这一条容易被忽略。抓包通了、链路对了,但用重放功能把请求重发一遍时,结果跟真实环境对不上—— 因为重放走的是另一条网络路径。

TraceEagle 的请求构造器里也有对应的设置,把这几项对齐到和抓包时会话一致:

  • 上游代理(同样支持 http / socks5),让重放走跟抓包同一条出口;
  • 请求特征还原,别让重放请求带着一身的"工具味";
  • 自定义 DNS,保证域名解析到同一个位置。

三者对齐之后,重放请求才算是真的"重演"了原请求,压测和断言的结果才有参考价值。

内网抓包的配置可以按这个顺序尝试, 先判断是出网代理还是跳板,填对上游代理协议,处理认证(连特殊字符一起过一遍),域名解析不对劲就补上自定义 DNS,然后用一条已知结果的请求验证整条链路。重放能通但结果偏差时,回头检查这三项有没有和抓包会话对齐,这类环境问题没什么巧劲,就是把链路一节一节接上——接好之后,内网和外网抓包其实没多大区别嘛。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70051073/viewspace-3185285/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2026-08-14

  • 博文量
    18
  • 访问量
    16480