游客发表
域名被墙这事儿,域名遇上了就是被墙遇上了,没什么道理好讲。查询你正刷着后台数据,工具突然发现某个域名在国内的域名访问量断崖式下跌,ping 也 ping 不通,被墙但服务器本身跑得好好的查询——大概率就是被墙了。这时候你需要一个靠谱的工具查询工具,而不是域名靠猜。
什么叫“被墙”?被墙说白了就是域名或 IP 被 GFW 拉进了黑名单。表现形式有好几种:DNS 污染、查询IP 封锁、工具SNI 阻断、域名TCP 重置。被墙不同的查询封锁方式,查询和验证的手段也不一样。很多站长一发现打不开就急着换服务器、换域名,结果折腾半天,问题根本不在那边。
我最早接触这类工具是 2018 年前后。当时手上一个外贸站突然在国内打不开了,客户反馈说“网站挂了”。我先查了服务器状态,一切正常;又换了几个 DNS,还是不行。后来用了一个叫“墙检测”的在线工具,输入域名,几秒钟返回结果:DNS 污染。那一刻我才意识到,原来还有专门干这个的网站。
现在市面上能用的域名被墙查询工具,大致分两类。一类是在线网页版,打开浏览器就能用,比如 checkgfw.com、ping.pe 这类。它们通常从国内多个节点发起测试,看域名解析是否正常、TCP 连接能否建立、HTTP 请求有没有被重置。另一类是命令行工具,像 gfwlist 项目里的脚本,或者自己写个 curl 循环去测。网页版胜在方便,命令行胜在批量。
但工具本身也有坑。有些查询站自己就在墙外,你访问它都得先翻墙,这就很讽刺。还有些工具只测 DNS,不测 TCP 和 HTTP,结果 DNS 没污染就告诉你“正常”,实际上 IP 早就被封了。我一般会交叉验证:先用在线工具跑一遍,再用国内 VPS 手动 curl -v 看握手过程,最后用 traceroute 确认路由有没有在中间被丢包。三步下来,基本能定性。
具体怎么判断?举个例子。假设域名 example.com 解析到 1.2.3.4。你在国内 dig example.com,返回的是 0.0.0.0 或者一个明显错误的 IP——DNS 污染,没跑。如果解析正常,但 telnet 1.2.3.4 443 超时,而国外节点能连上——IP 封锁。如果 TCP 能连,但 curl -v https://example.com 在 TLS 握手阶段被重置——SNI 阻断。这三种情况,处理方式完全不同。DNS 污染可以换 DNS 或走 DoH,IP 封锁只能换 IP,SNI 阻断得上域前置或者 ECH。
说回工具。我目前用得比较多的是 ping.pe 和 checkgfw.com。前者能同时看国内外多个节点的 ping 和 TCP 结果,一目了然;后者专注墙检测,会明确告诉你“DNS 污染”“IP 封锁”还是“正常”。不过 checkgfw.com 偶尔会抽风,测出来的结果和实际不符,所以别全信,当参考就行。
还有一点值得提:被墙查询工具本身也可能被墙。有些工具为了自保,会限制国内访问,或者干脆只对海外 IP 开放。这时候你就得先有梯子,才能查域名有没有被墙——逻辑上有点绕,但现实就是这样。所以我的习惯是,本地常备一个能用的代理,再配合国内 VPS 做对照测试,不依赖单一工具。
最后说个真实案例。去年有个朋友做跨境电商,主域名突然在国内无法访问。他先用某在线工具查,显示“正常”。他不放心,又找了个工具,还是“正常”。结果我让他从国内一台阿里云机器上 curl 了一下,直接 connection reset。后来换 ping.pe 测,国内节点全红,海外全绿。结论是 SNI 阻断,但前两个工具只测了 DNS 和 ICMP,没测 TLS。工具选不对,等于白查。
所以,域名被墙查询工具不是万能钥匙。它给你一个起点,但最终判断得靠多维度验证。别偷懒,也别迷信某一个网站的结果。
友情链接