【腾讯TMQ】十分钟学会Fiddler

2024-04-14 04:38

本文主要是介绍【腾讯TMQ】十分钟学会Fiddler,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.Fiddler介绍

Fiddler是一个http抓包改包工具,fiddle英文中有“欺骗、伪造”之意,与wireshark相比它更轻量级,上手简单,因为只能抓http和https数据包,所以在针对http和https数据包的抓取上它更加专业。不仅可以记录客户端和服务器的http(s)请求,还能设置断点,修改请求和响应的数据,模拟弱网络环境。如果这些还满足不了你的需求,你还可以安装插件对Fiddler现有的功能进行扩展,甚至编写脚本实现一些自动化操作。

二.Fiddler的工作原理

当我们浏览网页的时候,实际上浏览器会通过tcp连接以http数据包的形式向服务器发起请求的,服务器在接收到请求后会根据后台代码逻辑做出不同的响应。以上是系统中没有代理,用的是直连网络的情况。这时候如果系统中设置了静态http代理,那么浏览器所有外发的http请求会被重定向到代理服务器,代理服务器会根据请求的目的ip将请求再转发至相应的服务器。同理,服务器返回给浏览器的数据也要经过代理这一层。其实Fiddler所做的和代理服务器是一样的事情,当我们启用Fiddler之后,ie的http(s)代理会自动被设置为127.0.0.1:8888(之所以这么设置是因为Fiddler是在本地8888端口进行监听的), 所有http(s)会话的都会被Fiddler拦截。Fiddler监听的端口号可以在下面这个地方更改:

使用http://localhost:8888/可以访问到Fiddler的echo服务。

至于Fiddler为啥可以抓https包,其实是利用了类似中间人攻击的技术,看下面这张图:

在了解Fiddler解密https的原理之前,我们首先要知道标准的https通信原理。在https通信中,运用到了两种加密技术——对称加密技术和非对称加密技术(RSA),非对称加密用来在握手过程中传输对称秘钥,而对称加密技术是握手完成之后实际使用的通信加密技术。
https实际通信过程可以分为两步走:
第一步,客服端和服务器协商通信使用的密钥(对称密钥)。
这个过程可以简单描述为——客户端发起请求获取服务器的证书,证书里包含了服务器的RSA公钥。客户端生成通信用的对称密钥,使用服务器的公钥加密后传输给服务器。服务器接收到之后使用自己的RSA私钥解密得到传输用的明文秘钥。
第二步,客服端和服务器使用协商好的密钥进行加密通信。
了解以上常识后我们再看Fiddler解密https的过程其实不难:
1.客户端发起请求,

这篇关于【腾讯TMQ】十分钟学会Fiddler的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/902091

相关文章

为何我建议你学会抄代码?

文章目录 为何我建议你学会抄代码?一、引言二、抄代码的艺术1、理解抄代码的真正含义1.1、抄代码的好处 2、如何有效地抄代码2.1、发现问题2.2、整理需求2.3、造轮子标准流程 三、抄代码的实践案例1、发现问题2、整理需求3、设计重试机制4、实现重试工具类5、使用重试工具类6、优化和扩展 四、总结 为何我建议你学会抄代码? 一、引言 在编程的世界中,“抄代码” 常被视为一

AIGC6: 走进腾讯数字盛会

图中是一个程序员,去参加一个技术盛会。AI大潮下,五颜六色,各种不确定。 背景 AI对各行各业的冲击越来越大,身处职场的我也能清晰的感受到。 我所在的行业为全球客服外包行业。 业务模式为: 为国际跨境公司提供不同地区不同语言的客服外包解决方案,除了人力,还有软件系统。 软件系统主要是提供了客服跟客人的渠道沟通和工单管理,内部管理跟甲方的合同对接,绩效评估,BI数据透视。 客服跟客人

腾讯社招面试经历

