Nmap扫描教程之DNS服务类
Nmap扫描教程之DNS服务类
Nmap DNS服务类
DNS(Domain Name System,域名系统)的作用就是将主机名解析为相应IP地址的过程。
通常主机域名的一般结构为:主机名.三级域名.二级域名.顶级域名。
所以。DNSserver在解析一个主机名时,须要一级一级的进行解析,即递归查询。为了方便用户下次訪问,DNSserver会将解析过的主机名暂时缓存。通过对DNSserver进行扫描,能够获取到一些基本信息。
如版本号、server地址及缓存的域名等。本节将介绍DNS服务扫描方法。
Nmap获取DNS信息
通过请求DNSserver的ID,而且訪问ID。能够获取DNS名称服务的相关信息。
在Nmap中,dns-nsid脚本能够用来发送ID请求,而且获取DNS的具体信息。
当中。包含NSID、ID的服务及版本号。dns-nsid脚本的语法格式例如以下所看到的:
- nmap -sSU -p 53 --script dns-nsid [目标]
以上语法中的“-sSU”选项表示进行UDP和TCP SYN扫描。
【演示样例1-4】获取目标主机RHEL 6.4上DNS信息。运行命令例如以下所看到的:
- root@localhost:~# nmap -sSU -p 53 --script dns-nsid 192.168.1.104
- Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-28 16:04 CST
- Nmap scan report for localhost (192.168.1.104)
- Host is up (0.00033s latency).
- PORT STATE SERVICE
- 53/tcp open domain
- 53/udp open domain
- | dns-nsid:
- |_ bind.version: 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 #版本号
- MAC Address: 00:0C:29:2A:69:34 (VMware)
- Nmap done: 1 IP address (1 host up) scanned in 0.54 seconds
从以上输出信息中,能够看到获取到目标主机上DNS服务的版本号信息为9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6。
Nmap DNS服务发现协议
DNS服务发现协议同意client发现一个server列表。通过发送DNS-SD查询广播包,能够从响应包中获取到一个服务列表。
在Nmap中。broadcast-dns-service-discovery脚本能够发送DNS-SD广播包,而且获取一个服务列表。当中,语法格式例如以下所看到的:
- nmap --script=broadcast-dns-service-discovery
【演示样例1-5】使用broadcast-dns-service-discovery脚本发送DNS-SD广播包。运行命令例如以下所看到的:
- root@localhost:~# nmap --script=broadcast-dns-service-discovery
- Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-21 13:56 CST
- Pre-scan script results:
- | broadcast-dns-service-discovery:
- | 192.168.1.101
- | 47989/tcp nvstream #nvstream服务信息
- |_ Address=192.168.1.101 fe80:0:0:0:744c:a0ee:dbfd:769 #nvstream服务地址
- WARNING: No targets were specified, so 0 hosts scanned.
- Nmap done: 0 IP addresses (0 hosts up) scanned in 7.06 seconds
从以上输出信息中,能够看到收到一个地址为192.168.1.101主机的响应包。
从该响应包中。能够看到目标主机192.168.1.101上有一个使用DNS服务发现协议的服务。当中,服务名称为nvstream、port号为47989、协议为TCP、服务的地址为192.168.1.101。
Nmap 探測主机是否同意DNS递归查询
DNSserver的主要作用就是进行域名解析。
DNS进行域名解析时。一般会使用递归查询和迭代查询。当中,递归查询是最常见的查询方式。在Nmap中,dns-recursion脚本能够用来探測一台主机是否同意DNS递归查询。
当中,语法格式例如以下所看到的:
- nmap -sU -p 53 --script=dns-recursion [目标]
【演示样例1-6】探測目标主机RHEL 6.4是否同意DNS递归查询。
运行命令例如以下所看到的:
- root@localhost:~# nmap -sU -p 53 --script=dns-recursion 192.168.1.104
- Starting Nmap 6.47 ( http://nmap.org ) at 2015-05-28 16:10 CST
- Nmap scan report for localhost (192.168.1.104)
- Host is up (0.00030s latency).
- PORT STATE SERVICE
- 53/udp open domain
- |_dns-recursion: Recursion appears to be enabled #递归查询已启用
- MAC Address: 00:0C:29:2A:69:34 (VMware)
- Nmap done: 1 IP address (1 host up) scanned in 2.58 seconds
从输出的信息。能够看到目标主机上的DNS递归查询已开启。
Nmap枚举DNSserver的主机名
主机名就是计算机的名字,网上邻居就是依据主机名来识别的,该名字能够随时更改。通过暴力破解通用的子域,能够枚举DNSserver的主机名。在Nmap中,dns-brute脚本能够枚举DNSserver的主机名。当中,语法格式例如以下所看到的:
- nmap --script dns-brute --script-args dns-brute.domain=[域名],dns-brute.threads=[number],dns-brute.hostlist=[主机名列表],newtargets -sS -p 80 [域名]
以上语法中“dns-brute.domain” 參数是用来指定破解的域名,如baidu.com。“dns-brute.threads”參数是用来指定破解的线程数,默认是5。“dns-brute.hostlist”參数是用来指定一个主机名列表文件的。用于dns-brute脚本进行破解。
默认,破解使用的主机名列表文件是/usr/share/nmap/nselib/data/vhosts-default.lst文件。当然,以上參数也能够不指定。
【演示样例1-7】枚举DNSserverbenet.com的主机名。运行命令例如以下所看到的:
- root@localhost:~# nmap --script dns-brute mail.benet.com
- Starting Nmap 6.47 ( http://nmap.org ) at 2015-06-01 16:47 CST
- Nmap scan report for mail.benet.com (69.172.201.208)
- Host is up (0.26s latency).
- Not shown: 998 filtered ports
- PORT STATE SERVICE
- 80/tcp open http
- 443/tcp open https
- Host script results: #脚本扫描结果
- | dns-brute:
- | DNS Brute-force hostnames: #暴力破解出的主机名
- | admin.benet.com - 69.172.201.208
- | stats.benet.com - 69.172.201.208
- | devel.benet.com - 69.172.201.208
- | host.benet.com - 69.172.201.208
- | mx.benet.com - 69.172.201.208
- | development.benet.com - 69.172.201.208
- | administration.benet.com - 69.172.201.208
- | http.benet.com - 69.172.201.208
- | mx0.benet.com - 69.172.201.208
- | devsql.benet.com - 69.172.201.208
- | ads.benet.com - 69.172.201.208
- | mx1.benet.com - 69.172.201.208
- | devtest.benet.com - 69.172.201.208
- ......
- | mobile.benet.com - 69.172.201.208
- | helpdesk.benet.com - 69.172.201.208
- | monitor.benet.com - 69.172.201.208
- | home.benet.com - 69.172.201.208
- | mssql.benet.com - 69.172.201.208
- |_ mta.benet.com - 69.172.201.208
- Nmap done: 1 IP address (1 host up) scanned in 60.25 seconds
从以上输出信息中,能够看到枚举出的DNSserverbenet.com全部域名及域名相应的IP地址。比如,主机名为admin.benet.com的IP地址是69.172.201.208。
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”选项表示扫描UDPport;“-p”选项指定的是DNS协议默认的port53。“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黑名单。
本文选自:Nmap扫描实战教程大学霸内部资料。转载请注明出处。尊重技术尊重IT人!
Nmap扫描教程之DNS服务类的更多相关文章
- Nmap扫描教程之Nmap基础知识
Nmap扫描教程之Nmap基础知识 Nmap扫描Nmap基础知识 Nmap是一个免费开放的网络扫描和嗅探工具包,也叫网络映射器(Network Mapper).Nmap工具可以用来扫描电脑上开放的端口 ...
- dSploitzANTI渗透教程之HTTP服务重定向地址
dSploitzANTI渗透教程之HTTP服务重定向地址 HTTP服务 HTTP服务主要用于重定向地址的.当用户创建一个钓鱼网站时,可以通过使用HTTP服务指定,并通过实施中间人攻击,使客户端访问该钓 ...
- WCF系列教程之WCF服务宿主与WCF服务部署
本文参考自http://www.cnblogs.com/wangweimutou/p/4377062.html,纯属读书笔记,加深记忆. 一.简介 任何一个程序的运行都需要依赖一个确定的进程中,WCF ...
- WCF系列教程之WCF服务协定
本文参考自:http://www.cnblogs.com/wangweimutou/p/4422883.html,纯属读书笔记,加深记忆 一.服务协定简介: 1.WCF所有的服务协定层里面的服务接口, ...
- WCF系列教程之WCF服务配置工具
本文参考自http://www.cnblogs.com/wangweimutou/p/4367905.html Visual studio 针对服务配置提供了一个可视化的配置界面(Microsoft ...
- WCF系列教程之WCF服务配置
文本参考自:http://www.cnblogs.com/wangweimutou/p/4365260.html 简介:WCF作为分布式开发的基础框架,在定义服务以及消费服务的客户端时可以通过配置文件 ...
- Nmap扫描教程之网络基础服务DHCP服务类
Nmap扫描教程之网络基础服务DHCP服务类 Nmap网络基础服务 网络基础服务是网络正常工作的基石,常见的网络基础服务包括DHCP服务和DNS服务.其中,DHCP服务用来为计算机动态分配IP地址:D ...
- OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务
OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务 1. OpenVAS基础知识 OpenVAS(Open Vulnerability Assessment Sys ...
- Kail Linux渗透测试教程之ARP侦查Netdiscover端口扫描Zenmap与黑暗搜索引擎Shodan
Kail Linux渗透测试教程之ARP侦查Netdiscover端口扫描Zenmap与黑暗搜索引擎Shodan ARP侦查工具——Netdiscover Netdiscover是一个主动/被动的AR ...
随机推荐
- ASP.NET生成压缩文件(rar打包)
首先引用ICSharpCode.SharpZipLib.dll,没有在这里下载:http://files.cnblogs.com/files/cang12138/ICSharpCode.SharpZi ...
- firebug js版
1.有些时候如 ie6 7 8 你觉得F12 不好用的话 你可以直接 把这两个js 引用到html 里面 <script src="https://getfirebug.com/fi ...
- statistic学习笔记
1. 假设检验:就是对于符合一定前提条件的数据,先作一个假设H0,还有一个备择假设H1(一般是H0的反面,或者是H0不包含的情况),通过一定的计算公式,算出一个值(比如开方检验就是开方值),这个值的理 ...
- 谈谈IT人的发展[转载]
一个人如果能确定他喜欢的行业,他一生都会非常幸福. 相反,则往往痛苦,也许竟然会因此成为一个哲学家也说不定. 中国的贫穷决定了我们当中的大多数人不能根据自己的爱好来选择职业,而只是因为生活所迫,或 ...
- php小知识点
1.字符串可以里面的字符可以像数组一样访问,比如$s = "123";$s[1]就等于2,如果字符串为中文则会乱码,需要使用mb_substr进行截取: 2.php中的单引号(' ...
- 如何让Hadoop运行得更快一些
在数据处理方面,我们发现数据输入速度一般要比的数据处理速度快很多,这种现象在大多数据领域尤为明显.随着数据不断膨胀,相应的响应时间自然要有所增加,数据处理的复杂度也在不断提高.作为一个开发者,我们自然 ...
- Deprecated: Call-time pass-by-reference has been deprecated in E:\wamp\www\admin\htdocs\busi.php on line 381
Deprecated: Call-time pass-by-reference has been deprecated in E:\wamp\www\admin\htdocs\busi.php on ...
- APP的测试过程和重点
APP的测试过程和重点 1.首先是测试资源确认及准备 (1)产品需求文档.产品原型图.接口说明文档以及设计说明文档等应齐全: (2)测试设备及工具的准备:IOS和andriod不同版本的真机,以及相关 ...
- UVA 11722 几何概型
第六周A题 - 几何概型 Time Limit:1000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Descriptio ...
- bind函数
bind函数把一个本地协议地址赋予一个套接字 对于网际协议,协议地址是32位的IPv4地址或128位的IPv6与16位的TCP或UDP端口号的组合 int bind ( int sockfd, con ...