NmapDNS缓存探测
  DNS缓存是当用户访问某个网址后,操作系统将会把该地址记录到缓存中,方便用户下次访问。这样,可以节省用户每次访问时,多次解析时间了。但是,这个缓存只是临时缓存,超过设定的时间将会被清除。在Nmap中,dns-cache-snoop脚本可以探测一个主机中的DNS缓存条目。其语法格式如下所示:
  nmap -sU -p 53 --script dns-cache-snoop.nse --script-args 'dns-cache-snoop.mode=timed,dns-cache-snoop.domains={host1,host2,host3}'
  以上语法中“-sU”选项表示扫描UDP端口;“-p”选项指定的是DNS协议默认的端口53;“dns-cache-snoop.mode”参数是用来指定运行模式的,可设置的模式有两种,分别是nonrecursive和timed。其中,nonrecursive是默认模式。“dns-cache-snoop.domains”选项表示可以指定探测缓存的主机名。如果同时指定多个主机名时,中间使用逗号分割。
  【示例1-8】探测目标主机RHEL 6.4上的DNS缓存条目。执行命令如下所示:
root@localhost:~# nmap -sU -p 53 --script dns-cache-snoop.nse 192.168.1.104
Starting Nmap 6.47 ( http://nmap.org ) at 2015-06-03 16:42 CST
Nmap scan report for localhost (192.168.1.104)
Host is up (0.00036s latency).
PORT   STATE SERVICE
53/udp open  domain
| dns-cache-snoop: 1 of 100 tested domains are cached.          #探测结果
|_www.baidu.com
MAC Address: 00:0C:29:2A:69:34 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.52 seconds
  从以上输出信息中,可以看到探测了100个域名,其中有一个被缓存。从输出信息中,可以看到缓存的主机名为www.baidu.com
  Nmap探测主机是否支持黑名单列表
  这里所说的黑名单是指支持防止DNS反垃圾和打开proxy黑名单。在Nmap中,dns-blacklist脚本可以探测目标主机是否支持防止DNS反垃圾和打开proxy黑名单。其中,语法格式如下所示:
  nmap -sn --script dns-blacklist [目标]
  以上语法中“-sn”选项表示不进行Ping扫描。
  【示例1-9】探测目标主机RHEL 6.4是否支持黑名单列表。执行命令如下所示:
root@localhost:~# nmap -sn --script dns-blacklist 192.168.1.104
Starting Nmap 6.47 ( http://nmap.org ) at 2015-06-05 16:00 CST
Nmap scan report for localhost (192.168.1.104)
Host is up (0.00028s latency).
MAC Address: 00:0C:29:2A:69:34 (VMware)
Host script results:
| dns-blacklist:
|   PROXY                                                                         #PROXY协议
|     dnsbl.tornevall.org - PROXY
|       IP marked as "abusive host"
|       ?
|     dnsbl.ahbl.org - PROXY
|   SPAM                                                                                    #SPAM协议
|     dnsbl.ahbl.org - SPAM
|     l2.apews.org - FAIL
|_    list.quorum.to - SPAM
Nmap done: 1 IP address (1 host up) scanned in 12.58 seconds
  从以上输出信息中,可以看到目标主机支持防止DNS反垃圾和打开proxy黑名单。