如何快速获取千万级数量的域名?

张小编 1K

为什么要大量域名?嘿,搞web安全的,别说你不懂。

那怎么快速获取大量域名?要么野心太大,要么技术不行,想来想去,大概有以下几种思路[aru_37]

1、下载注册局的TLD区域文件什么是TLD区域文件),简单查了一下,这玩意说得简单,实际做起来费时费力的样子,对于懒癌晚期的我,太繁琐,啪,枪毙掉。

2、搞一个HTTP(s)的web首页存活状态探测器,比如御剑扫描之类,或者干脆Python实现一个,然后使用字典的方式,将所有英文+数字,与所有顶级域名后缀进行组合,批量穷举探测,判断的标准是,首页存在则判断域名可用。

想到这里,我激动万分,感觉瞬间能将全世界域名纳入到自己硬盘,然而现实打脸,即使网络IO多线程处理,效果依然差劲,毕竟被注册并且使用中的域名,只占据字典的一小部分而已。这工作相当于在大海里手动摸鱼,并非我所愿。

3、同IP查询同服C段,这个听起来靠谱些,网上有较为稳定的API接口可使用,就比如站长工具、爱站网同IP查询工具,稍加利用就可以了,我的思路是借鸡生蛋,整一个域名列表,转化成IP地址,通过接口去批量查IP同服,就相当于一生三,三生万物,哈哈,不禁为自己的小聪明点赞。最后只需将查询结果转化为本地文件,进而判断去重既可。

4、搜索引擎关键词URL采集大法,这个应该是市面通用的采集软件的办法吧,效果不错,而且怎么说呢,采集出来的域名,质量更高!毕竟都是被搜索引擎爬过,收录过的,你才有可能采集到,来源不用说就是百度、搜狗、360、必应等大搜索引擎,唯一需要注意的就是,采集过于频繁会导致防爬虫机制,如验证码之类的等等,可以用IP池来解决,另外使用登录cookie,证明是正常用户,降低爬虫风险,也是个不错的选择。

言而总之,目前就第3种第4种方法实现起来难度不大,并且短时间能够积累数量可观的域名,写程序就是这样,一旦有了思路,那就啥子也不说,直接开干!

 

分享