从ISP角度理解DNS与DNS劫持

您所在的位置:网站首页 dns解析算法 从ISP角度理解DNS与DNS劫持

从ISP角度理解DNS与DNS劫持

2023-02-25 23:18| 来源: 网络整理| 查看: 265

1、域名解析系统- Domain Name System

DNS主要工作机制是将主机域名转换为IP地址,DNS 域的本质是一种管理范围的划分,最大的域是根域,向下可以划分为顶级域、二级域、三级域、四级域等。相对应的域名是根域名、顶级域名、二级域名、三级域名等。不同等级的域名使用点号分隔,级别最低的域名写在最左边,而级别最高的域名写在最右边。

从根域至二级域示例图2、DNS-Anycast技术

ØAnycast DNS 可为每个终结点(例如不同地理位置的一组服务器)分配相同的 IP 地址的一组终结点提供多个路由路径。 组中的每个设备在网络上播发相同的地址,路由协议用于选择最佳目标。

Ø使用 Anycast DNS,可以启用 DNS 服务器或一组服务器,以基于 DNS 客户端的地理位置响应 DNS 查询。 其主要目的是增强 DNS 响应时间并简化 DNS 客户端设置。 Anycast DNS 还提供额外的冗余层,可帮助防范 DNS 拒绝服务攻击。

DNS-Anycast示例图3、用户正常上网DNS全流程[1]

DNS 客户端进行域名 http://www.tsinghua.edu.cn 的解析过程如下:

1.用户向本地域名服务器(运行在用户端设备上)发送查询本地缓存请求,查询 http://tsinghua.edu.cn 主机的 IP 地址;

2.本地域名服务器查询数据库,发现没有域名为 http://tsinghua.edu.cn 的缓存记录,回复用户RRset exist;

2.1.用户再次向本地域名服务器发起http://tsinghua.edu.cn的DNS解析请求;

2.2.本地域名服务器收到用户发起的http://tsinghua.edu.cn解析请求后将代替用户以迭代方式向外主机查询各NS解析,首先是访问根域名服务器并递交.cn的解析请求;(此处正常情况下,由运营商ISP的LocalDNS执行了迭代查询,在用户侧感知是递归查询方式,因为用户只向外发布了一次查询请求就拿到了对应解析结果!

3.根域名服务器查询数据库,发现没有这个主机域名记录,但是根域名服务器知道 cn 域名服务器可以解析这个域名,于是将 cn 域名服务器的 IP 地址返回给本地域名服务器;

4.本地域名服务器向 cn 域名服务器查询 http://tsinghua.edu.cn 主机的 IP 地址;

5.cn 域名服务器查询数据库,也没有相关记录,但是知道 http://edu.cn 域名服务器可以解析这个域名,于是将 http://edu.cn 域名服务器的 IP 地址返回给本地域名服务器;

6.本地域名服务器再http://edu.cn 域名服务器查询 http://tsinghua.edu.cn 主机 IP 地址;

7.http://edu.cn 域名服务器查询数据库,也没有相关记录,但是知道 http://tsinghua.edu.cn 域名服务器可以解析这个域名,于是将 http://tsinghua.edu.cn 的域名服务器 IP 地址返回给本地域名服务器;

8.本地域名服务器向 http://tsinghua.edu.cn 域名服务器查询 http://tsinghua.edu.cn 主机的 IP 地址;

9.http://tsinghua.edu.cn 域名服务器查询数据库,发现有主机域名记录,于是给本地域名服务器返回 http://tsinghua.edu.cn 对应的 IP 地址;

10.最后本地域名服务器将 http://tsinghua.edu.cn 的 IP 地址返回给客户端,整个解析过程完成。

4、ISP角度的DNS解析流程

ISP角度的DNS解析全过程与用户角度的DNS全过程区别在于以下几点:

1.在用户侧,本地DNS程序未出去迭代查询目的域名,该过程交给了ISP递归服务器代劳;

2.ISP侧缓存服务器如果存在目的域名的对应解析记录,则直接回复用户解析结果,不在由递归服务器进行迭代查询;

3.ISP递归服务器存在安全保护机制,会在ISP缓存服务器相应域名解析结果TTL值过期之前,提前进行迭代查询;

5、DNS劫持

现网DNS劫持主要分为两种方式:旁路抢答方式(分光镜像+抢先应答)与PBR策略路由方式[2]。

1、本文主要介绍旁路抢答方式,ISP通过分光镜像省网出口53端口流量,根据用户请求包的目的域名,提前抢答回复用户,因用户提前收到解析结果,用户自动丢弃掉后续收到的关于目的域名对应逐级NS记录的包。

劫持后用户逐级解析结果正常用户逐级解析请求结果

正常用户递归Trace结果应该会展现各级NS记录,而非根服务器直接抢先应答用户http://qq.com的A记录结果,出现这种情况大概率是被劫持了(有可能被某些流氓软件-xx浏览器劫持了DNS)。

劫持时Wireshark抓包情况

后续还可以通过Wireshark抓包分析是否被劫持,当被劫持时,应该只有三个数据包:1、用户发起DNS请求(一般由所设DNS代发),2、劫持方直接抢答解析记录,3、劫持方抢答根NS记录。

未劫持Wireshark抓包情况

这显然和前文提到的DNS 客户端进行域名 http://www.tsinghua.edu.cn 的解析过程所应收到的数据包数量不相同,正常未劫持时,抓包情况应该如上图所示。

参考^https://www.zhihu.com/question/23042131/answer/2051992590^异网DNS管控 https://kns.cnki.net/kcms2/article/abstract?v=3uoqIhG8C46NmWw7YpEsKMypi3qVj28L-63FDqW9F0hnqUVtDu_jKqUV_8BUHbE5c5hzHezTUPhE7ErKB5B5AjcOO2cDdW_y&uniplatform=NZKPT


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3