域名劫持就是在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则直接返回假的IP地址或者什么也不做使得请求失去响应,其效果就是对特定的网址不能访问或访问的是假网址。
域名解析(DNS)的基本原理是把网络地址(域名,以一个字符串的形式,比如 http://www.google.com/)对应到真实的计算机能够识别的网络地址(IP地址,比如216.239.53.99 这样的形式),以便计算机能够进一步通信,传递网址和内容等。
由于域名劫持往往只能在特定的被劫持的网络范围内进行,所以在此范围外的域名服务器(DNS)能够返回正常的IP地址,高级用户可以在网络设置把DNS指向这些正常的域名服务器以实现对网址的正常访问。所以域名劫持通常相伴的措施——封锁正常DNS的IP。
如果知道该域名的真实IP地址,则可以直接用此IP代替域名后进行访问。比如访问http://www.google.com/ ,可以把访问改为http://216.239.53.99/ ,从而绕开域名劫持
你有没有遭遇过这样的情况?当你在浏览器中输入正确的URL地址,但是打开的并不是你想要去的网站。或者是114的查询页面,或者是互联星空的网站,或者一个广告页面,或者是一个刷流量的页面,甚至是一个挂马的网站。这样的话,极有可能你遭遇了DNS欺骗。最近闹得沸沸扬扬的“百度被黑”事件,本质上就是来自黑客对DNS的篡改。下面我们就来解析一下DNS的知识
我们以百度被黑为例,看看正常的DNS请求和被劫持的DNS请求的不同
1、正常的DNS请求流程为:
(1)在浏览器输入http://www.baidu.com/;
(2)计算机将会向DNS服务器发出请求;
(3)DNS服务器进行处理分析得到http://www.baidu.com/的相应地址为119.xxx.209.xxx;
(4)DNS将把次IP地址119.xxx.209.xxx返回到发出请求的计算机;
(5)你正常登录到http://www.baidu.com/的网站。
2、被DNS欺骗以后的DNS请求为:
(1)在浏览器输入http://www.baidu.com/;
(2)计算机将会向DNS服务器发出请求(这里注意:实际上你发起的请求被发送到了攻击者那里);
(3)攻击者对请求处理进行伪造DNS回复报告,返回给计算机的是攻击者指定的IP地址;
(4)你登录到的网站实际上不是http://www.baidu.com/,而是掉进了攻击者设计好的“陷阱网站”。
解析DNS报文
DNS报文是我们了解DNS攻击所必须了解的知识。
1.格式:
2.DNS报文结构分为
标识(id),用来签证每个DNS报文的印记,由客户端设置,由服务器返回,它可以让客户匹配请求与响应。参数(flag),参数被分成好几步分。
QR 如果QR位设置为0表示报文是查询,如果为1表示响应
opcode 通常是0,指标准查询,1是反向查询,2是服务器状态查询
AA 如果此位为1,表示服务器对问题部分的回答是权威性的
TC 截断,如果UDP包超过512字节将被截流
RD 表示希望递归,如果它设为1的话,表示递归查询
RA 如果设为1,表示递归可用
Zero 如它的名称一样,总是0
rcode 0表示有错误,3表示名字错误
3.DNS查询报文,图3为DNS报文查询的格式。
响应报文有个共同的格式,我们称之为资源记录---RR响应报文的格式(RR)如下:
域名:域名是与下面的资源数据对应的名字,它的格式同前面讲到的查询一样。
类型:类型标识了RR类型代码号,它同前面查询类值一样。
类:通常为1,表示因特网数据。
生存时间:表示客户方将RR放在高速缓存里的时间,RRs的TTL通常为2天。
资源数据长度:标识资源数据的大小。
概念:说到这里,对于网络基础知识有一定了解的朋友都知道,当客户向一台服务器发送请求服务时,服务器会根据客户的 IP地址反向解析出该IP对应的域名。这种反向城名解析就是一个查DNS(域名解析服务器 ) 的过程。
我们换一下思路,如果服务器在进行DNS查询时能够人为地给它我们自己的应答信息,那么结果会怎样呢?
答案显然不用我说了,这就是所谓的DNS欺编 (dnsspoofing )。说实话,“DNS欺骗”威力巨大,如果被攻击者巧妙利用,人侵局域网更是痛快淋漓。
下面配图讲解百度域名劫持的过程!
1.黑客刺探baidu.com 域名服务商
2.黑客入侵register.com www服务器
3.黑客通过register.com 域名管理功能修改百度DNS
4.register.com DNS服务器更新缓存指向伊朗黑客WEB网站IP
5.同步register.com DNS服务器更新百度DNS记录缓存
6.百度被黑,我用谷歌搜索“百度不知道自己被黑”
相关推荐
移动端 DNS 域名劫持解决方案 ...本文对移动端 DNS 域名劫持问题进行了深入分析,并介绍了 HttpDNS 解决方案的技术细节,旨在帮助读者更好地理解移动端 DNS 域名劫持问题,并掌握 HttpDNS 解决方案的技术要点。
3. DNS 劫持的危害:DNS 劫持可能导致用户访问的页面被重定向到其他页面,影响用户的上网体验,并可能带来安全风险。 4. DNS 解析的流程:DNS 解析的流程包括用户输入域名、DNS 服务器解析域名、将 IP 地址传递给...
在互联网上,数据传输是以IP地址进行定位的,但由于数字组成的IP地址难以记忆,因此引入了DNS系统来实现域名到IP地址之间的映射。 #### 二、DNS记录类型详解 DNS记录类型多种多样,常见的包括A记录、CNAME记录、MX...
DNS(Domain Name System,域名系统)是一种将易于记忆的域名转换为IP地址的技术。它使用一个分布式数据库系统,能够帮助用户快速找到所需的网络资源。在DNS体系结构中,顶级域(TLDs)位于域名层次结构的最高级别。...
DNS 协议详解 DNS(Domain Names System),域名系统,是互联网一项服务,是进行域名和与之相... * 黑客常常修改他的电脑的文件,将用户常常访问的域名绑定到他指定的上,从而实现了本地解析,导致这些域名被劫持。
### DNS dig命令详解 #### 概述 DNS(Domain Name System)是互联网中用来将域名转换为IP地址的重要服务之一。对于系统管理员和技术人员来说,掌握如何高效地使用DNS工具来排查问题至关重要。其中,`dig`命令因其...
DNS 递归和迭代查询原理及过程详解 在了解 DNS 递归和迭代查询原理及过程之前,我们需要了解一些背景知识。 DNS 系统中有两类域名服务器:国际域名管理机构(InterNIC)和国内域名注册管理机构(CNNIC)。这两类...
### DNS服务协议详解 #### 知识点一:DNS服务基础概念 DNS(Domain Name System,域名系统)是一种用于TCP/IP应用层的分布式数据库系统,主要用于实现域名到IP地址之间的映射,帮助用户通过易记的域名访问互联网...
常见的资源记录包括A记录(将域名映射到IP)、PTR记录(将IP映射到域名)、MX记录(定义邮件服务器)、CNAME记录(别名)和NS记录(指定区域的权威DNS服务器)。通过右键点击区域,选择“新建记录”,然后填写相应的...
智能DNS内容发布系统详解 智能DNS(Dynamic Domain Name System)是一种先进的DNS解析技术,它旨在优化网络流量分配,提高网站访问速度和可用性。在传统的DNS解析中,用户请求一个域名时,DNS服务器会返回一个固定...
### DNS工作原理详解 #### 一、DNS的基本概念与作用 DNS(Domain Name System,域名系统)是互联网中一项至关重要的技术,它如同网络世界的“电话簿”,将人们容易记忆的域名转换为计算机能够识别的IP地址。在...
"DNS原理与实践详解" DNS(Domain Name System,域名系统)是互联网上一个非常重要的基础设施,它将人类容易记忆的域名转换为计算机能够理解的IP地址,以便实现互联网上的通信和数据传输。下面是DNS的详细知识点...
DNS体系架构最详解,DNS原理,架设详解,带图文。
"Linux下DNS服务配置详解" 本文主要介绍了Linux系统中DNS服务的配置详解,包括DNS的基本概念、BIND软件的配置、DNS服务器类型、DNS术语等。 DNS简介 DNS(Domain Name System)是互联网中的一项服务,用于将域名...
### Linux下的DNS设置详解 #### 一、DNS基础概述 DNS(Domain Name System)是一种用于互联网及局域网的应用程序,它可以将易于记忆的域名(例如`www.21php.com`)转换为对应的IP地址(例如`211.152.50.35`)。这...
BIND DNS配置详解主要涵盖DNS服务器的基本概念、重要性、前提条件和配置步骤,以及Linux下BIND服务程序named的使用。DNS(Domain Name System)服务是互联网基础设施的核心部分,它负责将域名转换为IP地址,反之亦然...
【DNS服务器组建详解】 在互联网世界中,我们通常通过易记的域名,如"www.popunet.com"来访问网站,而不是直接使用复杂的IP地址,如"61.186.250.41"。这得益于DNS(Domain Name System)服务器的工作,它将域名转换...
**DNS中继服务器详解** 在计算机网络中,DNS(Domain Name System)是互联网的重要组成部分,它负责将人类可读的域名转换为IP地址。当一台主机想要访问某个域名时,它通常会向本地DNS服务器发送查询请求。然而,...