百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

玩转Fiddler抓包教程(2)-初识Fiddler让你理性认识一下

yuyutoo 2024-10-11 23:57 11 浏览 0 评论

1.前言

  今天的理性认识主要就是讲解和分享Fiddler的一些理论基础知识。其实这部分也没有什么,主要是给小伙伴或者童鞋们讲一些实际工作中的场景,然后隆重推出我们的猪脚(主角)-Fiddler。

1.1工作场景

做app测试,你是否有过这样的经历?

1.后端开发同事在调试解决bug时 ,总找你拿着手机点点点,然后他在后台看数据是否异常。(一个上午,一不小心过去了)

2.前端开发同事在调试解决bug时,也找你过来帮忙造几个数据,于是你辛辛苦苦造了个数据,他点一下,数据用完了,bug没解决。于是乎又找你造数据。(一个下午,又一不小心过去了)

3.你曾经是否遇到过这种情况,当你发现一个bug提交给前端开发时,他说是后端返回数据的问题。于是你找到后端开发,他说是前端数据提交的问题,让你找前端开发。(一个晚上过去了,bug没解决。。。)

这个时候就有请我们的主角-Fiddler开始闪亮登场。前边这些他可以通通解决。

温馨提示:全程干货、内容比较多,建议新手朋友可以先点赞+收藏再慢慢观看!

2.简介

  在这个网络信息时代里,计算机安全始终是一个让人揪心的问题,网络安全则有过之而无不及。许多电脑高手 经常利用 Fiddler 可以作为代理的这个功能去抓取会话并进行修改达到自己想要的目的。Fiddler是一个强大并且跨平台的HTTP(S)抓包神器,你可别拿去做坏事。它的英文名叫:Fiddler,中文名叫:小提琴。Fiddler 是一个 HTTP 协议调试代理工具。它能够记录并检查所有你的电脑和互联网之间的 HTTP、FTP、HTTPS 的数据包。通过设置断点,用户还可以修改 “进出”Fiddler 的数据。由于 Fiddler 具备强大的数据抓包和修改功能,所以 Fiddler 广泛应用 Web 渗透测试领域。

Fiddler是最强大最好用的Web调试工具之一, 它能记录所有客户端和服务器的http和https请求。允许你监视、设置断点、甚至修改输入输出数据。Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。换言之,你对HTTP 协议越了解,你就能越掌握Fiddler的使用方法。你越使用Fiddler,就越能帮助你了解HTTP协议。Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。

Fiddler是以web proxy代理服务器的形式工作的 , 它也是一个http协议数据抓包与调试代理工具,它能够记录和检查当前你的电脑和互联网之间的http消息, 也就是说可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作 还可以用来检测网络安全。

3.抓包

  抓包(packet capture):用特定的工具获取客户端与服务端发送和返回的数据包。目的是分析数据包的内容与协议,从而来判断是否符合设计要求。其实就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全

4.什么情况下需要抓包?

1.开发要你重现bug,截取数据,定位问题的时候

2.判断一个问题是前端bug还是后端bug的时候

3.开发要你做接口测试,但又不没给你接口文档的情况--》方法,接口地址,传递参数,头部,返回内容

4.在不修改任何环境的情况下,修改返回的结果,即通常说的mock--》模拟接口

5.为什么要学习Fiddler?

宏哥从三个角度给小伙伴们或者童鞋们来解剖一下:

5.1Fiddler本身优势

1、功能强大,其他工具有的功能它也有,其他工具没有的功能它也有,支持http,https,ftp等协议;

2、完全免费,长期免费。

3、所有的浏览器可以使用,所有的平台都可以使用。就冲着这三点,就值得拥有。

5.2同类产品对比

除了Fiddler还有哪些能抓包?

抓包工具:wireshark、fiddler、httpwatch、charles、chrome开发者工具(F12),各工具的对比,

说到抓包工具,有Fiddler、Charles、HttpWatch、WIRESHARK等知名、不知名的......当然工具没有强弱好坏之分,只是看在什么场景下使用更为适合!Fiddler和同种类型的抓包工具对比,如下图所示:

从上图我们可以看出:我们为什么选择Fiddler进行抓包,可以看一下它的比较。

  首先第一个Fiddler它的优势,独立运行,第二个支持移动设备(是否能抓移动APP的包,)在这一块的话wireshark、httpwatch就不支持,因此在这一块就可以排除掉前连个,因为我们有时候去进行测试的时候,除了测web端,也会要去测app端,在企业里经常去要做的事情。

  然后Fiddler是免费的,charles是收费的。当然我知道大家都能够各显神通,做坏事的时候,记得带上你的负罪感。

  当然你选择这个免费工具的前提是,它满足你的需求,能够解决你的问题,并不是说我随便找一个不能解决我问题的工具,这个肯定是不行的,至于说在这一块想去用一下wireshark、httpwatch可以自行去下载使用,我们今天主要分享Fiddler。(需要软件测试相关安装包,可以微信公众号主页点击领取资料,安装包,教程都给你准备好了,免费)

