1、Chrome  F12

2、火狐插件Firebug F12

3、Fiddler工具

本文主要介绍Fiddler工具

1.为什么是Fiddler?

抓包工具有很多,小到最常用的web调试工具firebug,达到通用的强大的抓包工具wireshark.为什么使用fiddler?原因如下:

a.Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大。模拟http请求的功能也不够,且firebug常常是需要“无刷新修改”,如果刷新了页面,所有的修改都不会保存。

b.Wireshark是通用的抓包工具,但是比较庞大,对于只需要抓取http请求的应用来说,似乎有些大材小用。

c.Httpwatch也是比较常用的http抓包工具,但是只支持IE和firefox浏览器(其他浏览器可能会有相应的插件),对于想要调试chrome浏览器的http请求,似乎稍显无力,而Fiddler2 是一个使用本地 127.0.0.1:8888 的 HTTP 代理,任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler。

2.什么是Fiddler?

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

既然是代理,也就是说:客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过Fiddler然后发送到客户端,基于这个原因,Fiddler支持所有可以设置http代理为127.0.0.1:8888的浏览器和应用程序。使用了Fiddler之后,web客户端和服务器的请求如下所示:

Fiddler 作为系统代理,当启用 Fiddler 时,IE 的PROXY 设定会变成 127.0.0.1:8888,因此如果你的浏览器在开启fiddler之后没有设置相应的代理,则fiddler是无法捕获到HTTP请求的。如下是启动Fiddler之后,IE浏览器的代理设置:

以Firefox为例,默认情况下,firefox是没有启用代理的(如果你安装了proxy等代理工具或插件,是另外一种情况),在firefox中配置http代理的步骤如下:

工具->选项->高级->网络->设置  。并配置相应的代理如下:

就可以使用Fiddler抓取Firefox的HTTP请求了。

3.Fiddler使用界面简介

Fiddler主界面的布局如下:

主界面中主要包括四个常用的块:

1.Fiddler的菜单栏,上图绿色部分。包括捕获http请求,停止捕获请求,保存http请求,载入本地session、设置捕获规则等功能。

2.Fiddler的工具栏,上图红色部分。包括Fiddler针对当前view的操作(暂停,清除session,decode模式、清除缓存等)。

3.web Session面板,上图黄色区域,主要是Fiddler抓取到的每条http请求(每一条称为一个session),主要包含了请求的url,协议,状态码,body等信息,详细的字段含义如下图所示:

4.详情和数据统计面板。针对每条http请求的具体统计(例如发送/接受字节数,发送/接收时间,还有粗略统计世界各地访问该服务器所花费的时间)和数据包分析。如inspector面板下,提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息:

分为上下两个部分,上半部分是请求头部分,下半部分是响应头部分。对于每一部分,提供了多种不同格式查看每个请求和响应的内容。JPG 格式使用 ImageView 就可以看到图片,HTML/JS/CSS 使用 TextView 可以看到响应的内容。Raw标签可以查看原始的符合HTTP标准的请求和响应头。Auth则可以查看授权Proxy-Authorization 和 Authorization的相关信息。Cookies标签可以看到请求的cookie和响应的set-cookie头信息。

而composer面板下,则可以模拟向相应的服务器发送数据的过程(不错,这就是灌水机器人的基本原理,也可以是部分http flood的一种方式)。

也可以粘贴一次请求的raw http headers,达到模拟请求的目的:

Filter标签则可以设置Fiddler的过滤规则,来达到过滤http请求的目的。最简单如:过滤内网http请求而只抓取internet的http请求,或则过滤相应域名的http请求。Fiddler的过滤器非常强大,可以过滤特定http状态码的请求,可以过滤特定请求类型的http请求(如css请求,image请求,js请求等),可以过滤请求报文大于或则小于指定大小(byte)的请求:

5、

