查一个IP背后绑了哪些域名,跟查一个域名解析到什么IP,是反着来的两件事。很多人把这两个需求混在一起,搜出来的工具用错了方向,白折腾半天。先把这个分清楚,后面就顺了。
从域名查IP是最常用的方向。你手里有个域名,想知道它解析到哪台服务器,用nslookup或者dig就够了。Windows上打开命令提示符,敲nslookup example.com,返回的Address那一行就是IP。Linux和macOS用dig +short example.com,输出更干净,直接一行IP甩出来。在线工具的话,站长之家和IP138都有域名查IP的功能,输入域名点查询,结果里除了IP还会显示归属地和运营商。这个操作太基础了,没什么好说的。

反过来,从IP查域名就麻烦一些。一个IP上可能绑了几十个甚至几百个域名,没有哪个工具能给你一份完整的清单。你能查到的是“已知的关联”,不是全部。这个认知很重要,不然你会以为工具漏掉了什么。
查IP关联域名最直接的方法是反向DNS查询。每个IP可以配置一个PTR记录,把IP映射回一个主机名。用dig -x 8.8.8.8或者nslookup 8.8.8.8就能查到这个记录。但问题是,绝大部分IP根本没有配PTR记录,或者配的是一个毫无意义的名字。你查一个普通网站服务器的IP,返回的可能就是“no PTR record”或者一个像ip-192-168-1-1.example.com这样的默认名。所以反向DNS只能算一个起点,查不到不代表没有域名绑在上面。
更实用的路子是查同IP网站。站长工具里有一个“同IP网站查询”的功能,输入一个IP,它会列出这个IP上托管的所有域名。背后的数据来源主要是爬虫抓取和证书透明度日志。原理不复杂:每次有人用HTTPS访问一个域名,证书里会包含域名信息,这些信息会被记录到公开的证书透明度日志里。工具把日志里的域名和对应的IP关联起来,就形成了一份可查的数据库。
ViewDNS.info也提供类似的服务,它的IP反查功能覆盖的域名数量比较大,界面简洁,输入IP直接出结果。不过数据更新有延迟,新绑定的域名可能查不到,得等几天。还有一个叫RapidDNS的网站,专门做IP反查域名,数据量在国内工具里算比较大的,支持按IP段查询,能看到一个C段里所有被记录过的域名。
IP的详细地址查询是另一个维度。你拿到一个IP,想知道它在哪个城市、哪家运营商,这个需求用IP归属地查询工具就能满足。IP138和ip.cn是最常用的两个,输入IP返回省市和运营商名称。ipinfo.io的返回信息更全,除了地理位置还有ASN号、时区、经纬度。这些工具的数据来自商业IP地理库,准确度在城市级别还算靠谱,但别指望能精确到街道。同一个IP在不同工具上查出不同城市的情况很常见,因为各家的数据库更新频率不一样。以运营商官方数据为准,第三方工具只做参考。
有一个细节值得留意:你查到的IP地址可能是CDN节点的,不是源站的。比如你查一个用了Cloudflare的域名,解析出来的IP是Cloudflare的任播地址,全世界多个机房共用同一个IP段。你拿这个IP去查归属地,显示的是Cloudflare注册地,跟网站服务器真实位置没关系。想知道源站在哪,得绕过CDN去查,方法有查历史DNS记录、看子域名有没有直接解析到源站、分析SSL证书的关联域名这些,都不保证成功。
批量查的时候,命令行比在线工具效率高得多。Linux下写个for循环,把IP列表放在文件里,一行一个,跑dig -x逐个查。Windows的PowerShell也能干类似的事。如果要查的是IP的地理位置,调API比爬网页靠谱。ip-api.com免费版每分钟45次请求,返回JSON格式,解析起来方便。ipinfo.io每天1000次免费额度,够中小规模使用。
内网IP查不到任何地理位置信息。192.168开头、10.开头、172.16到172.31开头的地址,在线工具一律返回“私有地址”。想确认内网IP是哪台设备在用,只能在路由器后台或者交换机上查ARP表。这个限制不是工具的问题,是TCP/IP协议本身就这么设计的。
用这些工具的时候,隐私方面留个心。你输入的每个IP和域名,查询请求都会经过工具提供方的服务器。正规站点一般不会拿这些数据做什么,但如果你查的是敏感目标,用命令行在本地查更稳妥。whois、dig、nslookup这些命令系统自带,不经过第三方网页,查完不留痕迹。