随身Wifi+win7 搭建http代理 域名劫持 抓包 内容篡改实验环境
需求来源:
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代理 域名劫持 抓包 内容篡改实验环境的更多相关文章
- python爬虫(3)——用户和IP代理池、抓包分析、异步请求数据、腾讯视频评论爬虫
用户代理池 用户代理池就是将不同的用户代理组建成为一个池子,随后随机调用. 作用:每次访问代表使用的浏览器不一样 import urllib.request import re import rand ...
- Android抓包方法(三)之Win7笔记本Wifi热点+WireShark工具
Android抓包方法(三) 之Win7笔记本Wifi热点+WireShark工具 前言 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等 ...
- 平板不能设置代理的情况下利用随身wifi进行http代理访问
需求来源:平板或手机是个封闭系统无法给wifi设置代理,需要利用filllder进行抓包,内容篡改等实验 拥有硬件资源:PC机器 + 小米随身wifi 方案1: NtBind Dns + Nginx ...
- 360随身wifi无法使用临时解决方案大全
360随身wifi在绝大多数情况下都是可以正常使用的,但在极少数系统或网络环境下可能会出现异常,如系统服务缺失.公司网络限制.少数校园网客户端限制等等: 360攻城师正在积极努力解决 ...
- 全面了解移动端DNS域名劫持等杂症:原理、根源、HttpDNS解决方案等
1.引言 对于互联网,域名是访问的第一跳,而这一跳很多时候会“失足”(尤其是移动端网络),导致访问错误内容.失败连接等,让用户在互联网上畅游的爽快瞬间消失. 而对于这关键的第一跳,包括鹅厂在内的国 ...
- 转:禁止360随身wifi驱动自动安装
from:http://bbs.360safe.com/thread-2643500-1-1.html 有曾经数次卸载随身wifi后,插上又会自动安装随身wifi驱动的,也可以看看下面的解决办法. 卸 ...
- 360随身wifi隐藏ssid方法
360随身wifi隐藏ssid方法 以win7为例,介绍如何隐藏360随身wifi ssid方法 一. 禁止360随身wifi官方驱动自启动方法: 1. 找到360wifi自启动文件: 进入以下 ...
- Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试
Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试一.下载相关安装包 1.下载nginx最新版本(nginx1.3.13版之后才支持websocket协议) 下载地址 ...
- 360随身WIFI程序单文件绿色版及网卡驱动(附使用感受)
大家好,我是Colin,今天刚收到传说中的360WIFI,拿到手后马上就进行了测试.就做工而言,19.9的价格算是比较公道的,网卡很小,做工还可以,带磨砂质感,而且还提供了一个耳机插头,可以当挂件一样 ...
随机推荐
- PAT——1056. 组合数的和
给定N个非0的个位数字,用其中任意2个数字都可以组合成1个2位的数字.要求所有可能组合出来的2位数字的和.例如给定2.5.8,则可以组合出:25.28.52.58.82.85,它们的和为330. 输入 ...
- php版本低更换php版本-问题以解决
Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable ...
- VC中TRACE ASSERT VERIFY之用法
一.TRACE宏 当选择了Debug目标,并且afxTraceEnabled变量被置为TRUE时,TRACE宏也就随之被激活了.但在程序的Release版本中,它们是被完全禁止的.下面是一个典 ...
- Page Object 设计模式-PO
1.传统测试用例实现的弊端: 易读性差 复用性差 可维护性差 扩展性差 2.PO 设计模式图: 3.Page Object 的核心要素: 抽象封装一个 BasePage 基类,基类应该拥有一个只想 w ...
- Python 学习笔记(十四)Python类(三)
完善类的内容 示例: #! /usr/bin/env python # coding =utf-8 #通常类名首字母大写 class Person(object): """ ...
- Oracle分析函数巧妙使用
在 Oracle中使用Sql必须弄懂分析函数 Oracle开发专题之:分析函数(OVER) 1 Oracle开发专题之:分析函数2(Rank, Dense_rank, row_number) 6 Or ...
- 苹果IPad客户端安装测试软件
背景: 公司在开发一个App应用,需要部署在苹果IPad上进行测试,但是我负责后端开发对安装及测试相关流程不了解.经过一番学习得出以下结论: 1. 首先申请一个苹果的开发账号(一千块左右),大约能注册 ...
- Python绘制奥运五环
绘制奥运五环主要涉及到Python中的turtle绘图库运用: turtle.forward(distance) 向当前画笔方向移动distance像素长度 turtle.backward(dista ...
- 在TextBrowser显示中,如何让最新的数据永远出现在第一行或者是在窗口的最后显示信息
这是第一行,但是随着数据的增多,最新的数据就会在末尾显示,然后就看不到了.可以用 main_ui->ReceiveDatatextBrowser->insertPlainText(strD ...
- C++笔记020:const 和 #define 的对比
原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 第一,const与#define的相同点 C++中的const常量类似于宏定义 const int c = 5 ≍ #defi ...