Fiddler比较重要且比较强大的功能之一。可用于拦截某一请求,并重定向到本地的资源,或者使用Fiddler的内置响应。可用于调试服务器端代码而无需修改服务器端的代码和配置,因为拦截和重定向后,实际上访问的是本地的文件或者得到的是Fiddler的内置响应。当勾选allow autoresponser 并设置相应的规则后(本例中的规则是将http://blog.csdn.net/ohmygirl的请求拦截到本地的文件layout.html),如下图所示

然后在浏览器中访问http://blog.csdn.net/ohmygirl,得到的结果实际为:

这刚好是本地layout.html的内容,说明请求已经成功被拦截到本地.当然也可以使用Fiddler的内置响应。下图是Fiddler支持的拦截重定向的方式:

因此,如果要调试服务器的某个脚本文件,可以将该脚本拦截到本地,在本地修改完脚本之后,再修改服务器端的内容,这可以保证,尽量在真实的环境下去调试,从而最大限度的减少bug发生的可能性。

不仅是单个url,Fiddler支持多种url匹配的方式:

I. 字符匹配

如 example可以匹配 http://www.example.com和http://example.com.cn

II. 完全匹配

以EXACT开头表示完全匹配,如上边的例子

EXACT:http://blog.csdn.net/ohmygirl

III. 正则表达式匹配

以regex: 开头,使用正则表达式来匹配URL

如:regex:(?insx).*\.(css|js|php)$  表示匹配所有以css,js,php结尾的请求url

接口测试工具之抓包工具介绍相关推荐

  1. 全网最全最细的CSDN【top1】接口测试工具Fiddler抓包工具总结

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

  2. http android下载工具,安卓抓包工具httpcanary

    httpcanary3.2.5是最新退出的一款专为移动端打造的抓包工具,使用这款App,您将能够非常非常方便的测试Rest API接口请求.同时,HttpCanary提供了各式各样的数据浏览功能,比如 ...

  3. python网络抓包工具_抓包工具 Charles 用法详解

    前言 抓包工具第一篇文章我们讲过,主要有 Charles 和 Fiddler,关于 Fiddler 抓包 APP 的,我之前写过一篇文章:Fiddler抓包APP教程,Fiddler 抓包 App 请 ...

  4. mitmproxy 中间人代理工具,抓包工具,linux抓包工具 mitmproxy 使用

           mitmproxy是一个支持HTTP和HTTPS的抓包程序,类似Fiddler.Charles的功能,可以在linux以命令行形式的展示抓包信息 mitmdump:它是mitmproxy ...

  5. 工具 串口抓包工具 AccessPort

    下载链接 免费,下载解压后即可运行 抓包串口 先选取需要抓包的串口 开启监控 再打开串口,向监控的端口发送数据即可抓包

  6. 【工具】抓包工具 Fiddler 使用教程

    ⭐️ 本文首发自 前端修罗场(点击即可加入),一个专注 Web 技术.答疑解惑.面试辅导.职业发展的社区.现在加入,即可参与打卡挑战,和一群人一起努力.挑战成功即可获取一次免费的模拟面试机会,进而评估 ...

  7. 【软件测试】2021年软件测试领域常用工具总结(1)-抓包工具与单元测试工具篇

    前言 大家好,我是洋子,作为一名测试开发/软件测试工程师, 在进行软件测试的过程中,会用到测试工具去辅助测试,以提高测试工作的效率.今天就给大家介绍一下2021年软件测试领域当中的最流行,最实用的工具 ...

  8. 软件测试 | 手把手教你如何使用 Fiddler 抓包工具(电脑+手机端)

    嘿.大家好,我是4U: 做过 APP 测试的同学都会接触抓包工具,通过抓包工具可以获取到客户端与服务端接口的交互数据,在实际测试APP的过程中,我们往往会发现服务端返回 的参数字段错误.数据统计错误等 ...

  9. 软件测试 | 手把手教你如何使用 Charles 抓包工具(电脑+手机端)

    软件测试 | 手把手教你如何使用 Charles 抓包工具(电脑+手机端) 一.Charles简介 二.Charles下载与安装 三.Charles配置 (1)Charles-PC端的配置如下: (2 ...

  10. 【0基础学爬虫】爬虫基础之抓包工具的使用

    大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶.逆向相关文章,为实现从易到难全方位覆盖,特设[0基础学爬 ...

最新文章

  1. (Asp.Net)转载-用Powershell 建立IIS web site
  2. 【数据结构】二分查找
  3. UVA11292杀怪
  4. Java 进阶 ——2019 计划要读的书
  5. VTK:PolyData之SelectPolyData
  6. Linux系统运维成长记
  7. [matlab]斜阶梯式长条引起的重力异常计算
  8. java应用程序利用Exe4j打包exe文件
  9. mysql插入日期_初识MySQL
  10. 计算机应用基础第十一版答案,计算机应用基础 11.doc
  11. 增益带宽积(GBWP、GBW、GBP、GB)
  12. 法拉克机器人自动怎么调_发那科机器人的简单设置你知道吗
  13. 常见(MySQL)面试题(含答案)
  14. 跨省市跳槽,社保公积金处理办法
  15. Unity实现Text BestFit文本超框时再缩小字体
  16. 读书笔记:《结构思考力》基于目标定主题
  17. QQ群文件更改默认下载路径方法
  18. 使用Log日志 计算带宽流量峰值
  19. R语言和医学统计学:非参数检验的补充
  20. 计算机毕业设计谢辞怎么写,计算机论文致谢范文计算机专业本科毕业设计论文致谢写...

热门文章

  1. python的文件操作os_​Python:目录和文件的操作模块os.path
  2. input或者button type=submit,设置disabled属性后,无法提交代码到后台
  3. How-to: Do Statistical Analysis with Impala and R
  4. [BZOJ5285][HNOI2018]寻宝游戏
  5. 点击元素改变样式,再点击,又变回去,来回变
  6. atom无法安装插件的解决方法之一
  7. (笔记)电路设计(六)之稳压二极管的应用
  8. MyEclipse中背景颜色的设定
  9. 配置Nginx——在线生成配置文件
  10. WinForm AutoComplete 输入提示、自动补全