如何使用Fiddler抓取移动端https协议包
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Fiddler抓取移动端https协议包相关的知识,希望对你有一定的参考价值。
参考技术A 一共有8个步骤,我们针对每一步,具体看看发生了什么事:第一步,客户端发起明文请求:将自己支持的一套加密规则、以及一个随机数(Random_C)发送给服务器。
第二步,服务器初步响应:服务器根据自己支持的加密规则,从客户端发来的请求中选出一组加密算法与HASH算法,生成随机数,并将自己的身份信息以证书(CA)的形式发回给浏览器。CA证书里面包含了服务器地址,加密公钥,以及证书的颁发机构等信息。这时服务器给客户端的包括选择使用的加密规则、CA证书、一个随机数(Random_S)。
第三步,客户端接到服务器的初步响应后做四件事情:
(1)证书校验: 验证证书的合法性(颁发证书的机构是否合法,证书中包含的网站地址是否与正在访问的地址一致等)。
(2)生成密码:浏览器会生成一串随机数的密码(Pre_master),并用CA证书里的公钥加密(enc_pre_master),用于传给服务器。
(3)计算协商密钥:此时客户端已经获取全部的计算协商密钥需要的信息:两个明文随机数 Random_C 和 Random_S 与自己计算产生的 Pre-master,计算得到协商密钥enc_key。
enc_key=Fuc(random_C, random_S, Pre-Master)
(4)生成握手信息:使用约定好的HASH计算握手消息,并使用协商密钥enc_key及约定好的算法对消息进行加密。
第四步,客户端将第三步产生的数据发给服务器:
这里要发送的数据有三条:
(1)用公钥加密过的服务器随机数密码enc_pre_master
(2)客户端发给服务器的通知,”以后我们都要用约定好的算法和协商密钥进行通信的哦”。
(3)客户端加密生成的握手信息。
第五步,服务器接收客户端发来的数据要做以下四件事情:
(1)私钥解密:使用自己的私钥从接收到的enc_pre_master中解密取出密码Pre_master。
(2)计算协商密钥:此时服务器已经获取全部的计算协商密钥需要的信息:两个明文随机数 Random_C 和 Random_S与Pre-master,计算得到协商密钥enc_key。
enc_key=Fuc(random_C, random_S, Pre-Master)
(3)解密握手消息:使用协商密钥enc_key解密客户端发来的握手消息,并验证HASH是否与客户端发来的一致。
(4)生成握手消息使用协商密钥enc_key及约定好的算法加密一段握手消息,发送给客户端。
第六步,服务器将第五步产生的数据发给客户端:
这里要发的数据有两条:
(1)服务器发给客户端的通知,”听你的,以后我们就用约定好的算法和协商密钥进行通信哦“。
(2)服务器加密生成的握手信息。
第七步,客户端拿到握手信息解密,握手结束。
客户端解密并计算握手消息的HASH,如果与服务端发来的HASH一致,此时握手过程结束。
第八步,正常加密通信
握手成功之后,所有的通信数据将由之前协商密钥enc_key及约定好的算法进行加密解密。本回答被提问者采纳
Fiddler常用功能总结
使用Fildder几年来,深深的体会到了其便利性,给工作带来了极大的便利,所以把其它常用功能总结如下
一:介绍
1、免费,支持抓取http、https协议,可独立运动
2、原理:(客户通过移动端或是PC浏览器提交请求到服务器),fiddler以代理方式存在于客户端 与服务端之间,自主抓取客户端发出的请求,再将请求发送给服务端,抓取服务端响应的结果。
3、抓包注意事项:
3.1、win7比win10稳定
3.2、默认抓取http协议,如果需要抓取https协议需要安装证书(安装证书:)
3.3、手机和电脑处于同一局域网
3.4、抓取http包
tools->options->HTTPS
- Connections页面,勾选1允许远程连接;若直接抓取本机浏览器一般不勾选2,2为以代理方式抓取比较慢,(设置完这两处后,记得重启fiddler以生效)
- filters 域名过滤:按如下步骤操作:3输入多个域名用“;"分隔,运行第四步后,左侧会显示相应的结果
- fiddler构造http get或post请求,将左侧窗口相应的请求拖拽到右Composer里TAB页,点右上角的"Execute"即可执行,执行结果默认在左侧列表最下面
- 过滤css、js、图片等静态文件
- 暂停或开启抓取点左下角状态栏 capturing,但我的版本不起作用;所以我通常用与其相邻的类型:All Process开启抓取,Hide All暂停抓取
- 清除左侧抓取记录:光标定位左侧窗口,Ctrl+a 全选,Delete删除
- 保存请求功能:保存数据便于给开发提供有问题的数据;选中需要保存的请求,下图操作进行保存:1、可保存为“.saz”文件,可重新导入Fildder查看 2、可保存为“.txt"文件,直接打开txt文件查看请求响应数据
Fildder弱网测试,请参数我的另一篇博文 https://www.cnblogs.com/liuchunxiao83/p/7987099.html
以上是关于如何使用Fiddler抓取移动端https协议包的主要内容,如果未能解决你的问题,请参考以下文章