一、HTTP协议和HTTPS协议。

(1) HTTPS协议=HTTP协议+SSL协议,默认端口:443

(2) HTTP协议(HyperText Transfer Protocol):超文本传输协议。默认端口:80,其中包含请求和响应两部分,其中请求包含:请求行、请求头、请求正文,响应包含:响应行、响应头、响应正文。

二、Fiddler截获HTTPS协议数据以及数字证书加密解密原理。

(1) 浏览器向百度发出https握手请求,被Fiddler截获,变成fidller向百度发出握手请求,百度将自己的SSL证书(由CA颁发,里面包含了百度的公钥以及认证中心签名及有效期等信息)进行返回,SSH数字证书被Fiddler截获,Fiddler用CA的公钥解开百度的证书,拿到百度公钥。

(2) Fiddler修改SSL证书相关信息(把:把百度的公钥替换成自己的公钥,把百度证书颁发机构修改成自己颁发等),以达到冒充百度的目的,然后用自己的私钥重新加密百度的SSL数字证书发送给浏览器。

(3) 由Fiddler的根证书生成器FiddlerCertMaker.exe生成Fiddler的根证书并加入浏览器"受信任的根证书颁发机构"列表,所以浏览器可以用Fiddler根证书中的公钥解密伪造的百度SSL数字证书。得到冒充的百度公钥(实际是Fiddler的公钥)。

(4) 浏览器生成随机对称秘钥,用冒充的百度公钥(实际是Fidller的公钥)加密后发出,被Fiddler截获,Fiddler用自己私钥解开带有随机对称密钥的密文,获得通讯的对称秘钥。Fiddler用百度的公钥加密对称秘钥,然后传给百度。

(5) 百度用自己私钥解开对称秘钥,这样双方就能使用对称秘钥加密传输了。

(6) Fiddler收到百度发来的网页密文,由于Fiddler也保存了对称秘钥,所以它可以解开密文,这样我们就能使用Fiddler看到加密的https的明文了,然后Fiddler再次用对称秘钥加密发送给浏览器。浏览器向百度发送密文时也被Fiddler截获,截获后使用对称秘钥解密并显示在Fiddler,然后Fiddler使用对称密钥加密后再发送给百度。如此循环往复。

三、Fiddler截获https请求实操。

前言:理解https协议加密解密原理之后,以下操作能100%的解决fiddler所有证书问题。

(1) 清理环境(首次安装Fiddler不需要清理)

1、卸载Fiddler软件以及根证书生成器Fiddler2 CertMaker。

2、清除C:UsersAdministratorAppDataRoamingMicrosoftCryptoRSA 目录下所有的RSA算法文件,此算法文件和非对称公钥密钥加密相关。

3、清除电脑上的根证书,WIN+R快捷键,输入: certmgr.msc, 然后回车,查找所有fiddler证书,然后删除。

4.清除浏览器上的证书文件 ,以谷歌浏览器为例说明,在浏览器上输入: chrome://settings/,进入[高级]->[管理证书],有"受信任的根证书颁发机构"列表。此处需要仔细查找带有DO_NOT_TRUST_FiddlerRoot的字样,并删除。

(2) 安装并配置Fiddler抓取Https数据报文。

1.下载并安装fiddler,官网下载地址:https://www.telerik.com/download/fiddler

2.下载并安装Fiddler证书生成器,官网下载地址:http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2

3. 打开Fiddler,点击菜单栏中的Tools—>Options,选择HTTPS页签。勾选Decrypt HTTPS CONNECTs(解密https连接),Fiddler证书生成器会自动判断本机是否安装Fiddler证书,没有则弹出如下证书安装页面。点击”Yes”按钮,在新弹出的窗口中再点击”确定”后则Fiddler证书安装完成。接下来Fiddler就可以抓取Https的数据报文。

(3) Fiddler抓取手机端的https协议数据报文。

1、打开Fiddler,点击菜单栏中的Tools—>Options,选择Connections页签。勾选Allow remote computers connnect(允许外部电脑连接)。

2、保持android手机和电脑在同一网段。如连接同一无线。

3、打开android手机的“设置”->“WLAN”,找到你要连接的无线网络并点击,弹出网络设置对话框,在“代理”处选择“手动”,在“主机名”输入框后面输入127.0.0.1,在“端口”输入框后面输入8888,然后点击“保存”按钮。

4、启动android设备中的浏览器访问百度首页或打开被测App,在fiddler中可以看到抓取到的数据报文了。

四、总结

如果你觉得此文对你有帮助,如果你对此文有任何疑问,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣请拉到最上面关注笔者的名字!

