V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sofm
V2EX  ›  程序员

网页如何检测访问用户的本地 dns,类似这样 https://www.dns.com/ipcheck.html

  •  
  •   sofm · 2 天前 · 1184 次点击

    如题,浏览器没有直接提供检测本地 dns 的接口。上面的检测,也存在 不准确的 问题。

    但这种是如何实现的呢?

    6 条回复    2024-12-27 17:03:35 +08:00
    everfly
        1
    everfly  
       2 天前 via iPhone
    需要设置自己的权威 DNS ,参考我发表的帖子,也可以看看 demo: https://probe.xxyy.app 页面上有 github 链接可以了解原理,基本都差不多。
    cz5424
        3
    cz5424  
       2 天前   ❤️ 1
    设置自己的域名的 ns 记录,然后自己搭个 dns 服务器做解析,用户要解析你域名的 ip 地址就得请求他的 dns 服务器,他的 dns 服务器就会请求你得 dns 服务器;记得每次都要随机值+设置很低的 ttl ,避免权威 dns 缓存了,不请求你
    crab
        4
    crab  
       1 天前
    @cz5424 响应 NXDOMAIN 就可以了。
    l4ever
        5
    l4ever  
       1 天前
    检测您的上网 IP:

    结果:x.x.x.x 广东深圳

    检测您的上网 DNS:

    结果:超时
    zhangdp
        6
    zhangdp  
       6 小时 26 分钟前
    自己搭建 DNS 服务器,假设你的域名为 a.com ,用户访问你的网站后,你的网站自动生成一个唯一值比如 xxx ,然后调用接口 xxx.a.com ,这样用户设备就会发起 dns 请求解析 xxx.a.com ,解析请求最终会到你的 DNS 服务器,你的 DNS 服务器收到 xxx.a.com 的解析结果根据唯一值 xxx 就能知道是哪个用户在通过哪个 DNS 来发起解析的,记录下来,然后通过接口返回
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2505 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:30 · PVG 23:30 · LAX 07:30 · JFK 10:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.