做客户端开发这些年我几乎每天都在跟接口联调打交道。电脑里换过不少工具但抓包工具始终绕不开那几款Charles、Wireshark、Fiddler近几年又多了 Proxyman还有安全方向的朋友会给我推 TraceEagle。很多刚开始接触抓包的人往往是在网上搜了一篇教程装了其中一款然后照着截图操作。能用是能用一旦遇到“手机连上代理却抓不到包”“Fiddler 卸了之后上不了网”“Wireshark 为什么只显示 520 字节”这类问题就完全不知道怎么排查。这篇文章想聊的是这五款工具到底各自擅长什么为什么有些工具要设代理有些不用以及实际抓包里最常踩的坑和对应的排查思路。内容会偏向实战也会讲清楚背后的原理适合刚入门想选工具的人也适合已经在用但想搞明白“为什么”的人。1. 两条技术路线为什么有的工具要设代理有的不用很多人的第一个困惑是为什么 Charles 要求我在手机 Wi-Fi 里填代理地址而 Wireshark 打开就能看到一堆网卡流量这不是软件设计习惯不同而是两类抓包工具从根本上走了两条不同的技术路线。1.1 代理型抓包的中间人原理Charles、Fiddler、Proxyman 属于典型的代理型抓包工具。它们的核心动作是在本地启动一个 HTTP 代理服务然后让目标设备电脑或手机把系统代理指向这个端口。流量到达工具后工具充当“中间人”把请求转发给真正的服务器再把服务器的响应转回来。这个过程中工具能看到的就不只是请求内容它还能修改、拦截、重放、模拟弱网。因为所有 HTTP 请求都从它这里过一道它天然就处在可以“动手脚”的位置。HTTPS 解密也是在这个环节发生的。代理工具会在本机生成一个根证书然后用这个根证书为每个要访问的站点动态签发一张对应域名的证书。客户端只要信任了这个根证书就会把代理工具当成服务器代理工具再把请求转发给真实服务器。这个机制叫中间人解密是代理型工具能看 HTTPS 明文的关键。注意代理型抓包工具只是“本地调试代理”跟任何加速、加密通道类软件完全是两回事。它改变的是调试设备的流量走向不涉及传输链路的加密和转发。1.2 网卡旁路型的工作原理Wireshark 和 TraceEagle 走的是另一条路直接从网卡上把数据包“复制”一份出来不介入连接本身。抓包时你会看到所有经过这块网卡的流量包括 TCP 三次握手、DNS 查询、ARP、ICMP、VLAN 标签这些代理型工具根本不会披露的东西。正因为不介入旁路型工具通常不能直接看到 HTTPS 的明文。TLS 握手完成后流量是加密的Wireshark 能告诉你“这是一个 TLS 1.3 的握手记录”但看不到里面的 HTTP 请求体。想解密得另外给 Wireshark 配置密钥日志文件或者提前把解密的 key 导出来这个过程比 Charles 的“装证书”要麻烦不少。但旁路型也有代理型无法替代的价值因为不修改链路它看到的网络行为最接近真实状态。服务器为什么慢是不是 TCP 重传太多接口返回正常但页面渲染卡代理型工具看到的是“请求和响应都没问题”Wireshark 却能看到底层网络丢了多少包、重传发生在哪个方向、延迟集中在哪里。1.3 技术路线决定后续所有选择选工具之前先想清楚你要解决的是“应用层的问题”还是“网络层的问题”。为了方便对比我整理了下面这张表维度代理型工具Charles / Fiddler / Proxyman旁路型工具Wireshark / TraceEagle拦截方式修改系统代理中间人转发网卡旁路采集不干预连接能否直接看到 HTTP/HTTPS 明文能装证书后即可默认不能需要额外配置 TLS 密钥能否修改请求/响应能支持断点、Map Local、Rewrite基本不能主要做观测和分析能否做弱网模拟能内置限速/丢包/延迟选项不能需要配合外部工具适合排查的问题接口联调、参数错误、Mock 数据、弱网表现TCP 重传、丢包、DNS 解析、协议实现、攻击流量典型使用场景开发调接口测试做弱网和 Mock网络排障、性能分析、安全审计从这张表能明显看出来两种路线不是替代关系而是互补关系。日常调接口用代理型工具遇到网络层疑难杂症就切到旁路型工具。后面所有章节的对比其实都是在这两条路线基础上展开的。2. 五款工具的真实定位谁是日常主力、谁是分析尖端把原理捋清楚之后再来看这五款工具各自的定位。2.1 Charles跨平台接口调试的老牌主力Charles 是 Java 写的跨平台支持很好Windows、macOS、Linux 都能跑。它的核心能力非常聚焦HTTP 代理抓包、SSL 解密、断点、Rewrite、Map Local、Throttle 弱网模拟。界面多年没大变但胜在稳定功能也足够成熟。日常接口联调时Charles 的体验是让人安心的。你可以很方便地按域名分组看请求搜索某个 URL查看请求头和响应体也可以把某个接口改成返回固定 JSON。手机抓包方面iOS 和 Android 都有完善的证书安装流程社区资料非常多遇到问题基本都能搜到解决方案。Charles 的试用版会定期弹出提示限制了使用时间。很多人会去找“注册码”或者“汉化版”但代理工具能够解密本机所有 HTTPS 流量装来路不明的安装包风险非常高。如果只是临时调试试用版够用如果长期依赖建议购买授权或考虑其他免费替代方案。2.2 ProxymanmacOS 生态体验最好的后来者Proxyman 是最近几年很受欢迎的新工具原生支持 macOS也有 Windows 版本界面比 Charles 现代很多。它对 iOS 模拟器的支持做得尤其好模拟器里跑 App 时几乎不用配置直接就能看到流量。Proxyman 也提供 SSL 解密、断点、Map Local、脚本、弱网模拟这些能力。它的一个优势是把“域名分组”和“标签”做得很直观调试多域名项目时可以快速筛选出跟自己相关的流量不像 Charles 那样所有请求混在一起需要手动过滤。如果你是 Mac 用户主力机又主要跑 iOS 项目Proxyman 是非常值得试的选择。它的学习成本比 Charles 还低一些很多操作的入口更符合苹果用户的操作习惯。2.3 Fiddler脚本扩展强但版本让人容易纠结Fiddler 也是一款老牌代理抓包工具但它的情况比较特殊。Fiddler Classic 是免费的基于 .NET Framework只支持 WindowsFiddler Everywhere 是跨平台付费版界面和交互更现代但功能上也做了一些调整比如弱网模拟、Mock 这些模块化得更清晰。Fiddler 最大的亮点是 FiddlerScript你可以在脚本里改写请求、响应、自动附加 token、根据规则重定向能实现很多高级自动化。比如团队要求所有请求都带一个特定请求头正常做法是找后端改或者一个人一个人地改但用 FiddlerScript 写一个小规则全团队导入即可。不过 Fiddler 的版本分裂确实让人头疼。新手如果直接搜“Fiddler 下载”可能装到 Classic 老版本也可能装到 Everywhere两者的使用方式有不少差异。如果你用的是 Windows且主要做 HTTP 调试Fiddler Classic 免费功能已经很能打如果需要跨平台或更好的界面再考虑 Everywhere。2.4 Wireshark 与 TraceEagle别拿它们当接口调试工具Wireshark 是协议分析的事实标准它的强项是“看到一切”和“深度解码”。打开一个 pcap 文件Wireshark 能帮你解析出 TCP 状态、TLS 握手详情、HTTP 报文、DNS 查询、甚至某个协议的字段。它不是用来 Mock 数据或改请求的它是用来回答“网络上到底发生了什么”的。TraceEagle 和 Wireshark 方向类似但从公开资料看它更偏全流量采集、安全审计、长时间留存与回溯适用场景通常是网络出口、核心链路或者安全分析平台。单机做接口调试用它属于杀鸡用牛刀而且操作习惯和文档路径都不一样。它的价值更多体现在企业级的流量分析、异常行为发现、事件回溯不是个人电脑上随手打开就抓包的工具。所以我的建议是如果你还没分清“调接口”和“分析网络”的区别先别急着装 Wireshark 或 TraceEagle。绝大多数日常问题Charles、Proxyman 或 Fiddler 就能解决。只有当你需要深入看 TCP/IP 协议栈时再认真学 Wireshark。2.5 横向对比表五款工具的关键差异工具平台技术路线HTTPS 解密重放/断点Mock/弱网脚本扩展协议分析深度学习成本CharlesWin/macOS/Linux代理支持支持支持有限应用层中ProxymanmacOS/Windows代理支持支持支持支持应用层低FiddlerWinClassic/跨平台Everywhere代理支持支持支持强FiddlerScript应用层中高Wireshark全平台旁路需配置密钥不支持不支持有限tshark/过滤全协议栈高TraceEagle企业平台为主旁路视部署而定不支持不支持偏平台能力全协议栈审计高这张表基本上就是我的选型逻辑日常开发测试从 Charles、Fiddler、Proxyman 里挑网络层、协议层、安全取证上 Wireshark需要大规模流量留存和审计才会把 TraceEagle 纳入备选。3. 移动端抓包与 HTTPS 解密最容易翻车的环节移动端抓包是新人最容易卡住的地方。明明照着教程做了手机就是抓不到包或者抓到了全是乱码。这里面的坑一半出在流程理解上一半出在系统限制上。3.1 手机抓包的标准步骤以 Charles 为例手机抓包的基本逻辑是手机和电脑连同一个局域网手机把 Wi-Fi 代理指向电脑的 IP 和端口然后安装并信任 Charles 的根证书。具体操作分四步电脑上打开 Charles确认代理监听端口默认是 8888。手机连接同一个 Wi-Fi在 Wi-Fi 设置里找到“HTTP 代理”改为手动服务器填电脑的局域网 IP端口填 8888。手机浏览器访问chls.pro/ssl下载并安装 Charles 的根证书。iOS 用户还要去“设置 - 通用 - 关于本机 - 证书信任设置”把 Charles 的证书打开为完全信任Android 用户则要看系统版本Android 7.0 以下比较顺利7.0 以上很多 App 默认不信任用户证书。第 4 步是区分“能抓”和“抓不到”的关键。很多人证书装了但 iOS 没有开“完全信任”结果 Charles 里看到请求全是SSLHandshake: Received fatal alert这种属于证书信任没到位。3.2 Proxyman 和 Fiddler 的差异点Proxyman 的逻辑和 Charles 一样只是证书安装地址和默认端口不同。它的优势在 iOS 模拟器Proxyman 会帮你自动配置模拟器的代理和证书省掉了手动设置 Wi-Fi 代理这一步。真机调试时依然需要手动配置代理、下载证书。Fiddler 打开“Decrypt HTTPS traffic”后会往系统根证书库里写入 Fiddler 的证书。Windows 端抓包时电脑本机的 HTTPS 流量也能直接解密这一点比 Charles 在 Windows 上更顺Charles 在 Windows 上需要额外处理 JVM 的信任库或者依赖系统证书。但手机端流程大同小异都是装证书、设代理、信任证书。经验移动端抓包的“证书信任”不是只装一遍就完事。手机系统升级、App 重启、证书过期都可能导致代理工具再次无法解密。遇到“抓不到包”先检查证书信任状态能省很多时间。3.3 抓不到包时的排查清单如果你按教程设置完还是抓不到按下面的顺序排查基本能定位到问题手机能不能访问电脑 IP用手机浏览器直接打开http://电脑IP:端口如果打不开检查电脑防火墙是否放行代理端口以及手机和电脑是否真的在同一网段。代理地址和端口是否填对IP 要填电脑的局域网 IP不是127.0.0.1后者在手机里指手机自己。代理工具是否配置了 SSL ProxyingCharles 默认并不会解密所有 HTTPS 域名需要在Proxy - SSL Proxying Settings里添加*:443或者指定域名。App 是否走系统代理很多 app 的网络库不走系统代理比如部分长连接、QUIC/UDP这类流量在代理型工具里就是看不到。是不是 SSL PinningApp 内置了证书锁定代理工具即使装了根证书也会在握手阶段被识破。表现出来就是 CONNECT 成功但后续请求被重置。这种情况需要调试版 App 关闭 pinning或用更进阶的方式处理。是不是网络本身走的是专用隧道如果你在手机上开了某些接管全局流量的网络工具代理可能根本不会生效。这些因素里最常见的前三个是防火墙没放行、SSL Proxying 没配置、iOS 证书没完全信任。先把这三项确认好再往深了查。3.4 HTTPS 解密的两个常见误解第一个误解是“我装了证书Charles 就能解密所有 HTTPS”。实际上代理工具的 SSL 解密在 PC 端和移动端的逻辑略有不同。Charles 是给目标设备装证书Fiddler 在电脑端是装到系统根证书库移动端也是给手机装证书。装完之后如果 Charles 的 SSL Proxying 设置里没有覆盖对应域名依然只会显示加密的 CONNECT 流量看不到 HTTP 明文。第二个误解是“Wireshark 也能跟 Charles 一样直接解密 HTTPS”。Wireshark 不走代理不能动态签发证书它要解密 TLS必须拿到客户端和服务器协商出来的(Pre)-Master-Secret。常见做法是设置环境变量SSLKEYLOGFILE让浏览器或 curl 把密钥日志写到文件再到 Wireshark 的Preferences - Protocols - TLS里指定这个文件。能解密但不是一个“装证书”就能搞定的体验。4. Wireshark 协议层分析接口调试工具看不到的那部分前面反复提到 Wireshark 的独特性这里展开讲。很多人问“Charles 已经能看到请求和响应了为什么还要学 Wireshark”我的回答通常是因为有一类问题Charles 永远看不到。4.1 代理型工具的数据盲区Charles 或 Fiddler 给你看的是“应用层的结果”请求发出去了响应回来了。至于这个请求在传输过程中经历了什么——有没有重传、有没有丢包、TCP 窗口有没有被填满、服务端是不是迟迟没有回 ACK——代理型工具完全没有感知。举一个真实场景客户端同事说“我们接口很慢平均要 8 秒”。Charles 里看请求发出到响应返回确实是 8 秒但不知道慢在哪。切到 Wireshark 抓包会发现客户端发出了请求包服务端也回了 ACK但接下来客户端有大量 TCP 重传因为网络路径上丢包严重。这时候问题的根源不在接口而在网络质量。再比如排查“页面偶尔加载不出来”Charles 看每次请求都正常但 Wireshark 能看到 TCP 三次握手的 SYN 包被丢弃客户端不断重试。这种问题用代理型工具是定位不到的。4.2 高频过滤器从 IP 到 TCP 到 TLSWireshark 的难点在于数据太多所以过滤器是核心技能。常用的几类指令ip.addr 192.168.1.10 tcp.port 443 http.request tls.handshake.type 1 vlan.id 100 dns.flags.response 1 tcp.analysis.retransmissionip.addr过滤某一台主机的所有流量适合定位具体设备。tcp.port过滤端口比如只看 443 的 TLS 流量或 3306 的数据库流量。http.request只显示 HTTP 请求包接口调试时很快能定位到具体 URL。tls.handshake.type 1表示 TLS 的 ClientHello想分析 TLS 握手细节时很常用。vlan.id 100在有 VLAN 标签的网络里特别有用交换机镜像口抓到的流量可能包含多个 VLAN用这个过滤器快速隔离。tcp.analysis.retransmission是 Wireshark 帮你标记的重传包看网络丢包率可以直接用这个过滤结果统计。这些过滤器不是背出来的用多了就记住了。遇到一个新问题先想“这个故障发生在哪一层”再选对应过滤条件。4.3 只显示 520 字节的真相热词里有一个非常具体的问题为什么 Wireshark 里只能显示 520 字节的数据怎么才能显示 2090 个字节这个问题有两种典型情况。第一种是抓包时设置的限制。Wireshark 抓包选项里有一项 “Limit each packet to X bytes”也就是单包捕获长度。如果这里填的是 520那么每个包只保存前 520 字节后面的内容就丢了。打开一个包后在左下角的 Frame 信息里能看到两行Captured Length 和 Original Length。如果 Captured Length 是 520Original Length 是 2090说明这就是被抓包长度限制截断了。重新抓包时把限制改成 65535或者在界面设置里选择不限制。第二种情况是 TCP 分段。一个 2090 字节的应用层数据往往会被 TCP 按 MSS 分成两个或多个报文段。比如 MTU 是 1500MSS 大约 1460那么 2090 字节会被分成 1460 630 两个 TCP 段而不是一个长度为 2090 的包。这不算异常只是需要知道 TCP 在传输层做了分段。想看完整应用层数据右键选择 “Follow TCP Stream”Wireshark 会把所有分段重组好显示完整的 2090 字节。还有一个容易混淆的地方Wireshark 列表里的 Len 列有时候显示的是 IP 总长度不代表应用层数据长度。单看 Length 猜测数据大小很容易被误导要双击打开包在 Frame / IP / TCP 层级里分别看长度才是准的。4.4 TLS 解密和 pcap 离线分析Wireshark 解密 TLS 的操作上面已经提到过配置 SSLKEYLOGFILE 的方法。实际场景中只要能拿到密钥日志就能看到明文 HTTP。这对调试“浏览器里页面正常、App 里调用异常”的问题很有帮助用同一个密钥日志对比浏览器和 App 发的请求差异。离线 pcap 分析是 Wireshark 的另一大应用场景。拿到别人导出的 pcap 文件不需要连网直接用 Wireshark 打开分析这也是一些技术考核和文档中常见的练习方式。Wireshark 能根据已有的握手信息和密钥数据做尽可能多的解密也能直接分析 TCP 流、导出 HTTP 对象、统计协议占比。TraceEagle 的离线能力更多体现在大规模流量回溯在部署了采集节点的网络里把全流量留存下来事后按 IP、端口、协议、时间范围去检索历史会话。这种能力不是单机版 Wireshark 能替代的但普通开发者和测试人员日常很少用到。5. 弱网模拟、Mock 数据和脚本扩展生产力功能对比接口调通只是第一步真正提高效率的是这几类生产功能弱网模拟、Mock 数据、脚本自动化。不同工具在这些方面的差异非常大。5.1 弱网模拟不止是限速做移动端测试弱网是必测项。Charles 的入口在Proxy - Throttle Setting可以设置带宽、延迟、丢包率也能按域名单独配置。Fiddler 的Rules - Performance - Simulate Modem Speeds是快速限速开关适合简单场景。Proxyman 有 Network Condition 面板可以预设 3G、4G、高延迟丢包等场景切换非常直观。这里想强调一点弱网模拟不是“把网速调慢”这么简单。真实弱网环境里除了带宽低还有高延迟、抖动、丢包、乱序这四种现象。如果只是把带宽改成 100kbps很多超时问题测不出来。建议至少把丢包和延迟也配置进去比如模拟“延迟 100ms 丢包 1% 带宽 2Mbps”已经能暴露不少问题。如果你用 Wireshark它本身没有弱网模拟能力但可以在系统层面配合工具macOS 可以用 Network Link ConditionerWindows 可以用 Clumsy 来模拟丢包和延迟。代理型工具负责看应用层表现Clumsy 这类工具负责制造真实的网络损伤两者配合很有效。5.2 Mock 数据不依赖后端的联调方式后端还没写好或者某个接口在特定环境才返回特定数据上线前需要模拟超时、空数据、大响应等场景。这时候 Mock 功能是刚需。Charles 里常用的是 Map Local 和 Rewrite。Map Local 可以把某个 URL 的请求直接映射到本地文件后端返回什么都不重要了客户端读到的始终是你准备好的 JSON。Rewrite 则可以在响应里批量替换内容比如把所有status: 1改成status: 0用来测试异常分支。Fiddler 里的 AutoResponder 和 Charles 的 Map Local 类似甚至可以直接拖一个响应结果进去操作更顺手。Proxyman 的 Map Local 也做得不错还支持基于正则匹配的路径规则适合动态 URL。一个实用技巧把各种典型响应保存成 JSON 文件命名按场景区分比如timeout.json、empty_list.json、large_data.json。联调时用 Map Local 快速切换比每次改后端逻辑或加测试参数快得多。5.3 脚本扩展从重复劳动到自动化如果团队有很多规则化的改包需求纯手动点界面就太累了。Fiddler 的 FiddlerScript 是这里能力最强的你可以在 OnBeforeRequest 里写 C# 代码统一给请求加 Header、改 URL、拦截特定 Host。写一次全团队导入规则即可。Charles 的断点Breakpoint适合人工介入的临时修改但没有完整的脚本语言扩展能力有限。Proxyman 支持脚本扩展能做一些规则化的请求改写。Wireshark 也有命令行工具 tshark可以批量处理 pcap 文件、按过滤条件统计流量适合做分析自动化而不是改包。根据我的经验日常调试其实用不到太多脚本。真正的脚本需求通常出现在大量请求需要统一改参数、造数据、回归验证。如果你经常做这类工作Fiddler 的脚本生态值得重点投入。6. 踩坑记录与选型建议根据团队角色来搭配最后分享几个高频踩坑记录和我的选型策略。6.1 Fiddler 卸载后电脑上不了网多半是代理没还原这是一个特别典型的坑卸载 Fiddler 之后打开浏览器访问不了网页微信也收不到图片但 Ping 外网是通的。原因很简单Fiddler 在运行时会修改 Windows 的系统代理正常情况下退出时会还原但某些异常退出、直接删除安装目录、或者卸载流程被中断系统代理就停留在127.0.0.1:8888而代理服务已经不存在了所有流量都被导到一个不存在的端口上。解决方法分两步。第一步打开“Internet 选项 - 连接 - 局域网设置”把“为 LAN 使用代理服务器”取消勾选。第二步打开管理员命令行执行netsh winhttp reset proxy重置系统 WinHTTP 代理。大多数情况下这两个命令就够了。经验卸载任何代理型抓包工具之前先把工具里的代理开关手动关掉确认浏览器恢复直连后再卸载。这个小习惯能避免很多莫名其妙的问题。6.2 Charles 证书装了还是抓不到包按这个顺序查这是移动端抓包被问得最多的问题。按下面顺序排查先确认手机上浏览器能访问chls.pro/ssl并下载证书如果这一步都失败说明代理链路或端口有问题。iOS 检查是否在“证书信任设置”里打开了完全信任只安装不信任等于没装。Android 7.0 以上很多 App 只信任系统证书用户证书对它无效。要么把证书转成系统证书需要 root要么用允许用户证书的调试版本。确认 Charles 的 SSL Proxying 设置了最简单是设置*:443先验证能不能解能解再把范围收紧。如果以上都正常但特定 App 就是抓不到大概率是 SSL Pinning 或 App 走了私有网络通道。这种问题需要结合具体 App 的调试能力处理已经不是“抓包工具配置”的范畴了。排查时有一个判断技巧看 Charles 里是完全没有这个域的流量还是有 CONNECT 但后续没内容。完全没有流量问题在代理层有 CONNECT 没内容问题在证书信任或 Pinning。6.3 别用汉化版和注册码版代理工具的权限比你想的大每次看到有人找“Charles 汉化版”或者到处求注册码我都想多说一句代理工具能解密你设备上的所有 HTTPS 流量如果你装的是一个被二次打包过的版本那它能看到的信息远比你想象的多。登录凭证、支付信息、接口密钥都可能被一个来路不明的“汉化版”记录下来。官方没有出过所谓的“中文版”你在各种下载站看到的汉化版很多只是改了语言资源文件或者干脆加了后门。老老实实用官方原版即使是英文界面常用的菜单就那几个看几天就习惯了。使用期限不够要么按需购买要么换用开源的替代做日常调试不要拿一个不知道会往哪里发数据的工具来抓自己的支付类 App。这个原则同样适用于旧版本的破解资源。不要为了省一点授权费把整个开发环境的安全边界打开。6.4 选型建议不同角色怎么搭配根据不同角色我给出的组合建议如下角色日常主力进阶补充理由客户端开发Mac iOSProxymanWireshark模拟器体验好SSL 解密省心查网络问题再开 Wireshark客户端开发Windows AndroidCharles 或 Fiddler ClassicWiresharkCharles 跨平台Fiddler 的脚本更灵活测试证书差异时 Wireshark 兜底后端开发Charles / FiddlerWireshark主要看请求响应和 Mock后端接口调试频率高测试工程师Charles / FiddlerWireshark Clumsy弱网模拟、Mock、重放测试是高频操作运维/安全/网络工程师WiresharkTraceEagle企业场景排查网络链路、流量审计、异常行为回溯我自己的习惯是Mac 上主力 Proxyman需要快速改包和 Mock 就用它的 Map Local遇到跟后端扯不清的接口问题开 Charles 对比差异一旦问题涉及到 TCP 重传、握手异常、DNS 解析立即换成 Wireshark。TraceEagle 这类平台级全流量分析工具我更多是在企业安全审计或大规模链路排障的背景下才考虑普通日常开发确实用不到。最后分享一个小习惯每次抓包结束记得把手机 Wi-Fi 代理关掉或者把 Charles/Fiddler 的代理开关恢复为关闭状态。这样能避免手机一直在无谓地绕行代理也能防止电脑端系统代理残留导致断网。工具是拿来解决问题的别让工具本身成为问题。
