一个简单的现代化公司域名使用规律预测及生成工具
共 2665字,需浏览 6分钟
·
2022-01-14 13:43
向AI转型的程序员都关注了这个号👇👇👇
机器学习AI算法工程 公众号:datayx
什么叫 "现代化" 公司?
不成熟定义,就是公司整体 IT 基础设施和架构设计完善,会使用微服务、协同开发、自动化测试、自动化打包发布、自动化部署、自动化日志收集和自动化运维监控等多项 "现代化" 的技术解决高并发等较大体量业务问题的公司;
这些公司或组织团体一般有较多业务,以互联网领域、近些年新成立的公司居多,域名命名及分配使用比较规范。
什么是域名预测?
简答来讲就是基于 "现代化" 公司比较规范的域名使用规律已经使用的新技术架构,在已知某个域名后,预测该域名可能有哪些变体形式的域名。
举一个简单的例子:
已知 A 公司有一个域名
shoot.A.com
,那么对应的接口服务域名可能是api.shoot.A.com
、shoot.restful-api.A.com
、shoot-api.A.com
等;测试、预发等不同环境的域名可能是
shoot-api.test.A.com
、test.api.shoot.A.com
、pre.shoot-api.A.com
等;对应的不同环境的管理监控域名可能是
shoot-monitor.dev.A.com
、shoot-dev-monitor.A.com
、st1.shoot-dashboard.A.com
等;对应不同负载代理的域名可能是
shoot-api.corp.A.com
、api.shoot.internal.A.com
等;对应的后端 api 服务生产环境的域名可能是
backend-api.prod.shoot.A.com
、backend-api-prod.shoot.A.com
等。当然,在缺少域名前缀,仅知道域名为
A.com
时,也可以按照此规律直接进行预测。为什么要写这个工具?
随着对许多 "现代化" 业务的接触和实际渗透测试,我发现在域名的探测这个很小的领域中,现有的子域名爆破、第三方服务接口查询都不能很好的覆盖到 域名预测 这个概念。
这样当你得到
shoot.A.com
域名后,很可能会遗漏上面举例中的相关重要域名,导致 "灯下黑"。这个工具可以干什么?
按照配置文件和生成规则来完成上述的域名预测,生成完整的域名字典。
目前一个域名在
simple
规则下大概生成 6w—7w 左右个域名,在default
规则下生成 26w—29w 个域名。生成完域名后可以用支持完整域名验证的工具去验证域名是否存在,比如使用 ksubdomain 命令
subdomain -f predictor-domains.txt -verify
。
代码 获取方式:
关注微信公众号 datayx 然后回复 域名 即可获取。
cd domainNamePredictor/
pip install -r requirements.txt
chmod +x dnp.py
python dnp.py
Usage
python dnp.py -d A.com
python dnp.py -f A.com-domains.txt -m simple
python dnp.py -d demo.A.com -m simple -o /tmp/predictor-a.com.txt
机器学习算法AI大数据技术
搜索公众号添加: datanlp
长按图片,识别二维码
阅读过本文的人还看了以下文章:
基于40万表格数据集TableBank,用MaskRCNN做表格检测
《深度学习入门:基于Python的理论与实现》高清中文PDF+源码
2019最新《PyTorch自然语言处理》英、中文版PDF+源码
《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码
PyTorch深度学习快速实战入门《pytorch-handbook》
【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》
李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材
【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类
如何利用全新的决策树集成级联结构gcForest做特征工程并打分?
Machine Learning Yearning 中文翻译稿
斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程
不断更新资源
深度学习、机器学习、数据分析、python
搜索公众号添加: datayx