随身Wifi+win7 搭建http代理 域名劫持 抓包 内容篡改实验环境

需求来源:nginx

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

       2.须要利用filllder进行抓包,内容篡改等实验服务器

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

方案1: NtBind Dns + Nginxsocket

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

部署图:网站

说明:spa

1.由于小米wifi与本地网卡是底层共享,设置PC机本地host和在MiWifi上设置DNS都没有任何效果,因此只能在本地网卡上作文章操作系统

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

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  80;
         charset utf-8;
         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   90;
            proxy_read_timeout     90;
            proxy_send_timeout    90;
            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知足了个人原始需求能够支持我进行问题定位,所以此方案未进行验证,不排除还有其余不可行的因素在其中

相关文章
相关标签/搜索