关于DNS劫持(二)

想要在DNS劫持中得到某些信息,需要有可控的DNS服务器,下面就来搭建自己的DNS服务器,以便添加记录或者记录请求日志,分析数据获取就价值的信息.

DNS服务器搭建

考虑到dns服务器性能要求不是很高,开始的方案有三个:

  1.使用openwrt内建的dnsmasq来对客户端发来的请求做解析和转发,硬件使用一台路由器可以实现.

  2.使用VMware建立linux虚拟机然后使用bind之类的软件实现.

  3.使用新的物理主机来实现.

方案一简单省电,但性能估计不会很高,因为后期可能需要在上面搭建nginx做反向和跳转之用,方案一暂时不选用,方案二可满足性能与伸缩性的要求,但是需要宿主机(我的笔记本)一直开启,功耗和便利性不尽人意.方案三可满足所有需求,正好有块闲置的AMD E-350主板,品牌BIOSTAR(映泰),型号为A68I-350 DELUXE ,版型ITX mini,面向HTPC市场.可使用小机箱.而且amd全系cpu支持虚拟化,后期可做虚拟主机使用,伸缩性比较好,功耗不高.可长期开启.虽然性能不高,但对付简单的dns请求和nginx跳转等非CPU密集任务,应该可以.

主板长这样:

有了主板,接下来淘宝了内存硬盘主机箱,后来主机箱因为挡板孔位不对和电源问题,花了两天时间改装,期间各种不细说.开始打算使用vmware esxi来虚拟化主机,省的经常用显示器可键盘管理,格式化好硬盘刻好U盘后发现,系统要求最少4096Mb,

而我的4Gb被显卡共享掉了一些刚好不可以安装,虽然可以破解,但是很麻烦.无奈之下选择了Windows Server 2008作为操作系统长期使用.后期管理可使用远程桌面.就这样,一台独立的windows服务器诞生了.

 

WIndows Server 2008 R2 DNS 服务器搭建过程很简单,网上可搜索到教程,下面来配置该服务器,使得它能返回错误的回应到客户端.正向查找区域点击右键(正向查找与反向查找区别请参考百度百科),选择新建区域,

 

出现新建区域向导,点击下一步,选择主要区域,然后点击下一步

出现新的区域名称,这里需要注意,假如你要修改www.google.com的dns回应,则填写www.google.com,不可填写google.com,否则后面添加www主机名后,客户端只能获取这一个主机的回应,其余主机例如map的回应客户端将无法获取,

这个理解起来需要域方面的知识,本文暂时不讨论相关知识.

接下来区域文件和动态更新选择默认和不允许,然后完成

然后在刚才创建的区域上点击右键,选择新建主机

出现新建主机,名称不填写,会使用父域名称,也就是www.google.com,ip地址填写你要回应的ip,本例选择回应百度的ip,这样在客户端请求www.google.com的时候,返回的是baidu的ip,填好后点击添加主机,如果你想这条记录在

反向查找时起作用,就勾选"创建相关指针(PTR)记录".

 

至此,一条解析配置完成.现在客户端请求www.google.com的数据包送到这台服务器上后,会返回百度的ip地址,也就是说,当用户想要访问www.google.com的时候,浏览器中出现的会是百度的页面.那客户端的其他请求怎么办?

不可能把所有的域名都添加到服务器中,所以还需要配置转发器,将本地没有的映射转发到上一级进行查询,那上一级没有怎么办?这个不是本文的重点,有兴趣可详细了解域名查询过程及递归迭代等方式.本例使用阿里巴巴公

共dns服务器和谷歌公共dns服务器作为上级.在dns服务器根部点击右键,选择属性,然后点击转发器,然后点击编辑.

添加阿里巴巴223.5.5.5和谷歌8.8.8.8点击确定,然后dns的配置基本完成.

我所在的运营商到google公共dns服务器a,也就是8.8.8.8的延迟为77ms,不知道是不是真的,还是google在大陆有镜像服务器?

 

测试可用性

dns服务器配置完成,下面将本地的dns指向刚配的服务器,看看会发生什么?

由于dns缓存的存在,首先需要刷新操作系统dns缓存,然后使用nslookup查看解析情况,可以看到已经成功解析了.

 

但是在用浏览器测试的时候,发现一个问题,就是访问google的时候连接会被重置,用burp查看,发现百度服务器发现请求头的host为www. google.com.就会重置链接,导致访问失败.

将请求头改为www.baidu.com的时候,则没有问题

请看:

由于百度启用https,所以在http请求的第一次回应会返回一个302,将浏览器引导到https上面:

这个小插曲,导致浏览器不能演示,但是却意外发现了百度的这个逻辑,还不错.如果想要浏览器看到想要的结果,估计要修改dns域和IP地址,指向不检查请求头host的站,那有没有这种站?不知道...没有的话可以自己搭建.下边的文章

会在物理dns上面搭建nginx环境,届时可以看到实际的效果.

 

posted on 2017-11-14 01:09 calcuputer 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/Motorola/p/7830237.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值