fiddler抓取手机https请求详解
前言:
Fiddler是在 windows下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析,fiddler默认只能抓取http请求,需要配置和安装fiddler证书才能抓取https请求。
fiddler抓取手机https请求详细步骤:
1,官网免费下载fiddler后,点击安装,安装成功后,打开fiddler后如下图:

2,打开Tools–> Options–> Connections选项中勾选Allow remote computers to connect (允许远程计算机连接),选择监听端口8889(可自己配置,默认为8888),配置完如下图:

3,打开Tools–> Options–>HTTPS,勾选Decrypt HTTPS traffic ,选择from remotes client only(从远程客户端),同时勾选Ignore server certificate errors(unsafe)配置完如下图:

4, 打开Tools–> Options–>HTTPS,点击Actions中的Trust Root Certificate,添加fiddler证书到列表中:一直确定,就成功添加fiddler证书到本机列表了;



5,打开Tools–> Options–>HTTPS,点击Actions中的Export Root CertificateTo Desktop,将fiddler证书导出到桌面:

6,在 android的 “ 设置 ”–>“ 无线局域网 ” 中,可以看到当前连接的 wifi 名,通过点击右边的详情键,可以看到当前连接上的 wifi 的详细信息,包括 IP 地址,子网掩码等信息。
在其最底部有「HTTP 代理」一项,我们将其切换成手动,然后填上 android运行所在的电脑的 IP,以及前面设置的端口号 8889,如下图所示:(此处以oppo手机为例)

7,将fiddler证书FiddlerRoot.cer从电脑传到手机端,点击设置–>其他设置–>安全与隐私–>从存储设备安装证书–>选择证书–>安装安装成功就可以抓https的包啦~

*安装中出现的问题:
1,在步骤6后,手机安装fiddler证书的步骤网络上很多是通过访问电脑ip+代理端口,就能访问fiddler证书下载页,进行下载安装fiddler证书;
楼主用的win10的系统,再确认手机代理打开且设置正确后,访问电脑ip+端口后报错,不能访问下载页,如下图所示:

不能访问电脑ip+端口,网上各种百度后,网友提供的解决方案如下:
1, 确认防火墙允许访问,并且确保电脑端未装杀毒软件和各种安全卫士;(win10系统默认装了联想杀毒等软件,不能卸载,导致此条不能排除)
2, 确认在防火墙的高级设置中80端口能访问:如果不能正确的导出证书请下载FiddlerCertMaker证书生成器

总结:楼主最后无法排除问题一,故选择绕开IP访问,采用的导出证书然后传到手机端的方式,成功安装fiddler证书~
*不同机型安装fiddler证书:
1,oppo手机和vivo手机:
点击证书后,不能直接安装,要通过设置中的更多设置的安全与隐私去添加认证证书,详细步骤如下:
ANDROID:设置 —> 安全 —> 从手机存储安装(或者是:设置 —> 其他设置 —> 设备与隐私 —> 从存储设备安装证书),找到需要安装的证书,安装即可
*注意:android7.0以下版本以上设置后直接可以抓包了,但android7.0以后版本有一个名为“Network Security Configuration”的新安全功能。这个新功能的目标是允许开发人员在不修改应用程序代码的情况下自定义他们的网络安全设置。
如果应用程序的SDK高于或等于24,则只有系统证书才会被信任。不让信任外部(用户导入)证书;
手机的根证有两种,一种是系统预装的,一种是用户自己导入的:如下图所示:

