需求来源:

1.平板或手机是个封闭系统无法给wifi设置代理

2.需要利用filllder进行抓包,内容篡改等实验

拥有硬件资源:PC机器 + 小米随身wifi

方案1: NtBind Dns + Nginx

基本原理:域名劫持 +  反向代理 + 正向代理

部署图:

说明:

1.因为小米wifi与本地网卡是底层共享,设置PC机本地host和在MiWifi上设置DNS都没有任何效果,所以只能在本地网卡上做文章

2.本地网卡上设置IPv4的首选DNS是127.0.0.1 指向本地DNS服务器

3.NtBind DNS是在Win7操作系统上搭建的本地DNS服务,具体配置参考链接:

在Windows7 系统上部署DNS服务器http://blog.csdn.net/hyman_c/article/details/53560891

按照博文中的链接,在安装NiBind时并不需要另外安装dll文件,整个过程都很顺畅

按照博文中为链接,当某些郁闷本地DNS中没有配置时,就从配置的DNS服务器中同步拉取,这部分拓扑图略

4.NtBind DNS中可以将所有需要劫持的域名都指向本地:127.0.0.1

5.Nginx上对劫持域名进行反向代理,代理到本地fillder端口(如果某些接口需要访问本地开发环境的服务,可以直接指向本地开发服务提供的接口)

6.fillder上可以对反代过来的请求进行重新host,访问外网真实服务器,这个host文件仅对fillder有效,会覆盖NtBind DNS的域名解析

附录Nginx配置,这是对sohu网站的配置:

server {
listen ;
charset utf-;
server_name m.tv.sohu.com;
location / {
proxy_store off;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass $scheme://127.0.0.1:8888;
proxy_connect_timeout ;
proxy_read_timeout ;
proxy_send_timeout ;
proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;
}
}

注意事项:

1.因为是本地网卡DNS配置,不仅会影响Pad的访问,同时也会影响本机浏览器的访问,在实验结束,为了不影响工作,需要将本地DNS改回原有的

2.此方案仅针对http代理访问有效,https因为客户端对证书的严格检查等因素,次方案基本不会奏效

-------------------------------------------------------------------------方案1 改良版-------------------------------------------------------------------------------------------

采用方案1,一直纠结的点在于     怎么在不安装多余app的情况下(因为平板是封闭系统), 篡改平板上域名解析后的地址,让这个请求被fillder代理

                  经过测验,可以为平板上WIFI访问设置静态IP,手动配置DNS即可。这样的话,如果当前环境拥有其他无线路由器(公共WIFI)也能访问

                  到本机DNS,那么即使不用小米随身wifi也能满足我的需求(当前公司环境就是如此)

配置静态IP

       静态地址:就使用未修改前DHCP分配的那个IP(这样能有效避免IP冲突)

       路由器地址:如果不知道,可以用自己手机安装Ping & DNS 工具,然后连接公共WIFI,查看Network Info,Gateway 项就是路由器地址

     前缀长度:默认24位

     域名:这里就配置我们自己搭建的DNS地址

注意事项:

1.该方案因为没有改变PC机本地网卡的DNS,因此不影响正常办公,同时也不需要在fillder中再进行单独host

2.因为公共wifi过来的IP不一定是192网段,所以建议在配置Bind DNS时在named.conf中为allow-query配置为any 即不做IP限制

改良后的部署图:

方案2 : 在方案1的基础上去掉nginx反向代理,将fillder的代理端口改为80端口即可

基本原理:域名劫持 +  正向代理

说明:

1.因为本机需要开启nginx进行开发调测占用80端口,所以舍弃了该方案

方案3 : NtBind Dns + Htran

基本原理:域名劫持 +  正向代理 + 正向代理

部署图:与方案1类似,只是将其中的Nginx用Htran取代

说明:

1.该方案可以满足80端口被占用的情况下,也能用fillder进行抓包

2.域名劫持 +  端口转发(正向代理)可以解决不仅限于http的数据,同时可以对socket进行代理,适宜于解决移动终端不能设置代理服务器的情况下的上网问题

3.此方案可以把80 443的接口都转发到fillder代理上,可以对非严格校验的https请求进行抓包解密,信息篡改

4.此方案对采用了httpDNS的移动应用会存在失效的情况

5.因为目前方案1满足了我的原始需求可以支持我进行问题定位,因此此方案未进行验证,不排除还有其他不可行的因素在其中

