Fiddler抓包实用非常详细,学会不要去做坏事~
为什么要先学fiddler?
学习接口测试必学http协议,如果直接先讲协议,我估计小伙伴们更懵,为了更好的理解协议,先从抓包开始。
结合抓包工具讲http协议更容易学一些。
抓firefox上https请求
fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书。
网页不安全
1.用fiddler抓包时候,打开百度网页:https://www.baidu.com
2.提示:网页不安全
抓包工具fiddler
Fiddler4工作原理:
Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888,这时fiddler的默认端口,也就是说我们发送的每一个请求和收到的每一个响应都会先经过fiddler,这样就实现了抓取数据包的工作。当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。
安装和使用的时候需要关闭杀毒软件!
抓取http
fiddler默认就可以抓取电脑的http请求,可以查看statistics信息,可以查看抓取包的开始时间及响应时间,Inspectors选项可以查看请求和响应的详细信息。Raw表示原数据格式,还可以查看fiddler日志等。
抓取https
Fiddler默认是不可以抓取https协议的,需要进行配置,如果没有进行配置,在打开https协议的网页的时候会提示风险,所以为了能抓取互联网网页,可以先进行https配置。
配置https协议:
勾选这三个选项,然后点击actions,选择将证书生成到桌面上,再在浏览器的证书管理中,导入fiddler的证书。
通过以上步骤就可以抓取https的协议了。
注意事项:
在进行本机抓取和远程抓取(手机)的时候注意这里的切换。
过滤请求:
打开fiddler,找到Filters选项并点击打开。
设置完后需要在actions里面选择运行设置选项,不选其实也可以,另外在选择了域名筛选后,又选择了进程,有时候会抓取不出来域名的。
以上隐藏的意思是指在左侧不会显示抓取该域名的包请求,格式支持通配符*,
显示的话就是正常显示出来,标记的话就是在左侧会加粗显示这些域名的请求。
其它过滤还可以通过请求头,响应状态,响应头等条件进行筛选,但通常使用域名或者进程就完全足够了。
以上过滤时记的在设置完过滤条件后一定要选择actions runfilterset now以马上生效。
抓取手机app
在抓取手机的请求时,有时候需要关闭电脑防火墙,配置好https的抓包请求,然后将手机连接的wifi设置为代理,代理的ip就是电脑的wifi IP,端口为fiddler上面设置的端口,再设置为DHCP,然后访问手机上面的app或者是浏览器fiddler就可以抓取到了。
关于手机证书问题,手机浏览器输入电脑的ip加端口后会提示下载fiddler证书,点击下载后安装就可以了。
注意事项:
1)在PC切换wifi网络后,ip会变化,那么在手机端,需要重新安装一下FiddlerRoot certificate 安全证书,然后重新设置代理。
2)如果在设置代理后,手机不能正常打开网页,很多时候都是由于Fiddler的安装证书存在问题,比如没有被授权。
3)不同的手机,安装Fiddler Root certificate 证书的时候,有点不一样,比如小米手机比较特别,方法不一样。
4)针对Anderiod 7.1以上的手机抓包时,需要做另外的授权等处理方法。
弱网测试设置:
为什么要进行弱网测试?
按照移动特性,各种网络连接协议不同,导致通信的信号不同,速率也不同,影响应用的加载时间、可用性、稳定性。
二、什么样的网络属于弱网?
低于2g速率的时候都属于弱网也可以将3g划分为弱网 一般wifi不纳入弱网测试范围。
三、如何进行弱网测试?
1.SIM卡的网络切换
手机-设置-移动网络设置-网络类型选择
3G卡有3种模式:1.只使用2G网络 2.只使用3G网络 3.3G网络优先
根据手机型号的不同,上面的选项可以会稍有变化。
因为电信、移动、联通的速率各不相同所以可以取速率最低的值进行测试。
2. 使用虚拟机模拟网络速率
3. 使用Fiddler来进行网络代理。
fiddler模拟限速的原理
我们可以通过fiddler来模拟限速,因为fiddler本来就是个代理,它提供了客户端请求前和服务器响应前的回调接口,我们可以在这些接口里 面自定义一些逻辑。Fiddler的模拟限速正是在客户端请求前来自定义限速的逻辑,此逻辑是通过延迟发送数据或接收的数据的时间来限制网络的下载速度和 上传速度,从而达到限速的效果。
方法:
选择fiddler菜单 Rules → Performances → Simulate Modem Speeds :模拟调制解调器的速度
然后选择Rules—>Cutomize Rules打开CustomRules.js 文档
在该文档中查找到m_SimulateModem,该方法就是用来设置弱网的。
更改原则 :
让我们来分析一下这几行代码:
首先来判断m_SimulateModem是否为true,也就是是否设置了弱网模式。
如果为弱网模式。则分析代码oSession[“request-trickle-delay”] = “300”; 注释的也很明白,Delay sends by 300ms per KB uploaded.上传1KB需要300ms,转化一下上传速度:1Kb/0.3s = 10/3(KB/s)
如果你想设置上传的速度为50KB/s,你则需要设置Delay 时间为 20ms
同样的方法,也可以限制上传的速度,调整oSession[“response-trickle-delay”]即可。
通过以上学习至少达到可以抓取自己想要的信息,并且可以抓取到手机端的请求。
浏览器本身对请求时F12就可以看到请求信息。浏览器的使用。
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,如果下面这些资料你用得到的话可以直接拿走:
① 自学必备的完整项目 (包括源码和环境,可以自己安装在本地使用)
② 测试计划模板,测试用例设计模块,功能测试报告模块等(涵盖了测试工作中所有模块)
③ 软件测试经典面试题(笔者根据自己10多年测试经验整理)
④ selenium+Python(Java)自动化测试实战.pdf,(包括了Python以及Java自动化的所有知识点)
⑤ 软件测试(自动化测试)学习路线图(从此自学有了方向不在迷茫)
⑥ 简历模板
在我的QQ技术交流群里整理了我这10几年软件测试生涯整理的一些技术资料,包括:电子书,简历模块,各种工作模板,面试宝典,自学项目等。如果在学习或工作中遇到问题,群里也会有大神帮忙解答,群号 798478386 ( 备注555 )
Fiddler抓包实用非常详细,学会不要去做坏事~的更多相关文章
- Fiddler抓包工具简介:(四)Fiddler的基本使用
Fiddler的使用 视图功能区域 会话的概念:一次请求和一次响应就是一个会话. fiddler主界面 下面挑几个快捷功能区中常用几项解释,其他功能自己尝试: 快捷功能区 1:给会话添加备注信息 2: ...
- 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(16)-Fiddler如何充当第三者,再识AutoResponder标签-上篇
1.简介 Fiddler充当第三者,主要是通过AutoResponder标签在客户端和服务端之间,Fiddler抓包,然后改包,最后发送.AutoResponder这个功能可以算的上是Fiddler最 ...
- Fiddler 抓包工具总结
阅读目录 1. Fiddler 抓包简介 1). 字段说明 2). Statistics 请求的性能数据分析 3). Inspectors 查看数据内容 4). AutoResponder 允许拦截制 ...
- Python+Requests接口测试教程(1):Fiddler抓包工具
本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容.刚买须知:本书是针对零基础入门接口测 ...
- Fiddler抓包工具使用详解
一.Fiddler简介 Fiddler是最强大最好用的Web调试工具之一, 它能记录所有客户端和服务器的http和https请求.允许你监视.设置断点.甚至修改输入输出数据.Fiddler包含了一个强 ...
- Fiddler 抓包工具入门
转自:https://www.cnblogs.com/yyhh/p/5140852.html 序章 Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获.重发.编辑.转存等操 ...
- Fiddler抓取https请求 & Fiddler抓包工具常用功能详解
Fiddler抓取https请求 & Fiddler抓包工具常用功能详解 先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问 ...
- 转:APP开发浅谈-Fiddler抓包详解
原文地址:http://www.luoxudong.com/?p=306 Fiddler抓包工具在APP开发过程中使用非常频繁,对开发者理解HTTP网络传输原理以及分析定位网络方面的问题非常有帮助.今 ...
- fiddler抓包工具总结
Fiddler 抓包工具总结 Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获.重发.编辑.转存等操作.也可以用来检测网络安全.反正好处多多,举之不尽呀!当年学习的时候也 ...
随机推荐
- 将make的输出(标准输出/标准错误输出)重定向到文件
方式 描述符 含义 stdin 0 标准输入 stdout 1 标准输出 stderr 2 标准错误输出 1.想要把make输出的全部信息,输出到某个文件中 最常见的办法就是:make xxx > ...
- C语言:地址
一切都是地址 C语言用变量来存储数据,用函数来定义一段可以重复使用的代码,它们最终都要放到内存中才能供 CPU 使用.数据和代码都以二进制的形式存储在内存中,计算机无法从格式上区分某块内存到底存储的是 ...
- modelsim 独立仿真vivado的IP核及仿真脚本
Modelsim独立仿真vivado的IP 最近一直在做local dimming项目的FPGA硬件实现,算法的其中一步就是直方图统计,即数字图像的某一灰度级的像素数,这个直方图的源码找了半天才搞到, ...
- Java基础之反射总结
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制. ...
- VScode中LeetCode插件无法登录的情况
VScode中LeetCode插件无法登录的情况 一直提示账户和密码无效,不知道什么问题. 后来发现是设置问题 在插件中找到leetcode 右键,点击setting 在界面里找到这里,将leetco ...
- FormData提交文件(十四)
问题 在通过ajax提交表单时,表单中有Excel文件,在后台还需要读取excel文件中的数据,普通的提交方式无法实现.可以通过创建FormData对象的方式. 代码示例: 前端: 创建想要提交的fo ...
- odoo接口跨域问题
odoo Controller接口开发 POST请求的跨域问题解决方法 1.odoo Controller接口开发,前端在请求的时候会发生跨域问题,报错信息如下:Function declared a ...
- C++第四十篇 -- 研究一下Windows驱动开发(三)-- NT式驱动的基本结构
对于NT式驱动来说,主要的函数是DriverEntry例程.卸载例程及各个IRP的派遣例程. 一.驱动加载过程与驱动入口函数(DriverEntry) 和编写普通应用程序一样,驱动程序有个入口函数,也 ...
- C++模板封装Win32 API 动态调用
起因 花两周通读了一遍<C++ Primer>,积攒的疑惑一扫而光. 前因 利用C++11可变模板,封装调用dll导出函数 本以为已经很好用了,最近抽时间巩固下知识体系,发现自己道行不够! ...
- tomcat与springmvc 结合 之---第18篇 StandContext容器和SpringMVC的监听器的模型
writedby张艳涛 如何使用tomcat的监听器 public class BootStrap_ex06 { public static void main(String[] args) { Ht ...