暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Fiddler抓包小技巧

万物可述 2021-06-29
1390


这是万物可述的第34篇原创文章




Fiddler抓包小技巧

1.简单构架

构架示意图:

Web浏览器和Web服务器之前是通过HTTP协议相互通信的


2.与包相关

2.1 包的概念:

包就是网络传输发送与接收的数据包


2.2 什么是HTTP协议:

互联网上应用最广泛的一种网络协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。

2.3 什么是HTTPS协议:

HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer)超文本传输安全协议 ,是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。

HTTPS=HTTP+TLS/SSL(非对称加密+对称加密+散列算法)


3.有关抓包

3.1 概念描述

抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。


3.2 主要作用


3.3 抓包工具

    


4.Fiddler技能

4.1 Fiddler介绍以及抓包原理

4.1.1 Fiddler介绍

4.1.1.1 下载与安装

Fiddler官方地址:www.fiddler2.com/

Fiddler下载地址:https://www.getfiddler.com/

4.1.1.2  Fiddler--代理服务器

Fiddler是C#开发的,主要是在Windows上运行

Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。


4.1.2  Fiddler--抓包原理

如图:


4.2  Fiddler三大设置

4.2.1 安装证书,捕获HTTPS


4.2.2 自动解压HTTP响应,否则响应都是乱码。

4.2.3 隐藏“Tunner to”请求,防止捕获大量的无用的握手验证。


4.3  Fiddler中请求和响应


4.4  Fiddler实战

4.4.1 Replay重放功能

4.4.1.1 用Fiddler重放,实现快速添加收货地址

设计场景:

测试用例标题:收获地址最多可以建20个


测试步骤:

登陆商城

点击个人资料页面

点击收获地址页面。


新建一个收获地址

重复上面一步19次。


新建第20个收获地址,新建成功

新建第21个收货地址。


期待结果:新建第21个收货地址失败。


如果是测试人员手动来执行这个测试用例,在页面新建一个收获地址是1分钟。新建20个地址需要20分钟。太耗时间了。那么测试人员应该怎么做来快速创建20个收货地址。

操作步骤:

先填好一个收货地址,再打开Fiddler,点击提交,Fiddler抓到保存地址的包

选中保存地址的包,点击Replay


结果:瞬间就添加了大量的收货地址


4.4.1.2 前端验证和后台验证

设置场景:

某学校举办绘画活动,邀请所有学生家长为喜欢的绘画进行投票。


投票网址 
http://weike.cflo.com.cn/play.asp?vodid=176713&e=7

要求:每天每一账户仅投票3次,可投多人,也可投一人,投票时间为画展截至。请各位家长积极参与,谢谢。


操作步骤:

前端验证

登录一有效账号,在前端页面进行投票3次,此站点提示:投票成功

在前端页面进行投票第4此,此站点提示:你已经投过票了。

后端验证:

登录另一有效账号,在页面进行投票,并用Fiddler抓包,大量重放



4.4.2  Fiddler修改包功能

改包原理示意图:


4.4.2.1 安全测试-支付-改余额

 


安全测试示意图:

步骤:

先打开订单支付页面

打开Fiddler,按快捷键F11下断点。支付页面上点击“立即支付”,Fiddler拦截到支付的HTTP请求。然后再按SHIFT+F11,取消断点。


在Fiddler中,把280.00元修改为0.01元。然后点击“Run to Completion”放行。

用支付宝支付0.01元后,可以看到订单成功界面。


4.4.2.2 伪造HTTP响应


Fiddler伪造HTTP响应原理示意图:

步骤:

打开Fiddler,下断点

改状态码为502

结果:

4.4.3  其他

4.4.3.1 将一个Chrome浏览器,伪装成一个IPhone6 的safari

操作步骤:

结果:


4.4.3.2 手机抓包

抓包实质:


详细抓包步骤:


另外,图Mock测试用通俗的语言来说,Mock测试就是模拟接口发送各种不同的HTTP响应,以便测试。如图:


4.4.3.3 限速,模拟弱网

限速原理:

设置场景:

实际的客户现场可能网络不稳定或者网速低,恶劣的网络环境会导致出现一些bug,影响用户体验甚至某些服务不可用。

而公司内部的研发环境网络通常比较顺畅,难以复现这种bug。

要解决这种问题,就需要制造弱网络的环境进行测试、复现并修复问题。

手机可以用2G、3G、4G,也是一种方式,但这都是网络模式,而Fiddler可以设置上传和下载的延时时间,这种控制非常灵活,可以帮助我们模拟低速网络情况下页面、APP的显示与交互情况,比如响应时间过长时是否有弹出网络不好的提示、页面crash以及显示错乱、session是否一致等。


设置限速时间:

(1)打开【Rules---Customer Rules】,Ctrl+F搜索(m_SimulateModem),默认发送数据是300毫秒,接收数据是150毫秒,根据实际情况限速后进行保存(Ctrl+S)

(2)启用限速:Rules---Performance---Simulate Modem Speeds

模拟限速操作步骤:







据说中国有句古语叫「金无足赤,人无完人」,但是,如果谁真的想打起灯笼来到市面上寻找完人,最终令他感到的可能不是一种失望,而是一种意外:完人可能就是那些终日为「善」而奔走,而又在不知不觉中实现了「美」的「真」实不虚的普通人。

追求完美是正常而有缺憾的人性。

--尼采

文章转载自万物可述,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论