为什么要先学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. 确保 PHP 应用程序的安全 -- 不能违反的四条安全规则(转)

      规则 1:绝不要信任外部数据或输入 关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数 ...

  2. PHP解决并发问题的几种实现(转)

      对于商品抢购等并发场景下,可能会出现超卖的现象,这时就需要解决并发所带来的这些问题了 在PHP语言中并没有原生的提供并发的解决方案,因此就需要借助其他方式来实现并发控制. 方案一:使用文件锁排它锁 ...

  3. 如何使用Jdk查看源码?

    先看再点赞,给自己一点思考的时间,如果对自己有帮助,微信搜索[程序职场]关注这个执着的职场程序员.我有什么:职场规划指导,技能提升方法,讲不完的职场故事,个人成长经验. 最近,有很多读者问我,有没有j ...

  4. mongodb常用查询语句(转)

    1.查询所有记录 db.userInfo.find();相当于:select* from userInfo; 2.查询去掉后的当前聚集集合中的某列的重复数据db.userInfo.distinct(& ...

  5. C语言:冒泡排序例子

    //冒泡排序 //14个数字排序:14个数的组合:14*13/2=91次 理论上比较91次 ,实际只有39次进行了变量交换 #include <stdio.h> void bubble_s ...

  6. python numpy高效体现

    import numpy as np import time def python_sum(n): a=[i**2 for i in range(n)] b=[i**3 for i in range( ...

  7. final修饰符(4)-"宏替换"

    对于一个final变量来说,不管它时类变量,实例变量还是局部变量,只要满足三个条件,这个final变量就不再是一个变量,而是一个直接量.final变量的一个重要用途,就是定义"宏变量&quo ...

  8. springMVC-12-整合spring和springmvc

    问题1: 好像我们只需要使用springmvc的配置文件作为IOC容器就可以了 --> 需要进行Spring 整合SpringMVC吗? ----> 还是否需要再加入Spring的IOC容 ...

  9. Album++:分布式事务专辑-基础概念

    (一)基础概念:↓ ↓ ↓ 1.1)什么是事务 什么是事务?举个生活中的例子:你去小卖铺买东西,"一手交钱,一手交货"就是一个事务的例子,交钱和交货必 须全部成功, 事务才算成功, ...

  10. ZYNQ FLASH+EMMC手动移植LINUX启动

    前言 虽可使用Petalinux进行移植,简单方便,但为了更清楚明白的了解整个流程,还是尝试了一波手动移植. 参考资料 ZYNQ Linux 移植:包含petalinux移植和手动移植debian9 ...