DNS 劫持、HTTP 劫持与 DNS 污染
本文为本人的学习笔记,不保证正确。
DNS 劫持
指DNS服务器被控制,查询DNS时,服务器直接返回给你它想让你看的信息。这种问题常为 ISP 所为。
由于一般的的电脑的 DNS 服务器 的配置都为自动获取,实际上会由 ISP 分配,因此通常会默认使用 ISP 的 DNS 服务器。ISP 控制该服务器,可实现 DNS 劫持。
ISP 使用 DNS 劫持的目的,通常是插入广告,说白了就是想赚钱。
当 ISP 的 DNS 服务器 收到你的 DNS 查询时,其实际上会返回一个中间服务器的IP,该服务器内容是你访问的网站的缓存,但是运营商通常会在该缓存中 "加料",浏览器显示的域名是正确的,可实际访问的却不是真正的服务器。
解决方法:可通过使用可信DNS服务器来解决。
HTTP 劫持
由于 HTTP 是明文通信,运营商可直接拦截 response,将广告插入其中或修改为302重定向响应来添加推广链接。
解决方法:无技术上的应对方案,打电话举报可能有效。或者使用 https
DNS 污染
也称做:DNS 缓存投毒攻击(DNS cache poisoning)
DNS 污染,指 GFW、或黑客通过技术手段将虚假数据插入 非权威 DNS 缓存中,使用户查询到虚假信息。
由于 DNS 使用明文通信,一般使用的是基于 UDP 不可靠协议,只接受最先收到的格式正确的 response,因此该查询很容易被篡改。
针对DNS的污染具有传染性,但是由于 TTL 的限制,DNS 污染具有短时性,过了时间若不进行再污染,污染就会消失。
举例 - GFW:防火长城對所有经过骨干出口路由的在UDP的53端口上的域名查询进行IDS入侵检测,一經發現與黑名單關鍵詞相匹配的域名查詢請求,防火长城會馬上伪装成目标域名的解析服务器给查询者返回虚假结果。由于通常的域名查询没有任何认证机制,而且域名查詢通常基于的UDP協議是无连接不可靠的协议,查询者只能接受最先到达的格式正确结果,并丢弃之后的结果。用户若改用TCP在53端口上进行DNS查询,虽然不会被防火长城污染,但可能会遭遇连接重置,导致无法获得目标网站的IP地址。
解决方法:
- 需要绕过这些被污染的 DNS 服务器,并骗过国际网关处的 GFW,也就是使用加密代理。使用加密代理还可绕过 IP 黑名单机制,因为访问该 IP 的是你的国外代理。
- 或者将已知的可用 IP 存入本地 hosts 文件中,这样就不需要 DNS 服务。但是由于 GFW 的 IP 黑名单在不断更新,你的 hosts 也需要不断更新。
劫持与污染的区别
DNS记录污染同劫持的不同之处,在于污染针对的是 DNS 缓存或用户,是在查询信息到达目标 DNS 服务器前,经过的的节点上做手脚 ,而劫持是 DNS 服务器自己把记录改成错误的内容。对于GFW来说,DNS劫持用于国内服务器,而对于国外服务器GFW无法更改其内容,故采用DNS污染方式篡改用户收到的信息。
GFW的DNS污染过程,是当你向国外DNS服务器查询DNS记录时候,这些流量走到国外出口处即会遭到GFW的关键字审查,如果上了黑名单,GFW会立即向你返回一个虚假的DNS记录。由于默认的DNS查询方式是UDP,加上DNS查询结果只认最快返回的结果,所以你一定是先收到了GFW给你返回的虚假DNS记录;就算100ms后你收到了真正的来自国外DNS的回复,那也会被你的系统无视掉。如果GFW想彻底污染一个域名,那么不只是普通用户,连国内所有的DNS服务器也会收到虚假的DNS纪录导致全国性的DNS污染。
中间人攻击
中间节点 通过对于DNS包的拦截,返回恶意地址,然后将用户引向恶意的源地址。
该种方式可以通过向一些DNS服务器中发送伪造的记录,从而造成一个区域内的某些域收到感染。(这么说GFW做的DNS污染,也算在这个类别里了)
其他
IP 黑名单:GFW 将已知的 google、youtube 等的 IP 加入黑名单,在网关处直接封锁。这样即使你绕过了 GFW 的 DNS 劫持或污染,仍然无法访问这些网站。
参考
【HTTP劫持和DNS劫持】
DNS-解析、劫持、污染
维基百科 - 防火长城(FQ可看)
DNS 劫持、HTTP 劫持与 DNS 污染的更多相关文章
- DNS原理及劫持问题
对于互联网,人们总是高谈阔论,却很少有人愿意去了解电脑.手机.电视这些设备到底是如何被“连接”起来的.本文通过“我”,一个普通的网络请求的视角,给大家介绍下“我”的工作流程是如何的. 人们动动手指,点 ...
- 内网DNS投毒技术劫持会话
工具列表: tcpdump Ferret Hamster node closurether 拓扑环境: 攻击机:Kali 10.10.10.237 被攻击机: win7 10.10.10.232 因为 ...
- 网络安全(一)主动进攻之DNS基础和ettercap实现DNS流量劫持
alittlemc,个人原创,个人理解和观点.若有错误.不理解请与我联系,谢谢! 介绍了DNS的解析过程. DNS劫持的思路和实践. DNS 域名 以为live.bilibili.com为例子,从后到 ...
- DNS篇(详解DNS)
*文章来源:https://blog.egsec.cn/archives/601 *本文将主要说明:本文主要叙述什么是DNS.域名的层级.DNS 解析过程.DNS的缓存时间.DNS 的记录类型.DNS ...
- 域名dns查询_查询域名dns ip地址
最近有部分用户反应管理的天气网站打开偏慢,决定从每一个可以出现的问题点查起!首先就是dns! 通过360dns监控对比发现,同一组域名,15tianqi.cn的dns响应时间比较长,在300-700间 ...
- Windows Server 2008 R2 创建辅助DNS服务器并接管主要DNS服务器
公司需求: Zhuyu公司局域网有一台主要DNS服务器,经领导讨论需要规划安装一台辅助DNS服务器备用. 功能需求: 当主要DNS服务器宕机或系统崩溃,辅助DNS服务器能接管主要DNS服务器工作,并且 ...
- DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置
DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置 一.DNS简介 1.DNS DNS是域名系统(Domain Name System)的简称,它是一个将域名和IP相互映射的分布式数据库 ...
- DNS单机部署以及智能dns部署
dns理论 dns的出现 网络出现的早期是使用IP地址通讯的,那时就几台主机通讯.但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的文件(Linu ...
- centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课
centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更 ...
- 【计算机网络】DNS的作用以及修改DNS的方法
1.DNS的作用及修改DNS的方法 1.1.DNS的作用 DNS就是将域名映射成ip的分布式数据库服务器,它的作用如下图: 1.2.修改DNS的方法 常用的DNS服务器 1.114.114.114.1 ...
随机推荐
- WIN7 64位对Excel操作异常
在本地做Excel导出功能的测试时,报出“检索COM 类工厂中CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败”的异常,知道要对Excel进行D ...
- java Vamei快速教程22 内存管理和垃圾回收
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 整个教程中已经不时的出现一些内存管理和垃圾回收的相关知识.这里进行一个小小的总结. ...
- #linux 命令使用 cp -未完结版
下载了sublime 解压之后,想把文件夹放到opt目录,这里用命令cp将其复制过来 johnny@johnny-pc:~$ sudo cp -r ~/下载/Sublime_2.0.2 /opt/ [ ...
- [转载]AngularJS快速开始
AngularJS快速开始 Hello World! 开始学习AngularJS的一个好方法是创建经典应用程序“Hello World!”: 使用您喜爱的文本编辑器,创建一个HTML文件,例如:hel ...
- POJ-1459 Power Network---最大流
题目链接: https://cn.vjudge.net/problem/POJ-1459 题目大意: 简单的说下题意(按输入输出来讲,前面的描述一堆的rubbish,还用来误导人),给你n个点,其中有 ...
- Spark的调度
作业调度简介 设计者将资源进行不同粒度的抽象建模,然后将资源统一放入调度器,通过一定的算法进行调度,最终要达到高吞吐或者低访问延时的目的. Spark在各种运行模式中各个角色实现的功能基本一致,只不过 ...
- 张量 (tensor) 是什么?
对于大部分已经熟练的数学和物理工作者, 这实在是一个极为基础的问题. 但这个问题在我刚接触张量时也困扰了我很久. 张量的那么多定义, 究竟哪些是对的? (显然都是对的. ) 它们的关系是什么? 我尽可 ...
- HTML 5.1 的 14 个新特性(含使用案例)
HTML5 属于万维网联盟 (W3C), 这个组织为整个网络界提供了标准,如此形成的协议可在全世界通行.在 2016 年 11 月, W3C 对长期行使的 HTML 5 标准进行了更新,它是2年内的第 ...
- AngularJs学习笔记-组件间通讯
组件间通讯 (1)输入属性@Input Tips:子组件属性的改变不会影响到父组件 如下,子组件中stockCode属性发生变化不会引起父组件stock属性的变化 (2)输入属性@Output 子组件 ...
- 【luogu P5022 旅行】 题解
题目连接:https://www.luogu.org/problemnew/show/P5022 \(NOIP2018 DAY2T1\) 考场上只写了60分,很容易想到当 m = n - 1 时的树的 ...