《四》(1)抓包工具fiddler

1、fiddler抓包原理

        Fiddler 是一个 HTTP 协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的 HTTP 通讯。Fiddler 提供了电脑端、移动端的抓包、包括 http 协议和 https 协议都可以捕获到报文并进行分析;可以设置断点调试、截取报文进行请求替换和数据篡改,也可以进行请求构造,还可以设置网络丢包和延迟进行 APP 弱网测试等。一般而言,fiddler用于手机端抓包较多。

2、fiddler安装与配置

(1)下载

官网:Fiddler | Web Debugging Proxy and Troubleshooting Tools

下载网址:Download Fiddler Web Debugging Tool for Free by Telerik

这样就下载完成啦;

(2)安装

打开下载的exe文件,根据提示进行安装;

(3)打开报错

问题描述

        之前安装过fiddler后来卸载了,今天需要用到刚再次安装好,就报错Machine-wide Progress Telerik Fiddler Classic installation has saz.icobeen found at D:\搜狗高速下载 Fiddler2\ . Please, use that one or uninstall it before starting the per user Fiddler installation.

提示无法安装,某文件夹中已经有Fiddler2,提示需要卸载之前的,但是在提示文件夹中却没有。这种情况是上一次卸载是时注册表没有删除干净,需要删除注册表。

解决办法

1win+R,输入regedit打开注册表

2、找到HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Fiddler2,右键删除

3、找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fiddler2,右键删除

4、删除注册表以后,重新打开Fidder,成功打开

3、fiddler使用方法

(1)手工调用接口

(2)抓取PC端数据包

(3)抓取手机端数据包

        ①由于fiddler是一个代理请求工具,它需要配置自己的代理;

        ②保证手机与fiddler所在pc处于同一网段;

        ③打开pc端命令行(win+R,输入cmd),输入ipconfig,查看本地pc的ip,并记录;

        ④手机端wifi配置代理,代理ip为本地pc的ip,端口为fiddler所配置的port,默认8888;

        ⑤打开手机端浏览器,输入pc端的ip:port,会提示安装证书,此时根据提示安装安全证书,一般而言,安装证书需要进入手机系统的设置进行安全安装;

        ⑥安装成功后,pc的fiddler可以正常进行抓包操作;

(4)拦截请求与拦截响应

        fiddler中,可以正常抓到协议包,一般而言是http与https的网络包,当我们需要mock数据请求时,就需要进行拦截操作;

        所谓拦截,这里包括两种情况,第一种情况,当fiddler抓到对应请求,假设我们需要模拟请求发送异常的情况,fiddler进行操作拦截,然后通过修改参数或者直接发送异常请求进行转发,达到发送异常的效果;第二种情况,当fiddler收到服务端的响应后,假设我们需要模拟请求正常,但是服务器接口异常,这里我们就需要配置fiddler进行拦截服务端的响应,修改错误的参数或者转发错误的响应结果返回给客户端,这时,客户端就会收到服务端异常的消息,从而达到我们模拟的结果。

        这里的拦截,也就是我们常说的断点,fiddler是支持断点操作的,如下图:

        往往这种情况是针对为某一个服务打断点,也就是说同一个域名设置断点,拦截对应域名的断点,但是在工作中,还遇到过同一个域名下不同路径的断点,也就是局部断点,这里就需        要做以下操作:

①在fiddler中打开:rules菜单,然后选择:cutomize rules;

②在打开的编辑器中,找到:OnBeforeRequest方法;

③在该方法代码块中,添加以下类似代码片段:

if (oSession.host=="example.com" && oSession.PathAndQuery=="/specific-path"){
    oSession["ui-color"]="yellow";
    oSession["x-breakrequest"]="uri";
}

注意将:example.com替换成你想要设置断点的服务器host,将:/specific-path替换成你想要设置为断点的具体路径;

④保存脚本,并关闭脚本编辑器;

⑤确保fiddler正在监听请求,并使用你设置的host和指定路径进行请求;

⑥当fiddler捕获到匹配设置断点的请求时,它将使用:ui-color属性将其突出显示,并自动暂停请求;

请注意,显示为黄色的请求表示已设置的断点。通过这种方式,你可以在fiddler中设置同一个host下的特定接口为断点,而不会影响其他接口。

(5)包过滤

        往往用fiddler抓取的网络包有很多,想要快速查看自己想要的包,就需要设置过滤;如下,只需要在输入框中输入自己想要过滤的域名即可;

  • 42
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值