我正在尝试从 COM 和 NAME dns 区域文件中提取所有域名。这些区域文件包含所有 dns 条目,并且似乎缺乏有关区域文件结构的信息。
所有注册的域都有 NS 条目吗?甚至那些没有被积极使用的?我应该使用哪些记录/记录来提取域名。
区域文件非常大,对它们进行排序将是愚蠢的想法。因此,如果我可以使用一种 DNS 记录类型来提取域名,那就更容易了。我在 GitHub 上找到了这个仅使用 NS 条目的 python 脚本(我不知道 python)。逻辑上正确吗?
有经验的请评论。
DNS 区域文件的格式在 RFC 1035(第 5 节)和 RFC 1034(第 3.6.1 节)中定义。您可以在 Wikipedia 上找到许多详细信息:https ://en.wikipedia.org/wiki/Zone_file
它仅包含已发布的域名,即具有至少一个名称服务器且未处于clientHold
或serverHold
状态的域名(请参阅http://www.icann.org/epp#clientHold和http://www.icann.org/epp#serverHold ),简而言之,并非所有域名都已注册。
.COM
区域文件确实很大。在任何情况下,您都需要匹配NS
记录行并删除重复的域名。有多种策略可以做到这一点,具体取决于您的限制。
请注意,许多在线提供商已经为您完成了这项工作,如果您只感兴趣,可以直接提供域名。有些还可能提供与前一天不同的内容。