网络扫描:探测域名
2021-07-30
来源:计算机与网络安全
域名(Domain Name)简称域名、网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。如果通过IP地址访问广域网主机的话,不太容易记忆。所以,通常是通过域名方式来访问其主机的。本文介绍探测域名的方法。
01 Ping扫描
Ping扫描就是通过向目标主机发送一个ICMP Echo请求包,通过响应信息用来判断目标主机是否在线。通过Ping扫描,可以探测域名对应的主机IP地址。下面介绍具体的实现方法。
1. 使用Ping命令
Ping是Windows、UNIX和Linux系统下的一个命令。Ping也属于一个通信协议,是TCP/IP协议的一部分。利用Ping命令可以检查网络是否连通,可以很好地帮助用户分析和判定网络故障。下面介绍使用Ping命令测试目标主机是否在线的方法。
使用Ping命令测试广域网中的主机www.baidu.com是否在线。执行命令如下:
root@daxueba:~# ping www.baidu.com
PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=1 ttl=55 time=21.3 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=2 ttl=55 time=21.4 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=3 ttl=55 time=21.4 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=4 ttl=55 time=21.7 ms
^C #使用Ctrl+C停止Ping
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 6ms
rtt min/avg/max/mdev = 21.339/21.440/21.664/0.195 ms
从输出的信息中可以看到,已经成功收到了目标主机的响应包。由此可以说明目标主机是活动的,而且还成功对其域名进行了解析。其中,域名www.baidu.com的IP地址为61.135.169.125。如果目标主机不在线的话,将收不到响应信息或者返回响应目标主机不可达等信息。
当用户在Linux下执行Ping命令时,需要使用Ctrl+C组合键停止扫描,否则会一直Ping下去。在Windows下,默认发送4个Ping包后停止扫描。
2. 使用Nmap工具
在Nmap中提供了一个-sP选项,可以用来实施Ping扫描,列出目标主机是否存活,或者列出在这一个网段内都有哪些主机是存活状态。使用Nmap实施Ping扫描的语法格式如下:
nmap -sP [目标]
以上语法中的选项及含义如下:
-sP:仅进行Ping扫描,用来发现主机,不进行端口扫描。
目标:指定扫描的目标主机。这里可以指定IP地址,也可以指定为域名。
使用Nmap对目标主机(www.baidu.com)实施Ping扫描。执行命令如下:
root@daxueba:~# nmap -sP www.baidu.com
Starting Nmap 7.70 ( https://nmap.org ) at 2021-07-27 13:47 CST
Nmap scan report for www.baidu.com (61.135.169.125)
Host is up (0.00051s latency)。
Other addresses for www.baidu.com (not scanned): 61.135.169.121
Nmap done: 1 IP address (1 host up) scanned in 0.23 seconds
从输出的结果中可以看到目标主机(www.baidu.com)是活动的,而且还成功解析出了该域名的IP地址。其中,该域名对应的IP地址为61.135.169.121。此外,也可以指定目标IP地址实施扫描。例如:
root@daxueba:~# nmap -sP 61.135.169.121
Starting Nmap 7.70 ( https://nmap.org ) at 2021-07-27 13:53 CST
Nmap scan report for 61.135.169.121
Host is up (0.00056s latency)。
Nmap done: 1 IP address (1 host up) scanned in 0.35 seconds
从输出的信息中可以看到,目标主机是活动的(up)。
02 域名解析
域名解析是把域名指向网站空间IP,让用户通过注册的域名可以方便地访问网站的一种服务。在因特网中,DNS服务器就是用来进行域名解析的。DNS是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人们更方便地访问互联网,而不用去记住能够被计算机直接读取的IP地址数串。所以,当我们只知道目标主机的域名时,如果想要知道其IP地址,则需要进行域名解析。下面介绍实施域名解析的方法。
域名解析包括正向解析和反向解析。这两种方式的区别如下:
正向解析:将域名解析为IP地址。
反向解析:将IP地址解析为域名。
这里主要介绍实施正向解析的方法。
1. 使用Nmap工具
在Nmap工具中提供了一个-sL选项,可以用来实施域名解析。实施域名解析的语法格式如下:
nmap -sL [Target]
以上语法中的选项及含义如下:
-sL:对指定的主机进行反向域名解析,以获取它们的名字。
Target:指定解析的目标主机地址。其中,指定的目标可以是单个地址、地址范围、地址列表或域名等。
使用Nmap工具对域名www.baidu.com实施反向解析。执行命令如下:
root@daxueba:~# nmap -sL www.baidu.com
Starting Nmap 7.70 ( https://nmap.org ) at 2021-07-27 17:29 CST
Nmap scan report for www.baidu.com (61.135.169.125)
Other addresses for www.baidu.com (not scanned): 61.135.169.121
Nmap done: 1 IP address (0 hosts up) scanned in 0.02 seconds
从输出的信息中可以看到成功解析了域名www.baidu.com。其中,解析出的IP地址为61.135.169.125和61.135.169.121。
使用Nmap工具解析192.168.1.0/24网段的主机。执行命令如下:
root@daxueba:~# nmap -sL 192.168.1.0/24
Starting Nmap 7.70 ( https://nmap.org ) at 2021-07-27 13:58 CST
Nmap scan report for 192.168.1.0 (192.168.1.0)
Nmap scan report for 192.168.1.1 (192.168.1.1)
Nmap scan report for 192.168.1.2 (192.168.1.2)
Nmap scan report for kdkdahjd61y369j (192.168.1.3) #解析成功
Nmap scan report for 192.168.1.4 (192.168.1.4)
Nmap scan report for 192.168.1.5 (192.168.1.5)
Nmap scan report for 192.168.1.6 (192.168.1.6)
Nmap scan report for 192.168.1.7 (192.168.1.7)
Nmap scan report for 192.168.1.8 (192.168.1.8)
Nmap scan report for 192.168.1.9 (192.168.1.9)
Nmap scan report for android-dad8ecb5abc91ce7 (192.168.1.10) #解析成功
Nmap scan report for 192.168.1.11 (192.168.1.11)
……省略部分内容
Nmap scan report for 192.168.1.247 (192.168.1.247)
Nmap scan report for 192.168.1.248 (192.168.1.248)
Nmap scan report for 192.168.1.249 (192.168.1.249)
Nmap scan report for 192.168.1.250 (192.168.1.250)
Nmap scan report for 192.168.1.251 (192.168.1.251)
Nmap scan report for 192.168.1.252 (192.168.1.252)
Nmap scan report for 192.168.1.253 (192.168.1.253)
Nmap scan report for 192.168.1.254 (192.168.1.254)
Nmap scan report for 192.168.1.255 (192.168.1.255)
Nmap done: 256 IP addresses (0 hosts up) scanned in 0.07 seconds
从以上输出信息中可以看到,通过Nmap工具对192.168.1.0/24网段内的所有主机都进行了扫描。其中,解析成功的主机有192.168.1.3和192.168.1.10。由于输出的信息较多,所以中间部分内容省略了。
2. 使用Nslookup工具
Nslookup是由微软发布的用于对DNS服务器进行检测和排错的命令行工具。该工具可以指定查询的类型,可以查到DNS记录的生存时间,还可以指定使用哪个DNS服务器进行解释。使用Nslookup工具实施域名解析的语法格式如下:
nslookup [domain]
使用Nslookup工具对域名www.baidu.com进行解析。执行命令如下:
root@daxueba:~# nslookup www.baidu.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: www.baidu.com
Address: 61.135.169.125
Name: www.baidu.com
Address: 61.135.169.121
www.baidu.com canonical name = www.a.shifen.com.
从输出的信息中可以看到,成功解析了www.baidu.com。其中,解析出的IP地址为61.135.169.125和61.135.169.121。而且还可以看到域名www.baidu.com的别名为www.a.shifen.com。
03 反向DNS查询
反向DNS查询就是将IP地址解析为域名。这样可以探测目标IP是否绑定了某个域名。下面介绍实施反向DNS查询的方法。
1. 使用Nmap工具
在Nmap工具中提供了一个-R选项,可以用来实施反向DNS查询。使用反向DNS查询的语法格式如下:
nmap -R [ip]
其中,-R表示总是实施DNS解析。
对目标192.168.1.4实施反向DNS查询。执行命令如下:
root@daxueba:~# nmap -R 192.168.1.4
Starting Nmap 7.70 ( https://nmap.org ) at 2021-07-27 20:35 CST
Nmap scan report for daxueba (192.168.1.4)
Host is up (0.0000060s latency)。
All 1000 scanned ports on daxueba (192.168.1.4) are closed
Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds
从输出的信息中可以看到,目标主机192.168.1.4的域名为daxueba。
2. 使用Nslookup工具
Nslookup工具不仅可以进行正向解析,也可以实施反向解析。实施反向DNS查询的语法格式如下:
nslookup [IP]
使用Nslookup工具对目标192.168.1.4实施反向DNS查询。执行命令如下:
root@daxueba:~# nslookup 192.168.1.4
4.1.168.192.in-addr.arpa name = daxueba.
04 子域名枚举
子域名是在域名系统等级中,属于更高一层域的域。例如,www.baidu.com和image.baidu.com是baidu.com的两个子域。一个域名通常会有多个子域名,用来标识整个主机。通过枚举子域名,即可获取到更多的主机信息。下面介绍使用fierce工具枚举子域名的方法。
fierce是一款IP、域名互查的DNS工具,可进行域传送漏洞检测、字典枚举子域名、反查IP段,以及反查指定域名上下一段IP,属于一款半轻量级的多线程信息收集用具。该工具的语法格式如下:
fierce -dns target-domain
其中,-dns选项表示指定查询的域名。
使用fierce工具枚举域名baidu.com的子域名。执行命令如下:
root@daxueba:~# fierce -dns baidu.com
DNS Servers for baidu.com: #获取DNS服务器
dns.baidu.com
ns7.baidu.com
ns4.baidu.com
ns3.baidu.com
ns2.baidu.com
Trying zone transfer first… #检查DNS区域传输漏洞
Testing dns.baidu.com
Request timed out or transfer not allowed.
Testing ns7.baidu.com
Request timed out or transfer not allowed.
Testing ns4.baidu.com
Request timed out or transfer not allowed.
Testing ns3.baidu.com
Request timed out or transfer not allowed.
Testing ns2.baidu.com
Request timed out or transfer not allowed.
Unsuccessful in zone transfer (it was worth a shot)
Okay, trying the good old fashioned way… brute force
Checking for wildcard DNS… #检查泛域名解析
** Found 94264636794.baidu.com at 221.204.244.41.
** High probability of wildcard DNS.
Now performing 2280 test(s)… #枚举子域名
10.94.49.39 access.baidu.com
10.11.252.74 accounts.baidu.com
182.61.62.50 ad.baidu.com
10.26.109.19 admin.baidu.com
10.42.4.225 ads.baidu.com
10.99.87.18 asm.baidu.com
10.42.122.102 at.baidu.com
10.91.161.102 athena.baidu.com
10.143.145.28 backup.baidu.com
172.18.100.200 bd.baidu.com
10.36.155.42 bh.baidu.com
10.36.160.22 bh.baidu.com
10.38.19.40 bh.baidu.com
10.42.4.177 bugs.baidu.com
10.23.250.58 build.baidu.com
10.36.253.83 cc.baidu.com
10.26.7.113 cc.baidu.com
119.75.222.178 cert.baidu.com
111.206.37.138 cf.baidu.com
220.181.57.72 cf.baidu.com
……省略部分内容
Subnets found (may want to probe here using nmap or unicornscan): #找到的子网
10.100.46.0-255 : 1 hostnames found.
10.100.84.0-255 : 1 hostnames found.
10.105.97.0-255 : 1 hostnames found.
10.11.0.0-255 : 1 hostnames found.
10.11.250.0-255 : 1 hostnames found.
10.11.252.0-255 : 1 hostnames found.
10.114.40.0-255 : 1 hostnames found.
10.126.81.0-255 : 1 hostnames found.
10.143.145.0-255 : 1 hostnames found.
……省略部分内容
220.181.38.0-255 : 1 hostnames found.
220.181.50.0-255 : 1 hostnames found.
220.181.57.0-255 : 5 hostnames found.
36.152.44.0-255 : 1 hostnames found.
61.135.163.0-255 : 1 hostnames found.
61.135.185.0-255 : 2 hostnames found.
Done with Fierce scan: http://ha.ckers.org/fierce/
Found 242 entries.
Have a nice day.
从输出的信息中可以看到,fierce工具依次获取了指定域的DNS服务器,检查DNS区域传送漏洞,检查是否有泛域名解析,枚举子域名及查找子网中的主机。从倒数第2行可以看到总共找到了242个条目。执行以上命令后,输出的内容较多。由于篇幅原因,部分内容使用省略号(……)替代。在以上过程中,枚举到的子域名有access.baidu.com、accounts.baidu.com、ad.baidu.com和admin.baidu.com等。此外,也可以使用-wordlist选项指定自己的字典文件来枚举子域名。执行命令如下:
root@daxueba:~# fierce -dns baidu.com -wordlist hosts.txt