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在实际开发过程中的应用. 我开发过程中使 ...
随机推荐
- yzoj 2372 小B的数字 题解
题意 判断是否存在一个序列 $ b_i $ 使得 $ \prod_{i = 1}^{n} b_i | b_i^{a_i}$ 恒成立,其中 $ b_i $ 中的每个数都是2的正整数次幂. 样例输入 3 ...
- python3 简陋的学生信息管理系统
# 编写一个“学生信息管理系统”# 输入序号:1. 输入学生信息,学生信息包括:id,name,age,gender(用什么数据类型保存?)# 2. 查询:输入学生姓名和id,显示学生个人信息# 3. ...
- Shell编程入门基础上
前言 为什么学 Shell Shell 脚本语言是实现 Linux/UNIX 系统管理及自动化运维所必备的重要工具, Linux/UNIX 系统的底层及基础应用软件的核心大都涉及 Shell 脚本的内 ...
- [BZOJ5197] [CERC2017]Gambling Guide
[BZOJ5197] [CERC2017]Gambling Guide 题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=5197 Solut ...
- Visual Studio 2019 XAML Hot Reload功能介绍
Visual Studio 2019提供了XAML Hot Reload功能,这个功能可以让WPF程序运行以后仍然可以修改XAML代码,并实时显示. XAML Hot Reload功能在Blend F ...
- .net Dapper 实践系列(4) ---数据查询(Layui+Ajax+Dapper+MySQL)
写在前面 上一小节,总结了数据显示时,会出现的日期问题.以及如何处理格式化日期.这个小节,主要总结的是使用Dapper 中的QueryMultiple方法依次显示查询多表的数据. 实践步骤 1.在Bo ...
- docker build 错误 /usr/share/dotnet/sdk/2.1.801/Microsoft.Common.CurrentVersion.targets(2106,5): warning MSB3245: Could not resolve this reference
docker dotnet Restore 的时候报错, 一度怀疑是linux的dotnet core sdk没有装好, 卸了装, 装了卸, 试了好几遍还是无效(Microsoft.Common.Cu ...
- SpringBoot中yml配置文件
1.yml配置文件书写格式 格式是在普通配置文件中以“.”分割的属性名称,该为“: ”和换行. 例子: //普通格式 spring.datasource.driver-class-name=com.m ...
- 独热编码(One-Hot)的理解
https://www.imooc.com/article/35900 参考上面大神的原文,说的非常透彻.非常便于理解.感谢 感谢 自己做个小笔记,便于自己学习 特征值是离散的,无序的. 如: 性别特 ...
- 记录screen屏幕日志
1.建立日志存放目录#mkdir /var/log/screen/ 2.修改配置文件,在末尾添加配置内容#vi /etc/screenrclogfile /var/log/screen/%t.log ...