【软件测试基础】Fiddler抓包能干嘛?

2020-11-06 16:44发布

13条回答
是开心果呀 -热爱生活
1楼 · 2020-11-06 17:20.采纳回答

Fiddler可以干的东西太多了 ,例如:

1.动态Web调试,可以抓取http&分析之,这个不说了,别的很多抓包软件也可以实现

2.配合Proxifier可以抓取&代理原本不支持http代理但使用http协议通信的应用

3.中间人攻击,因为fiddler本质是个http proxy自然可以给http包下断点&修改之,对于https来说可以通过信任fiddler的根证书解析https数据包 这样就可以干一些坏事了,后文会说

4.可以把proxy端口开放至外网,意味着可以抓取其他设备的http(s)数据包,比如Android和iOS就可以在设置里设置全局http代理,所有http流量都会经fiddler以供分析 当然同样对于https,主要在浏览器访问fiddler proxy端口下载fiddler根证书&信任之就可以抓取别的设备上的https包

5.丰富的数据结构处理 对于请求来说fiddler可以把参数整合成webform以表格形式把请求参数呈现出来直观明了 对于回复来说fiddler提供了多种数据处理方式比如WebView用于模拟网页渲染,Image用于模拟图片,JSON和XML用于解析回复中的json/xml数据结构,能够大大提高调试的效率

6.AutoResponder 你可以通过设置条件使得对于特定请求可以让fiddler直接返回预定的回复内容而不是向原服务器请求后转发回复内容 通俗点讲你设置sina.com返回内容为233,当浏览器访问sina.com时fiddler会直接返回233给浏览器而不是向sina.com发送请求数据再把回复内容转发给浏览器 算是MiTM的另一种应用

7.自带Windows UWP APP本地回环豁免工具 因为对于UWP应用来说微软的设定是不允许UWP应用走本地回环路线(127.0.0.1),给UWP应用的抓包带来了麻烦 所幸的是微软还是开放了一个开关来允许本地回环代理 Fiddler自带的小工具把这一过程图形/傻瓜化,使得UWP应用抓包变为可能且简单

8.利用特性(3)就可以绕过一些前端限制,比如有个js禁止你修改xxx,你可以给这个js下断点将js判断语句删除后再发送给浏览器从而绕过这一限制

9.利用特性(2)(3)就可以修改一些应用的数据包(不仅可抓包还可修改!),可以拿来做一些好玩的事,比如某些付费应用在验证用户输入的激活码时会和服务器通讯,你可以给服务器的回复下断点把验证失败修改成验证成功然后嘿嘿嘿 对于定时检测授权的程序就可以利用(6)自动回复验证成功消息,妥妥的

10.利用(3)(4)就可以乱玩其他设备上的http(s)数据包啦,同理也可以按照(9)的步骤绕po过jie一些手机端app授权验证,当然不仅限于绕过可以干的事情更多

11.利用(2)(7)可以使UWP 应用访问一些不存在的网站,比如Facebook,具体我不说了大家都懂


霸气的名字 - 喜欢晴天
2楼 · 2020-11-06 16:46

抓包用来干啥?现在来大概的解释一下:

1.在不知道接口的情况下

2.在知道接口,想查看接口数据的情况下

3.用来查看接口的安全性

比如:1.2:web端点击搜索按钮,没有查到数据。F12打开,点击搜索按钮,network中查看具体协议,则可以查看到此接口的参数和返回值。若参数传错,前端的锅;若响应异常,没有调通后台接口;若有响应,响应值错误,后台的锅。

2.3:支付订单的时候,fiddler请求前断点,修改5000元为50元,造成数据串改,不安全。用户登录的时候,截取接口查看入参,可以看到具体的用户名、密码,不安全。所以通过fiddler或者F12可以查看接口安全性,做到把敏感数字**显示更安全。


魏魏姐
3楼 · 2020-11-09 10:10

所谓的抓包其实就是将网络传输中的数据包进行截获、编辑、重发等操作,用以分析网络数据包的内容,也可用于检查网络安全。

