Fiddler_抓包应用_01
1. 手机抓包配置
1.1. Fiddler配置
Tools->Options

抓取https的请求:

查看Fiddler端口

1.2. 获取Fiddler 所在IP
(1) 可通过fiddler右上角Online下查看
(2) 也可通过电脑上ipconfig查看

1.3. 手机设置代理
1.3.1. Android手机
Step1、设置->无线和网络->选择WLAN(应与Fiddler在同一网络)
Step2、修改网络->显示高级选项->代理->手动,填写fiddler所在IP和 端口(默认8888)

1.3.2. iOS手机
Step1、设置->无线局域网->选中网络(应与Fiddler在同一网络)->配置代理

1.4. 手机安装证书
打开手机浏览器访问Fiddler-IP:8888,下载并安装.crt证书

特殊情况:
1.ios10以上系统,需要在设置->通用->关于本机,信任安装的证书
1.5. 手机操作后,fiddler抓取请求

2. 其他常用
2.1. 添加Server IP
(1) .Rules->Customize Rules
(2) 搜索Main函数
(3) 添加FiddlerObject.UI.lvSessions.AddBoundColumn("Server IP", 120, "X-HostIP");

Fiddler是可以看到Server IP了

2.2. 添加响应时间
抓取的请求中显示响应时间,效果如下

在FiddlerScript中添加脚本如下:

public static BindUIColumn("TimeTaken/ms", 120)
function TimeTaken(oS: Session):String{
var sResult = "0";
var t1_ms = oS.Timers.ClientBeginResponse.ToUniversalTime().Millisecond;
var t1_m = oS.Timers.ClientBeginResponse.ToUniversalTime().Minute;
var t1_s = oS.Timers.ClientBeginResponse.ToUniversalTime().Second;
var t1 = t1_m*60*1000 + t1_s*1000 + t1_ms ;
var t2_ms = oS.Timers.ClientDoneRequest.ToUniversalTime().Millisecond;
var t2_m = oS.Timers.ClientDoneRequest.ToUniversalTime().Minute;
var t2_s = oS.Timers.ClientDoneRequest.ToUniversalTime().Second;
var t2 = t2_m*60*1000 + t2_s*1000 + t2_ms ;
if(t1 >= t2){
var t3 = t1 - t2;
sResult = t3.toString();
}
return sResult;
}
2.3. 修改请求参数
场景:手机APP登录使用token认证方式,模拟token失效后代码如何处理。使用Fiddler抓包并修改其中请求参数构造token失效场景。
2.3.1. 添加断点
此例为修改发送给服务端的参数,观察服务端响应
1.Rules->Automatic Breakpoints->Before Requests

2.3.2. 修改参数值
在pc或APP上操作,选择fiddler获取的URL,然后选中修改其中的值;再点击“Run to Completion”

2.4. Fiddler弱网测试
Fiddler模拟限速是通过延迟发送数据或接收数据的时间来限制网络的下载速度和 上传速度,从而达到限速的效果。
Step1、Tools->Options 如下设置

Step2、Rules->Customize Rules.. 更改如下代码,
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = "300";
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = "150";
}

Step3、勾选 Rules->Performance->Simulate Modem Speeds 模拟调制解调器的速度
Step4、设置完成后,清空原有的log,并使用你的app进行弱网条件下的操作,
选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化

Step5、不同请求耗时多少的图形表,获取那种资源耗时最大,进而进行优化:

2.5.限制抓取范围
Tool->Options
可以设置只抓取浏览器、非浏览器、或远程客户端的包

3. 常见问题
3.1. Fiddler无法抓包
方法一:Fiddler查看help->about .net版本,4.6以上可抓包
方法二:重置Fiddler所有证书,手机端重新安装证
Step1、重置证书:注意不要删除根存储区证书

不要删除根存储区证书

Step2、安装证书

一路yes
Step3、手机安装证书: 浏览器访问Fiddler-IP:8888
Step4、还不可以的话重启fidder
3.2. 手机配置代理后连不上网
Fiddler-->tools->Options 勾选 Allow Remote computers to connect

3.3. Fiddler响应乱码
点击 Request body is encoded. Click to decode.