前提:本人2011年毕业于一个普通本科,工作不到2年。   15号晚上7点多,正在炒菜做饭,腾讯忽然打电话来问我对他们的Linux C++的职位是否感兴趣,我表达了我感兴趣之后,就开始了一段简短的电话面试,电话面试主要内容:C++和TCP socket通信的一些基础知识。之后就问我一道算法题:10亿个整数,随机生成,可重复,求最大的前1万个。当时我一下子就蒙了,没反应过来,何况我还正在烧

完整的腾讯面试经过

从9月10号开始到现在快两个月了,两个多月中,我经历数次面试和笔试,在经历这些的同时积累了不少的经验,也学到了不少东西,在此把它记录下来,算是和一起找工作中的同学一起共勉吧。我是本校的学生,专业是机械制造及其自动化,找工作的主要目标是计算机软件类和机械制造方向的国内的企业,所以意向去外企的同学就不必浪费时间看这些面经啦,想去国内IT企业的同学可以继续看下去。本贴中我把最近的腾讯面试经过写下

腾讯面试准备

hash、map、dict区别 右值引用 虚函数和纯虚函数 虚表 运算符重载 epoll和select es原理 一面 waf运行在nginx哪一个阶段nginx后台连接超时是否会再连接 估计是max_fails, fail_timeouttcp黏包?大数据求中位数 需要注意的问题 数据库分布式数据库分表数据库拆表大数据读取数据库查询优化等等数据库相关问题

上海市计算机学会竞赛平台2024年7月月赛丙组求和问题

题目描述 给定 nn 个整数 a1,a2,…,ana1​,a2​,…,an​,请问这个序列最长有多少长的前缀,满足元素的和大于或等于 00?如果任何长度大于 00 的前缀之和都为负数,则输出 00 输入格式 第一行:单个整数表示 nn第二行:nn 个整数表示 a1,a2,…,ana1​,a2​,…,an​ 输出格式 单个整数:表示最长的前缀长度,使得前缀的和大于等于 00 数据范围

Python教程(二十) : 十分钟入门【PyQt6】

文章目录 专栏列表环境准备1 安装 Python2 安装 PyQt6 创建 PyQt6 项目1 创建项目目录2 创建主 Python 文件 代码书写测试流程1 导入 PyQt6 模块2 创建主窗口类3 创建应用程序实例并运行 核心解析:PyQt6 中的模块示例代码: PyQt6 常用的控件1. QPushButton(按钮)2. QLabel(标签)3. QLineEdit(文本输入框)4

上海市计算机学会竞赛平台2024年8月月赛丙组等差数列的素性

题目描述 给定三个整数 nn,aa 与 dd,表示一个项数为 nn 的等差数列,首项为 aa,公差为 dd。 请统计,从这个等差数列中有多少数字是素数 输入格式 三个整数: nn,aa 与 dd 输出格式 单个整数:表示素数数量 数据范围 50%50% 的数据,1≤n≤10001≤n≤1000100%100% 的数据,1≤n≤100001≤n≤100001≤d≤10001≤d≤10

【数据结构】你真的学会了二叉树了吗,来做一做二叉树的算法题及选择题

文章目录 1. 二叉树算法题1.1 单值二叉树1.2 相同的树1.3 另一棵树的子树1.4 二叉树的遍历1.5 二叉树的构建及遍历 2. 二叉树选择题3. 结语 1. 二叉树算法题 1.1 单值二叉树 https://leetcode.cn/problems/univalued-binary-tree/description/ 1.2 相同的树 https://leet

app提交到腾讯开发平台,提示无法获取签名信息,请上传有效包(110506)

最近提交APP时遇到的,一般情况下是因为打包时至勾选v2没有勾选v1的原因,如下图: 这个时候将v1勾选即可。 但是在打包时ˉv1和v2都勾选了也可能会出现这个报错,那就要看一下gradle的 minSdkVersion,如果这个版本在24-26之间也可能会提示这个错误,所以降低这个版本就可以了