利用fiddler的抓包功能可以查看向服务器发送的数据是否加密,具体步骤是在打开fiddler工具的情况下,在目标网址选择登录已有账号或者注册新账户,在按要求填写完正确信息的情况下,点击登录或注册按钮,此时到fiddler界面观察左侧状态栏内,#字符下会出现绿色向右箭头图标的一条信息,双击此信息,在右侧点击Inspectors.Inspectors.Inspectors(检查器)后再选择WebForms.WebForms.WebForms(表单),在body.body.body框内value.value.value(值)下就是刚刚填写的信息,此时可以通过观察确认信息是否处于加密状态。

爱梦 - 拿来吧你
5楼 · 2021-01-06 09:41

1、Fiddler能干什么:

举个例子:你想抓取电脑浏览器打开一个网页时候详细访问了些什么地址,或者手机在运行某个应用的时候访问了些什么地址。特别是在开发应用,想要分析一些http请求的时候特别有用。

2、Fiddler是什么:

Fiddler可以理解为一个Http代理服务器的工具,在浏览器进行http请求都会通过Fiddler代理,这样就可以抓到http请求的信息了。


水默
6楼 · 2021-01-07 10:51

fiddler通过对数据的修改,可以实现修改本地建提交到服务器的数据和修改服务器返回到本地的数据,借以实现改包后自己想要的数据结果。当然,对于一些加密过的sign等数据,还是需要通过对软件内部算法的分析来实现,否则修改后则会报错。通过fiddler抓包和修改包数据,还可以用于软件的安全性测试等目的。


小猪仔
7楼 · 2021-01-08 09:45

在我们做接口测试的时候,经常需要验证发送的消息是否正确,或者在出现问题的时候,查看手机客户端发送给server端的包内容是否正确,就需要用到抓包工具。

常用的抓包工具有fiddler、wireshark、httpwatch、 firebug、F12等。抓包抓的是协议,fiddler抓的是HTTP、HTTPS协议,wireshark抓的是其他协议。fiddler、wireshark可以修改接口的参数和返回值,常用的F12调试工具只可以查看接口的参数和响应值。

一般情况下,做接口测试时,必须有详细的接口文档,接口测试往往伴随着自动化即接口自动化测试,既然有接口文档,就可以直接使用了,


天天
8楼 · 2021-02-25 19:37

Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。


20200921文 - 做更棒的自己!
9楼 · 2021-09-09 12:01

无论是何种类型的网络数据包抓包软件,其工作原理都是将网络适配器的工作模式设置为混杂模式。然后通过网络编程技术实现网络数据包抓包程序,并运行该程序对所抓取到的网络数据包进行分析。

Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。 对于PC端Fiddler启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以如果需要监听PC端Chrome网络请求,将其代理改为127.0.0.1:8888就可以监听数据了,手机端按照下面的设置即可完成整个系统的http代理。
1、启动Fiddler,打开菜单栏中的 Tools > Fiddler Options,打开“Fiddler Options”对话框。
2、在Fiddler Options”对话框切换到“Connections”选项卡,然后勾选“Allow romote computers to connect”后面的复选框,然后点击“OK”按钮。
3、打开android设备的“设置”->“WLAN”,找到你要连接的网络,在上面长按,然后选择“修改网络”,弹出网络设置对话框,然后勾选“显示高级选项”。
4、在“代理”后面的输入框选择“手动”,在“代理服务器主机名”后面的输入框输入电脑的ip地址,在“代理服务器端口”后面的输入框输入8888,然后点击“保存”按钮。
5、然后启动android设备中的浏览器,访问百度的首页,在fiddler中可以看到完成的请求和响应数据。

