域名后缀列表

ICANN(互联网名称与数字地址分配机构)找到的域名后缀列表(最全的)。

顶级域名后缀列表
https://www.icann.org/resources/pages/tlds-2012-02-25-en
http://data.iana.org/TLD/tlds-alpha-by-domain.txt

域名根数据库
https://www.iana.org/domains/root/db

公共域名后缀(所有域名后缀
https://publicsuffix.org/list/

https://publicsuffix.org/list/public_suffix_list.dat


本地查看

顶级域名后缀列表 (每周更新)

公共域名后缀 (每周更新)


Punycode 转换

Punycode是一个根据RFC 3492标准而制定的编码系统,主要用于把域名从地方语言所采用的Unicode编码转换成为可用于DNS系统的编码。目前,因为操作系统的核心都是英文组成,DNS服务器的解析也是由英文代码交换,所以DNS服务器上并不支持直接的中文域名解析,所有中文域名的解析都需要转成Punycode码,然后由DNS解析Punycode码。

PHP 可使用 idn_to_ascii、idn_to_utf8 函数(需要 intl 扩展)。
参见:https://blog.longwin.com.tw/2014/06/php-domain-idn-punycode-convert-2014/

PHP 库,可使用 :https://github.com/true/php-punycode/

js编码解码 punyCode
Java:Punycode与中文互转

在线转换:https://www.ymw.cn/whois/punycode.html

同形攻击

Punycode 有一些安全问题。例如,Unicode 域名可用于同形攻击。这意味着攻击者可以注册一个域名,通过 punycode 在演示层中翻译成一个看起来有效的域名,如 www.google.de,但通过将 e 替换为看起来相似的西里尔字母 – U-0435(西里尔小写字母 IE)。参见:Punycode phishers – All you need to know