为什么要先学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抓包实用非常详细,学会不要去做坏事~的更多相关文章

  1. Fiddler抓包工具简介:(四)Fiddler的基本使用

    Fiddler的使用 视图功能区域 会话的概念:一次请求和一次响应就是一个会话. fiddler主界面 下面挑几个快捷功能区中常用几项解释,其他功能自己尝试: 快捷功能区 1:给会话添加备注信息 2: ...

  2. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(16)-Fiddler如何充当第三者,再识AutoResponder标签-上篇

    1.简介 Fiddler充当第三者,主要是通过AutoResponder标签在客户端和服务端之间,Fiddler抓包,然后改包,最后发送.AutoResponder这个功能可以算的上是Fiddler最 ...

  3. Fiddler 抓包工具总结

    阅读目录 1. Fiddler 抓包简介 1). 字段说明 2). Statistics 请求的性能数据分析 3). Inspectors 查看数据内容 4). AutoResponder 允许拦截制 ...

  4. Python+Requests接口测试教程(1):Fiddler抓包工具

    本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容.刚买须知:本书是针对零基础入门接口测 ...

  5. Fiddler抓包工具使用详解

    一.Fiddler简介 Fiddler是最强大最好用的Web调试工具之一, 它能记录所有客户端和服务器的http和https请求.允许你监视.设置断点.甚至修改输入输出数据.Fiddler包含了一个强 ...

  6. Fiddler 抓包工具入门

    转自:https://www.cnblogs.com/yyhh/p/5140852.html 序章 Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获.重发.编辑.转存等操 ...

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

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

  8. 转:APP开发浅谈-Fiddler抓包详解

    原文地址:http://www.luoxudong.com/?p=306 Fiddler抓包工具在APP开发过程中使用非常频繁,对开发者理解HTTP网络传输原理以及分析定位网络方面的问题非常有帮助.今 ...

  9. fiddler抓包工具总结

    Fiddler 抓包工具总结 Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获.重发.编辑.转存等操作.也可以用来检测网络安全.反正好处多多,举之不尽呀!当年学习的时候也 ...

随机推荐

  1. Shell脚本对Linux进行文件校验

    Shell脚本对Linux进行文件校验 一.需求 有客户等保需求对文件一致性进行校验,想到利用md5sum工具,因此写脚本来对文件进行自定义扫描,后期可以利用其进行校验,快速校验文件发现变更的文件,一 ...

  2. 160crackme002

    一.查壳 结果:vb写的,并且无壳 二.运行程序 发现了这个程度调用了vb调用窗口的api.这时有两种方式: 1.再重新调试,运行到有窗口的时候,F12暂停,按ctrl+K,查看dll调用,再数据窗口 ...

  3. (学习心路历程)Vue过渡/动画 VS. 过渡/动画

    [此篇为本人的个人见解和哔哔赖赖,如果有观点不对的地方,还请大家指出来哇!!] 最近实习在做一个项目,里面应用的动画效果还蛮复杂的,因为本身对Vue框架比较熟悉,所以最终选择了Vue框架. 自己之前从 ...

  4. mongodb,redis,mysql的区别和具体应用场景(转)

    一.MySQL 关系型数据库. 在不同的引擎上有不同 的存储方式. 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高. 开源数据库的份额在不断增加,mysql的份额页在持续增长. 缺点就 ...

  5. Linux常用命令 day day up系列3

    一.命令执行的优先级二.Linux目录结构三.cat--查看文件内容四.more--查看文件内容五.less--查看文件内容六.head.tail--查看文件内容七.wc--统计文件内容八.grep- ...

  6. 如何统计自动化测试用例的ROI 【投入产出比/投资回报率】

    一. 自动化测试的投入有哪些? 1. 自动化测试的软件平台投入 自动化测试平台的开发时间,实施时间. 2.  自动化测试的框架开发投入+框架维护的投入 开发自动化测试脚本使用的框架,例如通过一些现有框 ...

  7. etcd中watch源码解读

    etcd中watch的源码解析 前言 client端的代码 Watch newWatcherGrpcStream run newWatchClient serveSubstream server端的代 ...

  8. 在docker for windows建立mssql容器后,ssms连接mssql出现错误号码18456的问题

    在docker for windows建立mssql容器后,ssms连接mssql出现错误号码18456的问题 笔者提供一个可能会没考虑到的点. 请检查本机是否安装了mssql!!! 请检查本机的ms ...

  9. FiddlerEverywhere 的配置和基本应用

    一.下载大家自行在官网下载即可,这个可以当做是fiddler的升级版本,里面加了postman的功能,个人感觉界面比较清晰简约,比较喜欢. 二.下载完成之后大家可以自行注册登录,主页面的基本使用如下: ...

  10. Java 在线/离线 文档

    英文: Oracle 官网在线文档 Java SE 8 Oracle 官网在线文档 Java SE 9 & JDK 9 中文: Java 1.8: 中文 – 谷歌版 中文 – 有道版 中文 – ...