一个域名可以对应多个ip地址吗_网络基础知识:DNS协议之域名解析

一次性付费进群,长期免费索取教程,没有付费教程。

进微信群回复公众号:微信群;QQ群:460500587

 教程列表  见微信公众号底部菜单 |   本文底部有推荐书籍 

ec62f84a-4c1f-eb11-8da9-e4434bdf6706.jpeg

微信公众号:计算机与网络安全

ID:Computer-network

域名解析就是将域名转化为对应的IP地址,该工作由DNS服务器完成。

1、DNS资源记录

在DNS服务器上,一个域名及其下级域名组成一个区域。相关的DNS信息构成一个数据库文件。所以每个区域数据库文件都是由资源记录构成的,一个资源记录就是一行文本,提供了一组有用的DNS配置信息。常见的资源记录类型如表1所示。

ef62f84a-4c1f-eb11-8da9-e4434bdf6706.jpeg

表1  资源记录类型及内容

2、实施DNS查询请求

用户通过浏览器访问网站,一般情况下在浏览器中输入网站的域名,浏览器向DNS服务器发送DNS请求,请求域名对应的IP地址。DNS服务器查询到IP地址以后,将IP地址返回给浏览器,浏览器通过该IP地址访问网站。上述这些操作都是浏览器自动完成的。在请求IP地址过程中,可能会返回多个对应的IP地址,或者可以通过多个域名服务器进行解析。这些信息用户都不可能知晓。为了了解这些信息,可以使用netwox工具中编号为102的模块,实施DNS查询请求,并得到对应的信息。

已知一个DNS查询服务器的IP地址为192.168.59.2,通过该DNS服务器查询域名baidu.com的IP地址信息。执行命令如下:

root@daxueba:~# netwox 102 -i 192.168.59.2 -n baidu.com -y a

其中,-y选项用来指定DNS资源类型,这里要根据域名查询IP地址,指定资源类型为a。执行命令后,将会发送DNS请求。若DNS服务器存在,将会返回对应的DNS响应信息,显示查询的IP地址。

1)发送的DNS请求信息如下:

DNS_question______________________________________________________.

| id=49550  rcode=OK             opcode=QUERY

| aa=0 tr=0 rd=0 ra=0  quest=1  answer=0  auth=0  add=0

| baidu.com. A

|_____________________________________________________________

以上输出信息中的第1行表示,该部分的信息是DNS请求信息。在最后一行中,baidu.com表示进行查询的域名;A表示DNS查询所使用的类型域,获取域名对应的IPv4地址。

2)返回的DNS响应信息,如下:

DNS_answer____________________________________________________.

| id=49550  rcode=OK             opcode=QUERY

| aa=0 tr=0 rd=1 ra=1  quest=1  answer=2  auth=5  add=5

| baidu.com. A

| baidu.com. A 5 123.125.115.110  | #域名及对应的IP地址

| baidu.com. A 5 220.181.57.216    | #域名及对应的IP地址

| baidu.com. NS 5 ns2.baidu.com.  | #解析域名的权威名称服务器

| baidu.com. NS 5 ns7.baidu.com.  | #解析域名的权威名称服务器

| baidu.com. NS 5 ns3.baidu.com.  | #解析域名的权威名称服务器

| baidu.com. NS 5 dns.baidu.com.  | #解析域名的权威名称服务器

| baidu.com. NS 5 ns4.baidu.com.  |  #解析域名的权威名称服务器

| dns.baidu.com. A 5 202.108.22.220  | #权威名称服务器的IP地址

| ns2.baidu.com. A 5 61.135.165.235  | #权威名称服务器的IP地址

| ns3.baidu.com. A 5 220.181.37.10    | #权威名称服务器的IP地址

| ns4.baidu.com. A 5 220.181.38.10    | #权威名称服务器的IP地址

| ns7.baidu.com. A 5 180.76.76.92      | #权威名称服务器的IP地址

|_____________________________________________

以上输出信息中的第1行表示,该部分的信息是DNS响应信息。下面信息为报文信息,含义如下:

rd=1:表示期待递归。

ra=1:表示服务器支持递归查询。

quest=1:表示当前有一个请求。

answer=2:表示查询的域名对应的IP地址有两个结果。

auth=5:表示查询到有5个权威名称,服务器可以解析该域名。

add=5:表示权威名称,服务器对应的IP地址信息。

从下面的输出信息可以看出,域名baidu.com有两个对应的IP地址123.125.115.110和220.181.57.216;该域名有5个权威名称服务器,如ns2.baidu.com,其对应的IP地址为61.135.165.235。

3)为了验证成功进行了DNS查询请求,并得到了对应的IP地址信息,可以通过抓包查看,如图1所示。图中第4个数据包为实施域名请求的DNS查询数据包,源地址为192.168.59.133,是当前主机的真实IP地址。第5个数据包为对应的响应包。

f062f84a-4c1f-eb11-8da9-e4434bdf6706.jpeg

图1  实施域名请求

3、域名解析流程

域名解析就是查询域名对应的IP地址,域名解析流程如图2所示。

f162f84a-4c1f-eb11-8da9-e4434bdf6706.jpeg

图2  域名解析流程

图2中分8个步骤介绍了域名解析的流程,每个步骤如下:

1)客户端通过浏览器访问域名为www.baidu.com的网站,发起查询该域名的IP地址的DNS请求。该请求发送到了本地DNS服务器上。本地DNS服务器会首先查询它的缓存记录,如果缓存中有此条记录,就可以直接返回结果。如果没有,本地DNS服务器还要向DNS根服务器进行查询。

2)本地DNS服务器向根服务器发送DNS请求,请求域名为www.baidu.com的IP地址。

3)根服务器经过查询,没有记录该域名及IP地址的对应关系。但是会告诉本地DNS服务器,可以到域名服务器上继续查询,并给出域名服务器的地址(.com服务器)。

4)本地DNS服务器向.com服务器发送DNS请求,请求域名www.baidu.com的IP地址。

5).com服务器收到请求后,不会直接返回域名和IP地址的对应关系,而是告诉本地DNS服务器,该域名可以在baidu.com域名服务器上进行解析获取IP地址,并告诉baidu.com域名服务器的地址。

6)本地DNS服务器向baidu.com域名服务器发送DNS请求,请求域名www.baidu.com的IP地址。

7)baidu.com服务器收到请求后,在自己的缓存表中发现了该域名和IP地址的对应关系,并将IP地址返回给本地DNS服务器。

8)本地DNS服务器将获取到与域名对应的IP地址返回给客户端,并且将域名和IP地址的对应关系保存在缓存中,以备下次别的用户查询时使用。

4、获取运行BIND的DNS服务器版本

BIND是一种开源的DNS(Domain Name System)服务器软件,包含对域名的查询和响应所需的所有功能。它是互联网上使用最广泛的一种DNS服务器。为了能够获取运行BIND软件的DNS服务器的版本,netwox提供了编号为103的模块来实现。

已知拥有BIND软件的DNS服务器的IP地址为162.248.241.94,获取该服务器的版本信息。执行命令如下:

root@daxueba:~# netwox 162.248.241.94

输出信息如下:

9.10.3-P4-Debian

上述输出信息表示DNS服务器的版本为9.10.3-P4-Debian。

微信公众号:计算机与网络安全

ID:Computer-network

【推荐书籍】
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值