不得不服chatgpt
Chrome 无法访问局域网 IPERR_ADDRESS_UNREACHABLESafari 却可以最终定位到 macOS 本地网络权限最近碰到了一个非常奇怪的问题折腾了整整一天。现象如下macOSSafari 可以正常访问内网地址Chrome包括重装最新版始终报ERR_ADDRESS_UNREACHABLE例如http://192.168.120.62:5173或者http://192.168.120.33:2800一直打不开。刚开始一直怀疑Chrome 插件SwitchyOmega系统代理VPN浏览器缓存DNS甚至把 Chrome 完全卸载重装了依然没有任何变化。最后借助Chrome NetLog和 ChatGPT终于定位到了真正原因。一、为什么会一直误判Google 搜索以及 Gemini 给出的建议大部分都会围绕下面几个方向检查代理检查 VPN禁用插件清理缓存DNS Flush重装浏览器这些当然没有错。但是有一个问题没有证据证明 Chrome 真的是走了代理。如果只是凭经验猜很容易一直在错误方向上浪费时间。二、Chrome NetLog 才是真正的突破口Chrome 自带一个网络日志。地址chrome://net-export/点击Start Logging然后打开有问题的网址出现错误Stop Logging导出 netlog.json这个 JSON 记录了 Chrome 从发起请求到失败的整个过程。三、日志怎么看我最开始看到的是{proxy_info:DIRECT}这句已经非常重要了。它说明Chrome 根本没有走代理。也就是说不是 SwitchyOmega不是系统代理不是 PAC不是 HTTP Proxy这一步直接排除了之前折腾半天的方向。继续往后看日志里面出现TCP_CONNECT_ATTEMPT随后os_error: 65紧接着net_error: -109Chrome 把它翻译成ERR_ADDRESS_UNREACHABLE也就是说Chrome 已经开始 TCP 连接了。不是 DNS。不是代理。而是macOS 网络层直接告诉 Chrome地址不可达。四、关键推理这个时候有一个非常重要的信息Safari 可以访问同一个地址。于是整个推理链就出来了如果Safari 可以Chrome 不可以那么网络没问题服务器没问题IP 没问题端口没问题问题一定出在Chrome 和 Safari 使用网络的方式不同。而不是“浏览器坏了。”五、真正原因最终发现macOS系统设置 → 隐私与安全性 → 本地网络Local Network里面Google Chrome没有开启权限。打开之后重新启动 Chrome。所有内网地址立即恢复正常。包括192.168.x.x全部恢复。六、为什么 Safari 没问题Safari 是 Apple 自家的应用。很多系统能力天然拥有权限。Chrome 属于第三方应用。如果没有允许Local Network访问局域网时就可能出现各种奇怪的问题。Chrome 给出的错误只是ERR_ADDRESS_UNREACHABLE它不会提示“你没有本地网络权限。”因此特别容易误判。七、为什么 NetLog 非常重要真正让我觉得收获最大的不是最后那个权限。而是NetLog 可以一步一步排除错误方向。例如看到proxy_info : DIRECT立即知道代理不用查了。看到TCP_CONNECT说明DNS 已经过去了。看到os_error : 65说明不是 HTTP。不是浏览器。而是操作系统返回的错误。最后定位速度一下就快了很多。相比之下如果只是不断猜代理猜插件猜 DNS效率会低很多。八、最终结论如果遇到Chrome ERR_ADDRESS_UNREACHABLE但是Safari 正常建议按下面顺序排查导出 Chrome NetLogchrome://net-export/查看是否为proxy_info : DIRECT查看TCP_CONNECT后面的net_error如果是 macOS检查系统设置 → 隐私与安全性 → 本地网络 → Google Chrome打开权限重启 Chrome。后记日志 ChatGPT比盲猜快得多这次最大的收获不是知道了macOS 本地网络权限这个知识点而是改变了排查问题的思路。以前遇到网络问题经常会按照经验去猜是不是代理是不是浏览器插件是不是 DNS是不是缓存包括我一开始用 Gemini 排查时它也一直建议我检查代理、浏览器插件、重装 Chrome 等方向。虽然这些建议并没有错但始终没有真正定位到问题。后来换了一个思路用Chrome NetLog (chrome://net-export/)把完整网络日志导出来直接把netlog.json丢给 ChatGPT 分析。效果比我预期的好很多。ChatGPT 并不是简单地猜原因而是根据日志里的每一步网络事件进行推理例如proxy_info: DIRECT→ 排除代理问题TCP_CONNECT→ 排除 DNS 问题os_error: 65、net_error: -109→ 判断错误来自 macOS 网络层而不是浏览器本身。这样很快就把排查范围缩小到了Chrome 与系统网络权限最终发现是macOS「系统设置 → 隐私与安全性 → 本地网络」没有授予 Google Chrome 权限。一个值得分享的小经验以后遇到浏览器网络问题尤其是ERR_ADDRESS_UNREACHABLEERR_CONNECTION_REFUSEDERR_TIMED_OUTERR_NETWORK_CHANGED不要急着重装浏览器也不要一直凭经验猜。先导出 Chrome NetLog再把日志交给 ChatGPT 分析通常能比人工翻日志快得多也能避免一直在错误方向上排查。对于这种结构化日志AI 的优势不是替代分析而是能够快速串联整个请求链路帮助我们定位真正值得关注的那几个关键事件。这也是这次排查过程中我觉得最有价值的经验。