中文域名显示出来是汉字,但DNS解析系统无法识别汉字字符,只能读取punycode编码。所以查询中文域名对应的IP,第一步并不是使用特殊工具,而是把中文域名转换为以xn--开头的编码字符串。网上有不少转码工具,搜索中文域名转punycode就能找到,输入完整域名,比如例子.中国,工具就会输出xn--fsqu00a.xn--fiqs8s这类编码串。拿到编码之后,查询IP的操作方式,和普通英文域名没有任何区别。
Windows自带命令行对中文域名兼容性很差。直接在cmd窗口输入ping加上中文域名,大概率返回Ping请求找不到主机的提示。这不代表域名解析失效,是cmd字符编码无法识别中文内容。粘贴转换完成的punycode编码执行ping命令,一般就可以正常获取IP地址。nslookup工具也是同样情况,直接输入中文域名经常查询失败,替换成punycode编码就能正常返回结果。Mac、Linux终端对中文域名兼容性稍好,但无法保证所有运行环境都支持,最稳妥的操作依旧是先转码,再执行解析查询。

不想使用命令行操作,在线查询工具会更加简便。站长之家、chinaz、ip138这类网站都配备IP、DNS查询入口,部分平台支持直接输入中文域名,后台自动完成转码,返回A记录和AAAA记录。这里有一处需要留意,大量网站启用CDN服务,查询得到的IP只是就近CDN节点地址,并不是网站后端真实源服务器。想要定位源站IP,需要调取历史DNS解析记录、查询MX邮件记录或者查看子域名解析,这套操作和域名是否为中文没有关联。
浏览器同样可以用来查询。Chrome或者Edge打开目标网站,按下F12调出开发者工具,切换至Network面板,刷新页面,点击第一条访问请求,在Headers栏目找到Remote Address,这个就是浏览器实际连接的IP地址。地址栏输入中文域名后,浏览器后台会自动转换成punycode编码,地址栏会显示xn--开头字符串。这种方式查到的IP同样是当前接入节点,启用CDN时,不会展示源站IP。
中文域名的DNS记录类型和英文域名完全一致,A记录、AAAA记录、CNAME记录都支持。查询返回IP可能是IPv4或者IPv6,取决于域名解析配置。如果查询对象是子域名,比如带www、mail前缀的中文子域名,需要把完整域名整体转码,不能仅转换前缀部分。.中国、.公司、.网络这类中文后缀,转码时会自动转为对应的punycode后缀,不用手动拼接。
无法查询到IP的时候,优先检查两项内容:punycode编码转换结果是否正确,域名本身是否添加解析记录。部分中文域名仅完成注册,没有配置解析记录,这种情况查询不到IP属于正常现象。CDN带来的IP变动属于另外一类情况,和域名是不是中文没有关系。