手机抓包工具Fidder的使用:环境搭建篇

手机抓包工具Fidder的使用:环境搭建篇

1.概述

  • Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。
  • 总结一下就是:
    • Fiddler是用来抓取 http,https 这种数据包的,其他协议的数据包抓不到。
    • Fiddler是通过改写 http,https 代理,让数据从它那里通过,来监控并且截取到数据。
    • Fiddler可以抓取PC上的web请求。
    • Fiddler可以抓取移动端(Android,Iphone,WindowPhone)上的web请求。
  • 由于在PC端上使用比较简单,装了基本就能用,所以下面主要记录一下 Fiddler 抓取android手机上数据包的做法。

2. 环境

  • 系统:win7
  • 手机型号:vivo x9 android 7.1.1

3. 使用Fiddler抓取android数据包的原理

  • 先来看看设备的连接状态,以及手机是如何去访问网络的:当前手机和PC处于同一个局域网之中,通过同一个路由器来访问外网。
    这里写图片描述
  • 想让手机和PC处于同一个局域网之中,有两种方式:一种是手机直接连接路由器的wify。第二种是PC开启热点,手机链接PC的热点。
  • 为了实现在PC(Fiddler在PC上)上抓取到手机端的数据包,就需要让手机的数据包经过PC,方法就是在手机上设置代理,代理设置为PC的IP,端口要指定为Fiddler正在监控的端口号,默认是8888。 设置好之后,手机数据包的流程就是:手机发出数据包 ——> PC 的Fiddler ——> 路由器 ——> 外网 ——> (反馈的数据包)——> 路由器 ——> PC 的Fiddler——> 手机端。 如下所示:
    这里写图片描述

4. 使用Fiddler抓取PC数据包的原理

  • 在打开Fiddler的那一瞬间,它就已经设置好了浏览器的代理了。当你关闭Fiddler的时候,它又帮你把代理还原了。
  • 打开Fiddler的时候,查看浏览器代理设置:127.0.0.1:8888
    这里写图片描述
    这里写图片描述
  • 关闭Fiddler的时候,查看浏览器代理设置:无
    这里写图片描述

5. 配置步骤 —— PC端

5.1. 软件安装

  • 第一步,下载Fiddler软件,直接百度搜索下载,也可以官网下载。然后进行安装……
    这里写图片描述
  • 第二步,安装完成后,打开Fiddler,这时在 Fiddler 可以看到自己本机的IP了。
    这里写图片描述

5.2. 设置支持远程代理,抓取android端的数据包

  • 打开Fidder,点击菜单栏中的 Tools ——> Fiddler Options,点击 Connections ,设置代理端口是8888, 勾选 Allow remote computers to connect, 点击OK
    这里写图片描述
    这里写图片描述

5.3. 设置解密HTTPS的网络数据

  • 因为目前大部分的网络数据都采用 https安全协议,所以设置这个项非常有必要。
  • Fiddler可以通过伪造CA证书来欺骗浏览器和服务器。Fiddler是个很会装逼的好东西,大概原理就是在浏览器面前Fiddler伪装成一个HTTPS服务器,而在真正的HTTPS服务器面前Fiddler又装成浏览器,从而实现解密HTTPS数据包的目的。
    • 依次点击:Tools ——> Fiddler Options ——> HTTPS,勾选Decrypt HTTPS Traffic
      这里写图片描述
    • 然后点击Actions ——> Trust Root Certificate …… 全部点击OK!
      这里写图片描述
      这里写图片描述

6. 配置步骤 —— android手机端

6.1. 确保手机和PC处于同一个局域网之中

  • 连接到同一个路由器的wify
    这里写图片描述

6.2. 设置手机网络代理

  • 找到本地PC的IP地址:
    这里写图片描述

  • 然后设置android手机的代理为这个IP:
    这里写图片描述
    这里写图片描述
    这里写图片描述

6.3. android手机下载并安装Fiddler的证书

  • 打开手机浏览器,访问网页,在地址栏输入代理IP和端口,下载 Fiddler 的证书,点击下图FiddlerRoot certificate
    这里写图片描述
    这里写图片描述
    这里写图片描述
  • 自己填入一个名称,并记住。
    这里写图片描述
  • 输入手机验证密码。(注意这个部分,一开始一直想不起来这个密码指的是什么,折腾了很久,原来是手机锁屏的密码
  • 然后安装成功,就可以实现手机抓包了。参考8,结果展示。

7. 疑难杂症处理

  • 解决方案参考:http://www.cnblogs.com/kangping/p/6202224.html
  • 如果在6.3步,碰到如下错误:” No root certificate was found. Have you enabled HTTPS traffic decryption in Fiddler yet? “,就按照 5.3 进行设置,打开Fiddler的证书解密模式(Fiddler 设置解密HTTPS的网络数据)
    这里写图片描述

  • 如果设置设置解密HTTPS的网络数据出现如下错误:creation of the root certificate was not successful
    这里写图片描述

  • 那么,找到Fiddler的安装目录,执行如下命令:

d:
cd D:\Program Files (x86)\Fiddler2
makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com" -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012

这里写图片描述
- 最后,重新配置一下。

8. 结果展示

  • 打开手机浏览器访问新闻:
    这里写图片描述
  • PC上Fiddler抓到的数据:
    这里写图片描述
发布了73 篇原创文章 · 获赞 244 · 访问量 69万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章