1. 介绍
域名信息搜素器(Dig)是一个类似于nslookup的强大工具,它不仅支持运行命令行选项,而且还支持在查询多个域名时将文件通过管道直接导入。Dig使用/etc/resolve.conf
文件来迭代请求域名服务器(指定域名服务器除外),Dig有一个很长的选项列表,可以配置获取所需要搜集的数据。
Dig官网详细介绍了Dig的功能。
2. Dig命令查询
在Kali linux终端输入命令,以查询baidu.com为例:
# dig baidu.com
输出结果如下图:
输出结果详细指明了Dig的版本号,默认选中了全局选项(global option)。根据结果显示,baidu.com的A记录列出了3个:132.125.114.144,180.149.132.47和220.181.57.217 。
更深层Dig查询:
# dig +qr youku.com any
选项any将查询关于youku.com所有的DNS记录,+qr是将结果打印,此次查询的结果除了之前得到的数据头部和尾部,还包含了一些其他记录,包括所有的域名服务器和别名等。
3. 使用Dig进行域传送
域传送(AXFR)能够一次性获取整个域名服务器的所有记录,如果成功执行,仅通过一个简单的命令就可以列出域名服务器上的所有信息。在高度安全的环境下,域传送功能是禁用的,因为这会给攻击者提供主机名等一系列有价值的信息。
终端输入:
# dig @ns1.youku.com youku.com axfr
这个查询失败,依次尝试了其他三个都失败了,看来优酷还是有一定的安全措施的。但并不是所有的服务器都禁用了此项功能,下面这个就没有禁用。
4. Dig 高级特性
Dig功能相当多样,可以允许导出不同的数据格式。可以使用+nocmd
删除输出的命令信息。
+noall
Dig输出中不含旗标信息。
+answer
Dig输出仅显示应答部分。
# dig +nocmd +noall +answer baidu.com
仅显示结果:
这样可以方便的使用awk和grep工具对结果进行进一步处理。
此外,Dig还有一些其他有价值的命令。
- 列出bind版本
# dig +nocmd txt chaos VERSION.BIND @sn1.example.com +noall +answer
这条命令确定服务器运行的bind版本信息,对查找漏洞具有重要价值。
- 反向DNS查找
将IP地址解析为域名,除了nslookup还可以使用Dig命令完成此项任务。
# dig +nocmd +noall +answer -x 180.149.132.47
- 查询路径
使用+trace
可以获得dig解析域名的路由信息。
# dig +trace baidu.com
- Dig 批处理
与nslookup不同,无需编写脚本来循环查询文件所有域名。Dig可以使用-f
选项完成批处理。
将以下内容写入digtask.txt文件中
+nocmd +noall +answer baidu.com
+nocmd +noall +answer youku.com
+nocmd +noall +answer blog.csdn.net
输入命令以下命令执行:
# dig -f digtask.txt