推广 热搜:   中国  公司  行业  设备  快速  企业  上海  未来  技术 

重庆做网站建设公司排名/百度网盟官网

   日期:2024-12-19     移动:http://www78564.xrbh.cn/mobile/quote/27079.html
  • Fiddler 是位于客户端和服务器端的 HTTP 代理

  • 目前最常用的 HTTP 抓包工具之一

  • 功能非常强大,是 web 调试的利器

    监控浏览器所有的 HTTP/HTTPS 流量

    查看、分析请求内容细节

    伪造客户端请求和服务器响应

    解密 HTTPS 的 web 会话

    全局、局部断点功能

    第三方插件

  • 使用场景

    接口的测试与调试

    线上环境调试

    web 性能分析

学习一件新事物,最好是知其然亦知其所以然,这样遇到问题心里有底,才不容易慌,下面就介绍下 Fiddler 抓包的原理。

也就是说浏览器的 HTTP 请求/响应都被代理到了系统的 8888 端口,被 Fiddler 拦截了。

下面开始对整个 Fiddler 的界面进行一个庖丁解牛

主要介绍上图中几个标了号的我认为比较常用的功能

1、Replay:重放选中的那条请求,同时按下 shift + R 键,可以输入重复发送请求的次数(这些请求是串行发送的)。可以用来做重放攻击的测试。