Fiddler_抓包应用_01的更多相关文章
- 【爬虫】网页抓包工具--Fiddler--Request和Response
[爬虫]网页抓包工具--Fiddler Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888, ...
- android http 抓包
有时候想开发的时候想看APP发出的http请求和响应是什么,这就需要抓包了,这可以得到一些不为人知的api,比如还可以干些“坏事”... 需要工具: Fiddler2 抓包(点击下载) Android ...
- charles工具抓包教程(http跟https)
1.下载charles 可以去charles官网下载,下载地址:http://www.charlesproxy.com/download/ 根据自己的操作系统下载对应的版本,然后进行安装,然后打 ...
- 从Fiddler抓包到Jmeter接口测试(简单的思路)
备注:本文为博主的同事总结的文章,未经博主允许不得转载. Fiddler下载和配置安装 从网上下载fiddler的安装包即可,直接默认,一直点击下一步,直至安装完成. 安装完成后直接打开Fiddler ...
- 逆向工程 - Reveal、IDA、Hopper、HTTPS抓包 等
目录: 一. iOS 如何做才安全 二.ipa文件 三.沙盒 中的数据 四.Reveal:查看 任何APP 的UI结构 五.反编译工具:IDA 六.反编译工具:Hopper Disassembler ...
- CatchPacket网络抓包软件
CatchPacket网络抓包软件 qq 22945088431.技术特点:基于WinPcap库,c# winform2.实现获取机器所有网卡,可任意选择监听3.可以捕获常见网络协议arp dns ...
- mac 抓包工具charles v3.9.3 安装破解步骤
一.下载 先到它的官网http://www.charlesproxy.com/可下载到最新版本,这个下载有点慢,我已经将它放到网盘中了:http://pan.baidu.com/s/1skTXRIl ...
- 运维之网络安全抓包—— WireShark 和 tcpdump
------------------------------------------------本文章只解释抓包工具的捕获器和过滤器的说明,以及简单使用,应付日常而已----------------- ...
- Jmeter实现登录bugfree、新建bug、解决bug脚本(抓包工具实现)
环境 Chrome jmeter3.1 fiddler4 win7 32位 Linux CentOs6.4 bugfree3.0.1 链接:http://pan.baidu.com/s/1gfHpbp ...
随机推荐
- WPF 之 调用线程必须为 STA,因为许多 UI 组件都需要
WPF中,代码中准备控制控件内容时,有时会报错:“ 调用线程必须为 STA,因为许多 UI 组件都需要 ”. 如在winform下面,使用多线程时,控件的值读取是可以的,但如果要更改,那么就必须进行一 ...
- Excel VBA入门(8): 代码调试/错误处理/代码优化
VBE有丰富的调试工具, 比如立即窗口, 本地窗口, 监视窗口, 断点调试... 第一个博文中已经讲过调试的基本操作: 设置断点, F5运行, F8逐条运行 断点就是程序中暂停停止运行的位置, 设置断 ...
- 二维前缀和好题hdu6514
#include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;i++) using namespace std; ]; )* ...
- Java Web 中使用ffmpeg实现视频转码、视频截图
Java Web 中使用ffmpeg实现视频转码.视频截图 转载自:[ http://www.cnblogs.com/dennisit/archive/2013/02/16/2913287.html ...
- Linux系统中yum 命令讲解
(一)yum介绍 Yum(全称为 Yellow dogUpdater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定 ...
- Codeforces 1097E. Egor and an RPG game 构造
原文链接https://www.cnblogs.com/zhouzhendong/p/CF1097E.html 题解 首先我们求出 $k = f(n) = \max\{x|\frac{x(x+1)}2 ...
- PSO:利用PSO算法优化二元函数,寻找最优个体适应度—Jason niu
figure [x,y] = meshgrid(-5:0.1:5,-5:0.1:5); z = x.^2 + y.^2 - 10*cos(2*pi*x) - 10*cos(2*pi*y) + 20; ...
- webpack实现开发、测试、生产等环境的打包切换
使用webpack构建的工程,在开发过程中不同环境的配置不同,在各种环境的打包切换过程中需要手动修改相关配置达到预期目的.但是每次都手动修改会比较麻烦,本文简单介绍如何通过对webpack进行配置,实 ...
- springboot集成springsession利用redis来实现session共享
转:https://www.cnblogs.com/mengmeng89012/p/5519698.html 这次带来的是spring boot + redis 实现session共享的教程. 在sp ...
- Mac_配置jdk环境变量
进入命令行 cd ~ touch .bash_profile vi .bash_profile 输入内容jdk变量配置内容: JAVA_HOME=/Library/Java/JavaVirtualMa ...