传统 Whois 使用自己的 TCP 协议,通常走 43 端口。仅仅因为返回内容描述的是互联网域名,并不意味着它就是 HTTP 请求。

http_proxy 变量只对会读取它、并通过受支持的 HTTP 代理路径发送请求的软件有帮助。Whois 实现可以在建立常规 TCP 连接时忽略该变量。

如果某个客户端支持 SOCKS,请配置该文档中说明的功能。兼容的 TCP 包装器是另一种可能,但受包装器的拦截范围和代理的目标端口策略限制。不要假设每个名为 whois 的程序都具备相同功能。如果该客户端支持 SOCKS 且允许使用公共中间人,SOCKS 代理列表提供了候选,可用来检查能否访问实际的 Whois 服务器和端口(包括 referrals)。

基于 HTTP 的注册数据服务(包括 RDAP)使用不同的应用层协议,可以获得具备 HTTP 感知的客户端的代理支持。切换接口是有意更换工具与响应格式,并不能证明最初的 Whois 查询一直都是 HTTP。

也要留意 referral 行为:一次查询可能联系不止一个服务器。一条连接被允许,并不能证明之后每个目的地都能使用预期的路由。

相关文章