因为工作需要,需要查询域名备案,有时候需要查询一个或多个域名,有时候是需要给一整个文件内的域名进行判断是否备案与否,此外还需批量查询域名是否解析到我们的域名,但是 dig nslookup 这种域名只能查询单个域名,我总不能一个一个去 dig 看吧,这样太麻烦了。于是,写了个工具批量查询域名备案和域名解析的脚本。
github 仓库地址: https://github.com/monkey-wenjun/get_domain_info
实现思路
域名备案
从命令行获取仓库进行查询,可以是一个或多个,也可以从文件读取进行查询。
域名解析
从 命令行读取参数进行解析查询,或从文件读取列表去查询 A 记录、CNAME 记录和 NS 记录,并对结果进行去重。
脚本使用说明
源码开源但是备案查询接口调用的是 NowAPI 的,需要把get_single_filing_info 方法中的 appkey 或 sign 替换成你自己的。。或者使用其他接口。
环境
- python 3
第三方模块安装
1 | pip3 install -r requirements.txt |
requirements.txt 内容如下:
1 | dnspython3 |
查看帮助
1 | #./get_domain_info.py |
使用说明
不管是备案还是 DNS 查询,如果域名包含完整 URL 的,会自动过滤提取裸域后进行查询,例如查询备案:
1 | ➜ get_domain_info git:(master) ✗ ./get_domain_info.py -dl https://awen.me/post/18464.html |
或是查询 DNS
1 | ./get_domain_info.py -rl https://awen.me/post/18464.html |
1.批量查询域名解析
1.获取单个或多个 域名的解析
1 | ./get_domain_info.py -rl 163yun.com www.163yun.com |
- 从文件读取域名列表进行域名解析查询
1 | ./get_domain_info.py -rf ~/Downloads/domain.txt |
从文件读取域名查询的,结果中会进行去重,有重复 IP 的只提取一个
2.查询备案
1.获取单个或多个域名备案(多个域名用空格分隔)
1 | ./get_domain_info.py -dl baidu.com awen.me |
2.从文件读取域名列表进行备案查询
1 | ./get_domain_info.py -df ~/Downloads/domain.txt |