5.3用户

  在测试中,不管是做手工测试,还是接口测试,我们都需要查看后端返回的数据。有的时候,我们也需要调试,或者mock一下后端的返回,来验证前端是否达到预期。为了捕获这些请求,抓包工具不可少。熟练掌握一些抓包工具,可以方便我们测试,调试,分析问题。

  不管是在开发、还是在测试阶段中,“抓包”都是定位bug的主要方法之一。特别是当你提交bug给对应的开发同学,如果没有“铁证”,他们通常都拒绝修改。甚至还会高傲的对你说“你抓个包看看,是不是后台或者接口的问题啊,憋有事没事给我提bug~”。这个时候,Fiddler就可以帮助你快速打脸回去了~当然,打脸不是目的,帮助开发同学快速精准的定位bug原因,才是王道!

6.Fiddler是什么?

那么Fiddler究竟是什么?能干什么呢?

《度娘宝典》如是说:
  Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。

6.1宏哥推荐的原因  

1.安装配置简单,快速上手(别说咸鱼,菜鸟都会~);基本功能强大,新手必备(简直不要太好用~);

2.能记录所有客户端(PC端和手机客户端)和服务器间的Http和Https请求,可监视、设置断点、修改response和request,模拟低速网速环境,还能够使用.net框架语言扩展)

7.Fiddler支持和不支持的功能

  宏哥经常会遇到的一些小伙伴或者童鞋们的私信或者留言的问题类似于:“宏哥,我可以使用Fiddler来完成XXX吗?Fiddler适用于很多场景中。但是,对于一些场景,Fiddler是不合适的。绝大多数情况下,人们所使用的是Fiddler的少数几个功能。一下将简单说明Fiddler所适用的场景。

7.1Fiddler支持功能的不完整列表

1.查看几乎所有的浏览器、客户端应用或者服务之间的web数据流。监控我们浏览器所有的http/https的信息和流量,也就是所有的请求或者响应,所有的流量都可以监听。

2.手动或者自动修改任意的请求或者响应。当监听截取到http请求之后,就可以做一些查看 分析浏览器请求的内容细节,就可以伪造一些请求 伪造一个服务器的响应都是可以的!

3.解密HTTPS数据流以便查看和修改

4.归档捕获到的数据流,支持不同计算机上加载这些数据

5.给客户端应用“回放(play back)”先前捕获到的响应,即使当前服务器处于脱机状态。

6.绝大多数PC和各种设备之间的Web数据流的调试,包括Mac/Linux系统、智能手机和平板电脑。

7.挂接到(chain to)上游代理服务器,包括TOR网络(TOR是专门防范对流量探嗅分析的软件项目。它通过由遍及全球的中继所组成的分布式网络转发通信,可以实现匿名访问网络。)

8.还可以测试网站的性能

9.作为反向代理运行,在不需要配置客户端计算机或者设备的情况下,在服务端捕获的数据流。

10.全局、局部断点功能!

11.第三方插件

7.2Fiddler不支持功能的不完整列表

Fiddler是一个非常灵活强大的工具,但某些功能目前还不支持。

1.调试非网络协议数据流

(1)Fiddler支持HTTP、HTTPS和FTP数据流以及相关协议,如HTML5 WebSockets和ICY流。

(2)Fiddler无法监测或修改基于其他协议的数据,如SMTP、POP3、Telnet、IRC等。

2.处理超大请求和响应

(1)超过2GB的请求,Fiddler无法处理

(2)超过2GB的响应,Fiddler的处理能力有限

(3)Fiddler使用系统内存和页面文件(pagefile)来保存会话数据。保存大量的会话或者超大的请求和响应会导致性能急剧下降。

3.“神奇”地修复网站的错误(bug)

(1)Fiddler可以用来协助识别网络问题,但通常不能独立修复这些bug。

8.Fiddler应用场景

Fiddler的应用场景也很广泛,具体应用场景如下:

1.接口调试

2.接口测试

3.线上环境调试

4.web性能分析

5.判断前后端bug

6.开发环境hosts配置

7.mock模拟测试

8.弱网断网测试

要知道Fiddler作为系统代理,所有的来自互联网服务的http(Https)请求在到达目标Web服务器之前都会经过Fiddler,同样的,所有的Http(Https)响应都会在返回客户端之前也会经过Fiddler。

9.Fiddler部署

9.1Fiddler环境部署