2、删除会话(sessions

3、继续打了断点的请求:打断点后请求会被拦截在 Fiddler,点击这个 Go 继续发送。打断点的方式是点击界面底部的空格,具体位置如下图所示

4、这个类似瞄准器的工具时用于选择抓取请求的应用:按住不放将鼠标拖放到目标应用即可

5、可用于查找某条请求,比如你知道请求参数里的某个字段,可以直接输入进行查找

6、编码解码工具,可以进行多种编码的转换,是个人觉得挺好用的一个工具,能够编码的格式包括但不限于 base64、md5 和 URLEncode 等

7、可以查看一些诸如本机 ip(包括 IPv4,IPv6) 等信息,就用不着去 cmd 里 输入ipconfig 查看了,如下图

  • 请求的状态码(result
  • 协议(protocol
  • 主机名(host
  • URL
  • 请求大小(body,以字节为单位
  • 缓存信息(caching
  • 响应类型(content-type
  • 发出请求的 Windows 进程及进程 ID(process

除了以上这些,我们还可以添加自定义列,比如想添加一列请求方法信息

  1. 点击菜单栏 -> Rules -> Customize Rules 调出 Fiddler scriptEditor 窗口
  2. 按下 ctrl + f 输入 static function Main() 进行查找
  3. 然后在找到的函数 Main 里添加
 
 
  1. 按下 ctrl + s 保存。然后就可以在会话列表里看到多出了名为 Method 的一列,内容为请求方法。
  1. 点击每一列的列表头,可以反向排序
  2. 按住列表头不放进行拖动,可以改变列表位置

在 QuickExec 下面的就是状态栏

  1. Capturing:代表目前 Fiddler 的代理功能是开启的,也就是是否进行请求响应的拦截,如果想关闭代理,只需要点击一下
    Capturing 图标即可
  2. All Processes:选择抓取的进程,可以只选浏览器进程或是非浏览器进程等
  3. 断点:按一次是请求前断点,也就是请求从浏览器发出到 Fiddler
    这停住;再按一次是响应后的断点,也就是响应从服务器发出,到Fiddler 这停住;再按一次就是不打断点
  4. 当前选中的会话 / 总会话数
  5. 附加信息

这个 tab 里都是些 http 请求的性能数据分析,如 DNS Lookup(DNS 解析时间)、 TCP/IP Connect(TCP/IP 连接时间)等。

以多种不同的方式查看请求的请求报文和响应报文,比如可以只看头部信息(Headers)、或者是查看请求的原始信息(Raw),再比如请求的参数是 x-www-form-urlencoded 的话,就能在 WebForms 里查看…

这是一个我认为比较有用的功能了,它可以篡改从服务器返回的数据,达到欺骗浏览器的目的。

此时,我们就可以通过 AutoResponder ,按照接口文档的返回实例,对返回的数据进行编辑,具体步骤如下

  1. 勾选上 Enable rules(激活自动响应器) 和 Unmatched requests passthrough(放行所有不匹配的请求

用法与 AutoResponder 类似,也是可以从会话列表里直接拖拽一个请求到上图红框中,然后对请求的内容进行修改即可。应用场景之一就是可以绕过一些前端用 js 写的限制与验证,直接发送请求,通过返回的数据可以判断后端是否有做相关限制,测试系统的健壮性。

过滤的筛选条件还有很多,比如据请求头字段里 URL 是否包含某个单词等,都很简单,一看便知,这里不再一一细说。

默认情况下,Fiddler 没办法显示 HTTPS 的请求,需要进行证书的安装

点击 ‘Tools -> Options…’ ,勾选上 ‘Decrypt HTTPS traffic’ (解密HTTPS流量)

点击 Actions 按钮,点击 ‘Reset All Certicicates’ (重置所有证书,之后遇到弹出的窗口,就一直点击 ‘确定’ 或 ‘yes’ 就行了。

查看证书是否安装成功:点击 ‘Open Windows Certificate Manager’ 打开 Windows 证书管理器窗口

现在会话列表就能成功显示 https 协议的请求了。

通过 ‘Rules -> Automatic Breakpoints’ 可以给请求打断点,也就是中断请求,断点分为两种

Before Requests(请求前断点:请求发送给服务器之前进行中断
After Responses(响应后断点:响应返回给客户端之前进行中断

这样打断点是全局断点,即所有请求都会被拦截,下面介绍局部断点。

如果只想对某一条请求打断点,则可以在 QuickExec 输入相应的命令执行。

请求前断点

在 QuickExec 输入 bpu query_adverts 。注意:query_adverts 为请求的 url 的一部分,这样就只有 url 中包含 query_adverts 的请求会被打上断点。

按下 Enter 键,可以看到红框中显示 query_adverts 已经被 breakpoint 了,而且是 RequestURI

选中 url 中带 query_adverts 的这条请求,按 R 再次发送,在发给服务器前就会被中断(原谅我又拿掘金的请求做例子~

取消断点:在 QuickExec 输入 bpu 按下 Enter 即可

响应后断点

再次刷新网页会感觉回到了拨号上网的年代,可以测试网站在网速很低的情况下的表现。

最后一部分主要内容是关于手机抓包的,我用的是小米手机 9,MIUI 12.5.1 稳定版,安卓版本为 11。

首先保证安装了 Fiddler 的电脑和手机连的是同一个 wifi
在 Fiddler 中,点击 ‘Tools -> Options…’ ,在弹出的 Options 窗口选择 Connections 标签,勾选 ‘Allow remote computers to connect’

手机打开 ‘设置 -> WLAN -> 连接的那个 WLAN 的设置’ 进入如下图所示的页面

‘代理’ 选择 ‘手动’,‘主机名’ 填写电脑的主机名,端口则是 Fiddler 默认监听的 8888,然后点击左上角的 ‘打钩图标’ 进行保存
下载证书:打开手机浏览器,输入 ‘http://192.168.1.1:8888’ (注意:192.168.1.1 要替换成你电脑的 ip 地址,会出现如下页面

点击红框中链接进行证书的下载

安装证书:打开 '设置 -> 密码与安全 -> 系统安全 -> 加密与凭据 -> 安装证书(从存储设备安装证书)-> 证书 ’ 找到刚刚下载的证书进行安装

安装完成可以在 ‘加密与凭据 -> 信任的凭据’ 下查看

现在 Fiddler 就可以抓到手机里 app 发送的请求了
最后注意:测试完毕需要关闭手机的 WLAN 代理,否则手机就上不了网了~

双击某一条请求:打开该请求的 Inspectors 面板
ctrl + X:清除请求列表
R:选中某一条请求,按 R 键可重新发送该请求
shift+delete:删除除了选中那一条之外的请求

给大家推荐下我自己建的软件测试交流学习群: 902061117 ,群里都是搞软件测试的,如果你正在学习测试 ,小编欢迎你加入,大家都是测试党,群内不定期分享干货(都是软件测试相关的,包括我自己整理的一份2021最新的进阶自动化资料。

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你

关注我的微信公众号【伤心的辣条】免费获取~

世界的模样取决于你凝视它的目光,自己的价值取决于你的追求和心态,一切美好的愿望,不在等待中拥有,而是在奋斗中争取。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧

测试岗反复跳槽,跳着跳着就跳没了…

软件测试人员该学习 Python 的七个理由

App公共测试用例梳理

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

本文地址:http://www78564.xrbh.cn/quote/27079.html    迅博思语 http://www78564.xrbh.cn/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关最新动态
推荐最新动态
点击排行
网站首页  |  二维码  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号