相关问题推荐

  • 回答 12

    自动化测试主要分为三个层次:单元测试自动化、接口测试自动化和UI测试自动化。单元测试自动化调用测量的类或方法,根据类或方法的参数传递相应的参数并返回结果。最终断言判断返回的结果是否与预期结果相等。相等,测试通过,不相等,测试失败。因此,在单元...

  • 回答 19

    1、具备计算机操作基础2、软件测试基础理论知识。3、对于常用的数据库,简单的操作要具备。学习数据库可以自己安装一个数据库,常练习。4、具备一定的逻辑推理能力:这点主要偏向于写测试用例。测试用例是软件测试的核心。写测试用例,可以参考网络一些比较经...

  • 回答 9

    可以根据项目需要进行选择 1.模块化框架(test script modularity)。 2.函数库结构框架(test library architecture)。 3.关键字驱动测试框架(keyword-driven/table-driven testing)。 4.数据驱动测试框架(data-driven testing)。...

  • 软件测试都学什么呀2020-03-11 11:17
    回答 15

    嗯 ,软件测试入门容易,零基础也能学会,下面我给你讲一下学习的具体内容:先第一个阶段主要学习软件测试核心理论:软件测试方法和分类都有什么,白盒测试、黑盒测试、单元测试、集成测试、系统测试、负载测试、兼容性测试等等,还有当下的热门领域测试技巧...

  • 回答 7
    已采纳

    自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入...

  • 回答 10

    自动化测试工具有如下几种:1、WinRunnerMercury Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的...

  • APP自动化测试思路2021-01-28 11:12
    回答 12

    1、需求分析测试都是基于需求,所以首先我们需要先理清楚需求,划分之后找到实现的关键点。自动化测试就是实现机器完成测试需求的关键点的一系列操作,并且在脚本的实际运行中添加需要的业务逻辑判断,实现测试自动化。根据脚本的具体实现,整理出打开文件测...

  • 回答 6

    1.分析测试需求测试需求其实就是测试目标,也可以看作是自动化测试的功能点。自动化测试是做不到100%盖率的,只有尽可能提高测试覆盖率。条测试需求需要设计多个自动化测试用例,通过测试需求分析判定软件自动化测试要做到什么程度。一般情况下,自动化测试优...

  • 回答 7

    第一,需求稳定,不会频繁变更第二,研发和维护周期长,需要频繁执行回归测试第三,需要在多种平台上重复运行相同测试的场景。第四,某些测试项目通过手工测试无法实现,或者手工成本太高。第五,被测软件的开发较为规范,能够保证系统的可测试性。另外,某些...

  • 回答 14

    自动化测试对于软件测试工程师来说十分重要。是软件测试人员必备技能。自动化测试框架是为自动化测试脚本提供执行环境的脚手架。框架为用户提供了各种优势,帮助他们有效地开发、执行和报告自动化测试脚本。它更像是一个专门为自动化组织的测试而创建的系统。...

  • 回答 7

    自动化测试的成本高,效果差,是一个相对的,而针对某些具体项目,是必须要接入自动化测试的。首先说一些什么时候会需要自动化测试首先咱们讨论这个问题之前要带着一个疑问:决定要不要做自动化测试的因素有哪些?应该说时间才是一个衡量比重比较大的因素。假...

  • 回答 6
    已采纳

    Appium一款应用于移动端的自动化测试框架,支持跨平台应用,Native、Hybird、Mobile Web都支持。其特点概括一下:跨平台只要一套代码不需要设置签名,不污染源代码不需要项目源代码就可以测试多语言支持可支持多种通用框架完全开源,社区活跃appium应用场景...

  • 回答 4
    已采纳

    第一步,先要安装JDK并配置好相应的环境变量;第二步,下载、部署Android SDK,并配置环境变量。MonkeyRunner位于Android SDK下的tools目录,所以需要把这个目录加入操作系统环境变量PATH中。第三步,编写MonkeyRunner脚本。脚本中需要用到三个类,分别为Monk...

  • 回答 4
    已采纳

    1.monkey应用场景> monkey测试是Android平台自动化测试的一种手段,通过monkey程序模拟用户触摸屏幕、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常======================================异常:崩溃:XX应用停止运行无响应:闪退...

  • 回答 4
    已采纳

    首先我使用了百度搜索adb(Android Debug Bridge)安装包,接下来,我想共享这个安装包:https://pan.baidu.com/s/14SysAIZQhzYKZzQMikE2jQ拿到安装包,首先我把它解压到我的Android文件包里,接着,打开cmd(使用Win+R键--->cmd)点击确定按钮出现输入adb以...

没有解决我的问题,去提问