前言:

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请求详解的更多相关文章

  1. Fiddler抓取手机Https请求

    下载并安装Fiddler证书生成器 1.打开Fiddler—>Tools—>Telerik Fiddler Options... 2.Connections选项中勾选Allow remot ...

  2. Jmeter Web 性能测试入门 (二):Fiddler 抓取 http/https 请求

    jmeter自带了拦截request的功能,并且也有对应的tool:badboy 可以用.但由于我经常做移动端的项目,个人还是习惯用fiddler来收集request. 官网下载并安装Fiddler ...

  3. fiddler 抓取手机app请求包

    今天心血来潮,也不知道怎么了,想着抓抓我们公司手机app的包看看,研究研究我们公司的接口,哎,我们api文档,我自己抓包看看吧.工具选择fiddler,理由免费,用着也舒服,手机设备 iPhone6 ...

  4. Charles抓取手机https请求

    1.下载Charles工具,3.92破解版:http://pan.baidu.com/s/1cko2L4 密码:chmy 2.安装SSL证书,默认安装就可以 3.证书安装成功后,点击详细信息--> ...

  5. Fiddler抓取https请求 & Fiddler抓包工具常用功能详解

    Fiddler抓取https请求 & Fiddler抓包工具常用功能详解   先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问 ...

  6. 使用Fiddler抓取手机请求

    使用Fiddler抓取手机请求 Fiddler 手机 今天想尝试在手机上抓包,发现一个好玩的小工具——Fiddler. Fiddler是一个专门的抓包工具,可以模拟请求,修改请求,手机应用调试等.还是 ...

  7. 使用Fiddler抓取手机APP数据包--360WIFI

    使用Fiddler抓取手机APP流量--360WIFI 操作步骤:1.打开Fiddler,Tools-Fiddler Options-Connections,勾选Allow remote comput ...

  8. 手把手教你如何用Fiddler抓取手机数据包(iOS+Android)

    本文主要教你如何通过 Fiddler 来抓取手机端的数据包,包括 iOS 和 Android 端的配置和抓取. 一.Fiddler下载安装 访问 Fiddler 官网:https://www.tele ...

  9. Fiddler抓包原理和使用详解

    iddler抓包工具在APP开发过程中使用非常频繁,对开发者理解HTTP网络传输原理以及分析定位网络方面的问题非常有帮助.今天抽点时间出来总结一下Fiddler在实际开发过程中的应用. 我开发过程中使 ...

随机推荐

  1. Sublime Text3 搭建前端开发环境

    第一步:百度搜索sublime text3 ,直接点击红色箭头下方的下载地址,下载完成安装后会提示是否更新,直接点击更新就好了! 第二步:下载插件管理器,点击菜单栏Tools->Package ...

  2. git pull 出现 WARNING: POSSIBLE DNS SPOOFING DETECTED!

    此时不管你是git pull 还是clone 都报错如下: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: ...

  3. golang在linux下的安装操作

  4. Kafka 消费者

    应用从Kafka中读取数据需要使用KafkaConsumer订阅主题,然后接收这些主题的消息.在我们深入这些API之前,先来看下几个比较重要的概念. Kafka消费者相关的概念 消费者与消费组 假设这 ...

  5. Kafka学习笔记(三)——架构深入

    之前搭建好了Kafka的学习环境,了解了具体的配置文件内容,并且测试了生产者.消费者的控制台使用方式,也学习了基本的API.那么下一步,应该学习一下具体的内部流程~ 1.Kafka的工作流程 大致的工 ...

  6. 在win10上安装FFmpeg

    1.下载:https://ffmpeg.zeranoe.com/builds/ 2.解压缩到,并改名为ffmpeg,放到如:D:\ffmpeg文件夹. 3.添加系统环境变量. 4.打开cmd,输入:f ...

  7. 你也可以写个聊天程序 - C# Socket学习1

    原文:你也可以写个聊天程序 - C# Socket学习1 简述 我们做软件工作的虽然每天都离不开网络,可网络协议细节却不是每个人都会接触和深入了解.我今天就来和大家一起学习下Socket,并写一个简单 ...

  8. JAVA调用系统命令:python、shell等

    实际项目开发场景中,可能会用到java项目调用系统命令的需求,如调用python或者shell脚本 可以参考如下例子,例子来源于ambari源码: \ambari\ambari-server\src\ ...

  9. 2. matplotlib绘制散点图

    与绘制直线图的唯一区别:plt.scatter # coding=utf-8 from matplotlib import pyplot as plt from matplotlib import f ...

  10. HTTP协议的认识

    1.内容回顾 1.HTTP协议消息的格式: 1.请求(request) 请求方法 路径 HTTP/1.1 \r\n k1:v1\r\n ...\r\n \r\n 请求体 <--这里可以有可以没有 ...