1.下载Fiddler,官方下载地址:https://www.telerik.com/download/fiddler填写好电子邮箱和国家地区 点击Download for windows就可以下载了。如下图所示:

2.安装:傻瓜式安装,一直点下一步,直达完成为止。安装成功会显示如下界面,如下图所示:

相关推荐

墨尔本一华裔男子与亚裔男子分别失踪数日 警方寻人

中新网5月15日电据澳洲新快网报道,据澳大利亚维州警察局网站消息,22岁的华裔男子邓跃(Yue‘Peter’Deng,音译)失踪已6天,维州警方于当地时间13日发布寻人通告,寻求公众协助寻找邓跃。华...

网络交友须谨慎!美国犹他州一男子因涉嫌杀害女网友被捕

伊森·洪克斯克(图源网络,侵删)据美国广播公司(ABC)25日报道,美国犹他州一名男子于24日因涉嫌谋杀被捕。警方表示,这名男子主动告知警局,称其杀害了一名在网络交友软件上认识的25岁女子。雷顿警...

一课译词:来龙去脉(来龙去脉 的意思解释)

Mountainranges[Photo/SIPA]“来龙去脉”,汉语成语,本指山脉的走势和去向,现比喻一件事的前因后果(causeandeffectofanevent),可以翻译为“i...

高考重要考点:range(range高考用法)

range可以用作动词,也可以用作名词,含义特别多,在阅读理解中出现的频率很高,还经常作为完形填空的选项,而且在作文中使用是非常好的高级词汇。...

C++20 Ranges:现代范围操作(现代c++白皮书)

1.引言:C++20Ranges库简介C++20引入的Ranges库是C++标准库的重要更新,旨在提供更现代化、表达力更强的方式来处理数据序列(范围,range)。Ranges库基于...

学习VBA,报表做到飞 第二章 数组 2.4 Filter函数

第二章数组2.4Filter函数Filter函数功能与autofilter函数类似,它对一个一维数组进行筛选,返回一个从0开始的数组。...

VBA学习笔记:数组:数组相关函数—Split,Join

Split拆分字符串函数,语法Split(expression,字符,Limit,compare),第1参数为必写,后面3个参数都是可选项。Expression为需要拆分的数据,“字符”就是以哪个字...

VBA如何自定义序列,学会这些方法,让你工作更轻松

No.1在Excel中,自定义序列是一种快速填表机制,如何有效地利用这个方法,可以大大增加工作效率。通常在操作工作表的时候,可能会输入一些很有序的序列,如果一一录入就显得十分笨拙。Excel给出了一种...

Excel VBA入门教程1.3 数组基础(vba数组详解)

1.3数组使用数组和对象时,也要声明,这里说下数组的声明:'确定范围的数组,可以存储b-a+1个数,a、b为整数Dim数组名称(aTob)As数据类型Dimarr...

远程网络调试工具百宝箱-MobaXterm

MobaXterm是一个功能强大的远程网络工具百宝箱,它将所有重要的远程网络工具(SSH、Telnet、X11、RDP、VNC、FTP、MOSH、Serial等)和Unix命令(bash、ls、cat...

AREX:携程新一代自动化回归测试工具的设计与实现

一、背景随着携程机票BU业务规模的不断提高,业务系统日趋复杂,各种问题和挑战也随之而来。对于研发测试团队,面临着各种效能困境,包括业务复杂度高、数据构造工作量大、回归测试全量回归、沟通成本高、测试用例...

Windows、Android、IOS、Web自动化工具选择策略

Windows平台中应用UI自动化测试解决方案AutoIT是开源工具,该工具识别windows的标准控件效果不错,但是当它遇到应用中非标准控件定义的UI元素时往往就无能为力了,这个时候选择silkte...

python自动化工具:pywinauto(python快速上手 自动化)

简介Pywinauto是完全由Python构建的一个模块,可以用于自动化Windows上的GUI应用程序。同时,它支持鼠标、键盘操作,在元素控件树较复杂的界面,可以辅助我们完成自动化操作。我在...

时下最火的 Airtest 如何测试手机 APP?

引言Airtest是网易出品的一款基于图像识别的自动化测试工具,主要应用在手机APP和游戏的测试。一旦使用了这个工具进行APP的自动化,你就会发现自动化测试原来是如此简单!!连接手机要进行...

【推荐】7个最强Appium替代工具,移动App自动化测试必备!

在移动应用开发日益火爆的今天,自动化测试成为了确保应用质量和用户体验的关键环节。Appium作为一款广泛应用的移动应用自动化测试工具,为测试人员所熟知。然而,在不同的测试场景和需求下,还有许多其他优...

取消回复欢迎 发表评论: