如何实现使用fiddler对手机https 进行抓包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现使用fiddler对手机https 进行抓包相关的知识,希望对你有一定的参考价值。

  1、PC端安装Fiddler
  下载地址:Fiddler.exe,下面是Fiddler的简单介绍:
  Fiddler是强大且好用的Web调试工具之一,它能记录客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展,在web开发和调优中经常配合firebug使用。
  Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。 对于PC端Fiddler启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以如果需要监听PC端Chrome网络请求,将其代理改为127.0.0.1:8888就可以监听数据了,手机端按照下面的设置即可完成整个系统的http代理。

  

  2、 配置PC端Fiddler和手机
  (1) 配置Fiddler允许监听https
  打开Fiddler菜单项Tools->Fiddler Options,选中decrypt https traffic和ignore server certificate errors两项,如下图:

  fiddler https options
  第一次会提示是否信任fiddler证书及安全提醒,选择yes,之后也可以在系统的证书管理中进行管理。

  

  (2) 配置Fiddler允许远程连接
  如上图的菜单中点击connections,选中allow remote computers to connect,默认监听端口为8888,若被占用也可以设置,配置好后需要重启Fiddler,如下图:

  (3) 配置手机端
Pc端命令行ipconfig查看Fiddler所在机器ip,本机ip为10.0.4.37,如下图

  手机端浏览器访问http://10.0.4.37:8888,即Fiddler所在机器ip加上端口,代理上网。显示如下图页面:
参考技术A

HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL,所以采用https的服务器必须从CA (Certificate Authority)申请一个用于证明服务器用途类型的证书,这样就导致fiddler必须进行模拟伪造才能抓取https的包,具体可以参考这个链接

Fiddler抓取https设置详解(图文)

使用Fiddler对IPhone手机的应用数据进行抓包分析

原文出自:

http://www.cr173.com/html/20064_1.html

    Fiddler能捕获ISO设备发出的请求,比如IPhone, IPad, MacBook. 等等苹果的设备。  同理,也可以截获Andriod,Windows Phone的等设备发出的HTTP/HTTPS。

前提条件:

    安装Fiddler的机器,跟Iphone 在同一个网络里, 否则IPhone不能把HTTP发送到Fiddler的机器上来。建议安装最新版Fiddler;

配置Fiddler

    打开Fiddler,     Tools-> Fiddler Options 允许"远程连接"。  (配置完后记得要重启Fiddler)

    选中"Decrpt HTTPS traffic",    Fiddler就可以截获HTTPS请求;

技术分享

    选中"Allow remote computers to connect".  是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来;

   技术分享

    获取Fiddler所在机器的IP地址我Fidder所在的机器地址是: 192.168.1.104

IPhone上安装Fiddler证书

    这一步是为了让Fiddler能捕获HTTPS请求。 如果你只需要截获HTTP请求, 可以忽略这一步,不过现在的网络交互多是用https的,所以还是需要走这一步的;

    1. 首先要知道Fiddler所在的机器的IP地址: 假如我安装了Fiddler的机器的IP地址是:192.168.1.104

    2. 打开IPhone 的Safari, 访问  http://192.168.1.104:8888, 点"FiddlerRoot certificate" 然后安装证书

技术分享

技术分享

 

IPhone上配置Fiddler为代理

     打开IPhone,  找到你的网络连接, 打开HTTP代理, 输入Fiddler所在机器的IP地址(比如:192.168.1.104) 以及Fiddler的端口号8888

技术分享

大功告成,开始抓包

    现在IPhone上的应用(比如Safari, Firefox, Itunes, App Store)发出的HTTP/HTTPS都可以被Fiddler获取。

技术分享

    如果你觉得抓取数据还不够方便,你可以添加过滤器:

技术分享

    是不是HTTP和HTTPS都截获到了????,  你不但能截获, 还可以下断点,修改Request, 修改Response, Do what you want. 

    用完了, 记得把IPhone上的Fiddler代理关闭, 以免IPhone上不了网。

    只能捕获HTTP,而不能捕获HTTPS的解决办法

    有时候会发现, Fiddler 只能捕获IPhone发出得HTTP请求, 而不能捕获HTTPS请求, 原因可能是证书没有安装好。 解决办法是:

    1. 先把IPhone上所有的Fiddler证书删除 (拿出IPhone, 点”设置“->“通用”->"描述文件")

    2. 安装上面的方法,重新安装Fiddler证书

 

   

以上是关于如何实现使用fiddler对手机https 进行抓包的主要内容,如果未能解决你的问题,请参考以下文章

如何用fiddler对手机进行抓包

前段时间碰到的一些问题(免费WiFi设置+fiddler对手机进行抓包+fiddler抓不到https的请求)

如何使用Fiddler对手机进行抓包

如何用Fiddler对Android应用进行抓包

用fiddler进行手机抓包,手机设置代理后手机浏览器无法打开网页

fiddler进行手机抓包