所以:Android的源代码需要让研发来改动,只改成测试和release的可以就行。
方法一:添加如下文件res/xml/network_security_config.xml到代码里面,请求域名;
方法二:或者在AndroidManifest.xml文件中加入以下配置:Android:networkSecurityConfig="@xml/network_security_config"大功告成,配置完即可抓包。
方法三:修改http请求框架的协议栈,让框架不验证证书
如果想抓取第三方应用包,解决方法如下:
方法一:通过重打包的方式强行修改配置,或者强行降低 targetSdkVersion,或者强行修改别人源码里面的信任证书的代码,然后再重打包就好了(分别针对上面1,2,3里面所说的方法,只不过通过逆向的方式添加);
方法二:通过使用Xposed的JustTrustMe模块来信任所有的证书,Xposed不会用的;
方法三:使用Android 7.0 以下的系统安装应用,并抓包;
2,huaiwei手机:
安装fiddler证书,点开证书后,可以直接安装;安装后直接可以抓取https的包;
3,苹果手机:
安装fiddler证书,安装步骤如下:
IOS:设置 —> 通用 —> 关于本机 —> 受信任证书存储区,找到需要安装的证书,安装即可。
*注意: iOS10系统以上需要进行设置:设置 -> 通用 -> 关于本机 -> 证书信任设置 -> 针对根证书启用完全信任 打开开关; 最后注意:不抓包请关闭手机HTTP代理,否则断开与电脑连接后会连不上网;
以上~对你有帮助的话,点个赞
fiddler抓取手机https请求详解的更多相关文章
- Fiddler抓取手机Https请求
下载并安装Fiddler证书生成器 1.打开Fiddler—>Tools—>Telerik Fiddler Options... 2.Connections选项中勾选Allow remot ...
- Jmeter Web 性能测试入门 (二):Fiddler 抓取 http/https 请求
jmeter自带了拦截request的功能,并且也有对应的tool:badboy 可以用.但由于我经常做移动端的项目,个人还是习惯用fiddler来收集request. 官网下载并安装Fiddler ...
- fiddler 抓取手机app请求包
今天心血来潮,也不知道怎么了,想着抓抓我们公司手机app的包看看,研究研究我们公司的接口,哎,我们api文档,我自己抓包看看吧.工具选择fiddler,理由免费,用着也舒服,手机设备 iPhone6 ...
- Charles抓取手机https请求
1.下载Charles工具,3.92破解版:http://pan.baidu.com/s/1cko2L4 密码:chmy 2.安装SSL证书,默认安装就可以 3.证书安装成功后,点击详细信息--> ...
- Fiddler抓取https请求 & Fiddler抓包工具常用功能详解
Fiddler抓取https请求 & Fiddler抓包工具常用功能详解 先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问 ...
- 使用Fiddler抓取手机请求
使用Fiddler抓取手机请求 Fiddler 手机 今天想尝试在手机上抓包,发现一个好玩的小工具——Fiddler. Fiddler是一个专门的抓包工具,可以模拟请求,修改请求,手机应用调试等.还是 ...
- 使用Fiddler抓取手机APP数据包--360WIFI
使用Fiddler抓取手机APP流量--360WIFI 操作步骤:1.打开Fiddler,Tools-Fiddler Options-Connections,勾选Allow remote comput ...
- 手把手教你如何用Fiddler抓取手机数据包(iOS+Android)
本文主要教你如何通过 Fiddler 来抓取手机端的数据包,包括 iOS 和 Android 端的配置和抓取. 一.Fiddler下载安装 访问 Fiddler 官网:https://www.tele ...
- Fiddler抓包原理和使用详解
iddler抓包工具在APP开发过程中使用非常频繁,对开发者理解HTTP网络传输原理以及分析定位网络方面的问题非常有帮助.今天抽点时间出来总结一下Fiddler在实际开发过程中的应用. 我开发过程中使 ...
随机推荐
- Java多线程编程(4)--线程同步机制
一.锁 1.锁的概念 线程安全问题的产生是因为多个线程并发访问共享数据造成的,如果能将多个线程对共享数据的并发访问改为串行访问,即一个共享数据同一时刻只能被一个线程访问,就可以避免线程安全问题.锁 ...
- Redis初识01 (简介、安装、使用)
一.Reids介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(s ...
- LeetCode 5216. 统计元音字母序列的数目(Java)DP
5216. 统计元音字母序列的数目 给你一个整数 n,请你帮忙统计一下我们可以按下述规则形成多少个长度为 n 的字符串: 字符串中的每个字符都应当是小写元音字母('a', 'e', 'i', 'o', ...
- Kafka 消费者
应用从Kafka中读取数据需要使用KafkaConsumer订阅主题,然后接收这些主题的消息.在我们深入这些API之前,先来看下几个比较重要的概念. Kafka消费者相关的概念 消费者与消费组 假设这 ...
- Equalizing Two Strings CodeForces - 1256F (思维)
大意: 给定两个串$s,t$, 每次操作任选长度$len$, 分别翻转$s,t$中一个长$len$的子串, 可以进行任意次操作, 求判断能否使$s$和$t$相同. 字符出现次数不一样显然无解, 否则若 ...
- 对一次 redis 未授权写入攻击的分析以及学习
前段时间自己使用 redis 开发的时候,搞了一个 docker ,然后直接开放连接没有密码,其实一开始我就知道会被黑产扫到然后给我种马,但是把因为也是测试服务,其实也没怎么上心,于是就放任自由了,结 ...
- pandas-08 pd.cut()的功能和作用
pandas-08 pd.cut()的功能和作用 pd.cut()的作用,有点类似给成绩设定优良中差,比如:0-59分为差,60-70分为中,71-80分为优秀等等,在pandas中,也提供了这样一个 ...
- 纯css更改图片颜色的技巧
tips: JPG.PNG.GIF 都可以,但是有一个前提要求,就是黑色纯色,背景白色 .pic1 { background-image: url($img), linear-gradient ...
- CI隐藏入口文件index.php
1.需要apache打开rewrite_module,然后修改httpd.conf的AllowOverride none 为AllowOverride All(里面,不同的环境目录不同) 2.在CI的 ...
- Linux E667 同步失败
在使用Vim编辑/proc目录下的文件后,保存,显示"E667 同步失败" 原因 因为proc这个目录是一个虚拟文件系统,它放置的数据都是在内存中,本身不占有磁盘空间,所以使用Vi ...