域名系统 ======================================== 域名系统工作原理 ---------------------------------------- DNS解析过程是递归查询的,具体过程如下: - 用户要访问域名www.example.com时,先查看本机hosts是否有记录或者本机是否有DNS缓存,如果有,直接返回结果,否则向递归服务器查询该域名的IP地址 - 递归缓存为空时,首先向根服务器查询com顶级域的IP地址 - 根服务器告知递归服务器com顶级域名服务器的IP地址 - 递归向com顶级域名服务器查询负责example.com的权威服务器的IP - com顶级域名服务器返回相应的IP地址 - 递归向example.com的权威服务器查询www.example.com的地址记录 - 权威服务器告知www.example.com的地址记录 - 递归服务器将查询结果返回客户端 根服务器 ---------------------------------------- 根服务器是DNS的核心,负责互联网顶级域名的解析,用于维护域的权威信息,并将DNS查询引导到相应的域名服务器。 根服务器在域名树中代表最顶级的 ``.`` 域, 一般省略。 13台IPv4根服务器的域名标号为a到m,即a.root-servers.org到m.root-servers.org,所有服务器存储的数据相同,仅包含ICANN批准的TLD域名权威信息。 权威服务器 ---------------------------------------- 权威服务器上存储域名Zone文件,维护域内域名的权威信息,递归服务器可以从权威服务器获得DNS查询的资源记录。 权威服务器需要在所承载的域名所属的TLD管理局注册,同一个权威服务器可以承载不同TLD域名,同一个域也可以有多个权威服务器。 递归服务器 ---------------------------------------- 递归服务器负责接收用户的查询请求,进行递归查询并相应用户查询请求。在初始时递归服务器仅有记录了根域名的Hint文件。 DGA ---------------------------------------- DGA(Domain Generate Algorithm,域名生成算法)是一种利用随机字符来生成C&C域名,从而逃避域名黑名单检测的技术手段,常见于botnet中。 DNS隧道 ---------------------------------------- DNS隧道工具将进入隧道的其他协议流量封装到DNS协议内,在隧道上传输。这些数据包出隧道时进行解封装,还原数据。