我在一个“不太安全”的国家,所以我使用VPN访问互联网(xray在Ubuntu下的VPS上运行,协议vless-reality)。服务器位于荷兰。 VPN 工作完美,通过检查 http://whatismyipaddress.com 我可以看到服务器地址,而不是我的真实 IP。
最近我决定检查服务器是否安全,因此我开始通过不同的在线安全服务对其进行扫描。我真的很惊讶地发现 http://edns.ip-api.com/json 服务可以看到我真正的 ISP 的 DNS/geo。它看起来不像是在使用 WebRTC,因为它使用 Python 脚本给出了相同的结果:
import urllib.request
import json
content = urllib.request.urlopen("http://edns.ip-api.com/json").read()
#content = urllib.request.urlopen("http://85.10.196.124/json").read()
result = json.loads(content)
print(result['dns'])
我以为http请求中出了什么问题,所以我尝试使用IP而不是域名来请求文档(包含在上面的脚本中)。但结果是一样的。
看在上帝的份上,有人可以解释一下这是如何工作的吗?!
结果 85.10.196.124 http 重定向到 [random-combination].edns.ip-api.com,这强制我系统上设置的 DNS 服务器联系 ip-api.com 并解析该域,因为它没有缓存.
出于某种原因,我用作 VPN 客户端的 Nekoray 使用我的 ISP 的 DNS 进行解析。这允许 ip-api.com 网站跟踪 DNS 查询并查看我的 ISP 的 DNS IP。在 Nekoray 设置中,我将 DNS 设置为 dns.google,但由于某种原因,它似乎没有使用它。
我现在要检查 Nekoray 的设置以找出原因。