学习笔记:Fiddler抓包工具使用

一、Fiddler工作原理

        Fiddler能记录所有客户端和服务器的http和https请求。允许你监视、设置断点、修改输入输出数据等。

       Fiddler是以代理web服务器的形式工作的,代理地址默认是127.0.0.1,端口8888。当浏览器输入访问地址进行搜索,会发送一个请求,这个请求会先经过fiddler,然后再到服务器,同样,服务器返回数据也会先经过fiddler,然后再到浏览器,这样就完成了抓包过程。

二、抓取APP包

1)抓取http请求

步骤1:确认手机等移动端和电脑处于同一个局域网中,记录下当前电脑的ip地址;

步骤2: Fiddler设置,在Tools > Options >Connections,勾选Allow remote computers to connect选项,如下图所示:

步骤3:手机移动端设置代理,方法:以安卓系统为例,找到手机连接的WiFi,长按点击修改网络,勾选“显示高级选项”,代理设置为“手动”,输入服务器主机名和服务器端口,然后保存后操作手机就可以抓到包了。

 2)抓取APP的https请求

想要抓取https请求必须要在手机上安装证书!

步骤1:打开Fiddler,在Tools >Options > HTTPS,勾选Decrypt HTTPS traffic选项,保存

步骤2:下载证书,手机上打开浏览器,输入 http://192.168.xx.xx:8888,点击下方蓝色字体可直接下载证书

下载完成之后,点击证书,进行安装,安装成功之后就可以正常抓https请求了。

三、浏览器抓取Https包

浏览器想要抓取Https包也需要安装证书,否则浏览网页会无法访问

打开Fiddler,在Tools >Options > HTTPS,如下图所示,点击信任证书,可直接自动导入证书到电脑中;

之后在浏览器中管理证书中可以看到导入的证书

 3)浏览器访问网页,查看结果

 四、遇到过的问题及解决方法:

问题1:配置好了之后还是抓取不到https请求解决方法:

1、删除电脑上的所有fiddler证书;

2、然后去官网搜索下载一个Fiddler CertMaker.exe文件,执行一下,就是下图这个
Add Ons for Telerik Fiddler Web Debugging Proxyicon-default.png?t=O83Ahttps://www.telerik.com/fiddler/add-ons

3、点击下载,然后运行文件

 4、浏览器重新导入证书即可正常抓包(参考以上第三点)

问题2:win7系统弹框提示 creation of the root certificate was not successful 解决方法

1.打开cmd 命令行   进入fiddler的安装目录  如:

cd C:\Users\yyz\AppData\Local\Programs\Fiddler

2、执行以下命令

makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com" -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 22/11/2099

注意:命令最后的日期 22/11/2099 一定要大于当前日期,否则创建证书是过期的!

3、重新启动fiddler就好了。

、数据拦截和篡改

1、拦截请求数据并篡改

1、开启断点,选择 Rules ->Automatic Breakpoints ->Before Requests

2、发送请求,拦截成功后双击左侧数据,如下图所示

3、修改请求参数后,点击“Run to Completion”按钮即把被篡改的数据发给服务端

2、拦截相应数据并篡改

方法同理

1、开启断点,选择 Rules ->Automatic Breakpoints ->After Responses

2、发送请求,拦截后修改返回的响应数据,例如状态码,msg等

3、点击“Run to Completion”按钮,即把被篡改的响应数据发给客户端

遇到的问题:

问题1:抓取的接口返回出现 "Response body is encoded. Click to decode. ",如下图所示:

解决方法:选择 Rules > Remove All Encodings, 勾选即可

问题2:通过菜单选项或快捷键进行设置时,会将所有的HTTP请求都设置断点,但有时我们只想针对某个服务器发出的请求设置断点,应该怎么操作呢?

解决方法:Fiddler是支持命令操作的,我们可以通过“bpu 服务器地址”命令来对特定的请求设置断点,通过 “bpafter 服务器地址”来修改特定的响应数据

如下图输入命令: bpu 192.168.x.x,然后回车

如下图所示即代表命令已执行成功,只有host为对应的地址的请求才会被拦截

如果要清除原来的断点,可以在命令行输入 bpu,就会清除所有的断点

六、导出jmeter脚本

1、选择 File -> Export Sessions -> Selected Sessions

2、选择导出jmeter .jmx格式文件

 

3、然后在jmeter中打开所导出的jmx文件即可,注意导出内容可能会出错,需要调试修改后才可用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值