随身Wifi+win7 搭建http代理 域名劫持 抓包 内容篡改实验环境的更多相关文章

  1. python爬虫(3)——用户和IP代理池、抓包分析、异步请求数据、腾讯视频评论爬虫

    用户代理池 用户代理池就是将不同的用户代理组建成为一个池子,随后随机调用. 作用:每次访问代表使用的浏览器不一样 import urllib.request import re import rand ...

  2. Android抓包方法(三)之Win7笔记本Wifi热点+WireShark工具

    Android抓包方法(三) 之Win7笔记本Wifi热点+WireShark工具 前言 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等 ...

  3. 平板不能设置代理的情况下利用随身wifi进行http代理访问

    需求来源:平板或手机是个封闭系统无法给wifi设置代理,需要利用filllder进行抓包,内容篡改等实验 拥有硬件资源:PC机器 + 小米随身wifi 方案1: NtBind Dns + Nginx ...

  4. 360随身wifi无法使用临时解决方案大全

       360随身wifi在绝大多数情况下都是可以正常使用的,但在极少数系统或网络环境下可能会出现异常,如系统服务缺失.公司网络限制.少数校园网客户端限制等等:       360攻城师正在积极努力解决 ...

  5. 全面了解移动端DNS域名劫持等杂症:原理、根源、HttpDNS解决方案等

      1.引言 对于互联网,域名是访问的第一跳,而这一跳很多时候会“失足”(尤其是移动端网络),导致访问错误内容.失败连接等,让用户在互联网上畅游的爽快瞬间消失. 而对于这关键的第一跳,包括鹅厂在内的国 ...

  6. 转:禁止360随身wifi驱动自动安装

    from:http://bbs.360safe.com/thread-2643500-1-1.html 有曾经数次卸载随身wifi后,插上又会自动安装随身wifi驱动的,也可以看看下面的解决办法. 卸 ...

  7. 360随身wifi隐藏ssid方法

    360随身wifi隐藏ssid方法 以win7为例,介绍如何隐藏360随身wifi ssid方法 一.    禁止360随身wifi官方驱动自启动方法: 1. 找到360wifi自启动文件: 进入以下 ...

  8. Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试

    Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试一.下载相关安装包 1.下载nginx最新版本(nginx1.3.13版之后才支持websocket协议) 下载地址 ...

  9. 360随身WIFI程序单文件绿色版及网卡驱动(附使用感受)

    大家好,我是Colin,今天刚收到传说中的360WIFI,拿到手后马上就进行了测试.就做工而言,19.9的价格算是比较公道的,网卡很小,做工还可以,带磨砂质感,而且还提供了一个耳机插头,可以当挂件一样 ...

随机推荐

  1. 安装Centos 7 错误解决

    dracut-initqueue[624]:Warning: Could not boot. dracut-initqueue[624]:Warning: /dev/root does not exi ...

  2. linux使用秘钥登录(禁用root密码登录)

    目的:为了巩固线上外网服务器的安全,避免黑客攻击植入木马,初步决定禁用root密码登录(安全强度低),统一使用秘钥登录(4096位长度,安全性较高) 具体操作如下: 一.生成ssh秘钥: ssh-ke ...

  3. Ubuntu16.04配置单机版Zookeeper和Kafka

    1. 配置zookeeper单机模式 选择的是zookeeper-3.4.10版本,官网下载链接:http://mirrors.hust.edu.cn/apache/zookeeper/stable/ ...

  4. UVA - 1160(简单建模+并查集)

    A secret service developed a new kind of explosive that attain its volatile property only when a spe ...

  5. 算法-求两个有序数组两两相加的值最小的K个数

    我的思路是: 用队列,  从(0,0)開始入队,每次出队的时候,选(1,0) (0,1) 之间最小的入队,假设是相等的都入队,假设入过队的就不入了,把出队的k个不同的输出来就可以 我測试了几组数据都是 ...

  6. centos安装GD库失败

    Error: Package: php-gd-5.6.11-1.el6.remi.x86_64 (remi-php56) Requires: gd-last(x86-64) >= 2.1.1 E ...

  7. MySQL5.7.19 免安装配置 + Navicat for MySQL安装和破解(附全部资源)

    近段时间因为工作原因安装了好多次本地MySQL,安装过程也是时有曲折,索性记录一下. 环境: Win10 家庭版 MySQL5.7.19   (链接:https://pan.baidu.com/s/1 ...

  8. 关于javascript中call()和apply()方法的总结

    前段时间在使用javascript的过程中遇到了继承的问题,自己顺便就对call()和apply()方法进行了了解. 两个方法的共同之处:这两个方法作用相同,都用来改变当前函数调用的对象,即改变thi ...

  9. 【2016 ICPC亚洲区域赛北京站 E】What a Ridiculous Election(BFS预处理)

    Description In country Light Tower, a presidential election is going on. There are two candidates,   ...

  10. vue-cli 项目安装失败 tunneling socket could not be established, cause=connect ECONNREFUSED

    1.安装vue-cli npm install vue-cli -g 2.初始化项目 vue init webpack project 此时报错:vue-cli · Failed to downloa ...