一箭三雕:如果你觉得本文对你有帮助,请关注,赞同,分享三连!谢谢!
作者出处:逍遥子:fiddler如何抓取https请求实现fiddler手机抓包-证书安装失败100%解决
转载声明:欢迎转载,但未经作者同意请保留此段声明,并在文章明显位置给出原文链接。

android 监听本机网络请求_fiddler如何抓取https请求实现fiddler手机抓包-证书安装失败100%解决...相关推荐

  1. 使用Charles抓取https请求

    总结下使用Charles进行简单接口压力测试以及修改接口请求,Charles是一款非常好用的抓包工具,通常使用它来进行APP开发抓包调试,尤其是HTTPS请求. 一.安装Charles 去官网(htt ...

  2. Charles+安卓模拟器 抓取https请求

    1.抓取https请求 如果模拟器不安装证书的话,我们可以抓取移动端的http请求了,但是https请求,会出现Unknown,下面是解决办法. 这里使用的是夜神模拟器(建议使用Android 5), ...

  3. Charles安装后无法抓取https请求,显示 unknow

    问题描述 安装Charles后,双击打开,尝试抓取https请求,但抓取到的请求显示unknow,如下图: 问题原因 出现此问题的原因为Charles配置问题 解决办法 一. 安装证书 步骤: 1.点 ...

  4. 【教程】小米手机Android 7.0+抓取HTTPS请求安装Charles证书主要流程

    以下教程可能耗费你数小时时间,请注意时间. 目标:抓取HTTPS的包 如果你的手机是在Android 7.0+及其以上,想要抓取HTTPS的请求,必须要将证书(*.pem)用系统用户的权限安装,即把这 ...

  5. 使用Charles为Android设备抓取https请求的包

    之前开发的Android APP使用的都是http请求,之后改成了https,就出现了以下情况,无法正常读取抓取的内容 找了好多资料说法大概差不多,照着弄,结果出现如下情况,后来发现这种情况其实是手机 ...

  6. fiddler抓包教程,如何抓取HTTPS请求,详细教程

    一.Fiddler是什么? Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle ...

  7. iOS 10.3下使用Fiddler抓取HTTPS请求

    最近使用Fiddler抓取手机上的HTTPS请求时,遇到一个问题.设置完之后,访问HTTPS的页面,却得到一个错误 网络出错,轻触屏幕重新加载:-1202 (如下图所示) 我印象中,之前都好好的,怎么 ...

  8. Charles抓取https请求

    最近公司将Windows产品的http请求,替换成https请求了,当https请求超过5次失败,就自动切换回http请求.测试时使用Charles抓包测试. 一.http抓包 http抓包比较简单, ...

  9. php 抓取https请求数据,PHP + curl 实现 http 或 https 抓取数据:

    /** * 抓取数据 https 或 http 形式 * @param $url 链接 * @param $data 参数 * @return mixed 返回数据 */ private functi ...

最新文章

  1. 项目构建之maven篇:2.HelloWorld项目构建过程
  2. 研究生,导师不是你的保姆……
  3. 计算数值二进制表达式中1的个数
  4. JS删除String里某个字符的方法
  5. ActiveMQ在windows下启动失败解决方案
  6. angular 权限 php,PHP,Angular,HTACCESS-仅允许来自源域的请求
  7. Java-Integer和int有什么区别
  8. Colorful SegmentedControl
  9. 百度面试题:从海量日志中提取访问百度次数最多的IP
  10. 电子商务发展的中心主体与边缘业务
  11. gtest中死亡测试
  12. cad 中的计算机在哪里打开,CAD计算器如何使用?
  13. Flink优化02--状态及Checkpoint调优
  14. Android开发者编写自己的API接口(上)
  15. 图文并茂:推荐算法架构——粗排
  16. Kubenetes1.13.1集群部署 --01基于Kubeadm搭建Kubernetes
  17. 基于net6的头像上传功能
  18. 【CNN】理解卷积神经网络中的通道 channel
  19. 遇到面试心情总是很紧张该怎么缓解
  20. APScheduler Multi CronTrigger 实现

热门文章

  1. 一张图看懂AI、机器学习、深度学习的关系
  2. vue 项目:文件夹 结构 、配置详解
  3. 解决:java.lang.IllegalStateException: ApplicationEventMulticaster not initialized
  4. Linux diffstat命令
  5. 面向对象—的__new__()方法详解
  6. Sublime Text3使用Package Control 报错There Are No Packages Available For Installation
  7. sqlserver 存储过程 增加
  8. 转载Linq中GroupBy方法的使用总结
  9. Study Notes ASP.Net 之Theme Skin
  10. D - 卿学姐与魔法