【干货】Fiddler 常用功能介绍一(收藏)
ninehua 2024-11-17 19:53 47 浏览
本文介绍在工作中常用的技能功能,具体得参考最新软件为主,建议可以打开软件对比,具体功能得日常使用中常用才会牢记。
一些常用技能,分享如下(后续继续分享):
1、Fiddler清空Web Sessions列表
方法有下列四种:
QuickExec输入cls
CTRL+X
CTRL+A 再del
工具栏X ->Remove all
2、Fiddler屏蔽Tunnel to 请求
菜单栏Rules->Hide CONNECTS,直接屏蔽Tunnel to
关于http tunnne介绍
对象(包含两部分):
(1)、server端程序;
(2)、client端程序;
如果服务器不支持http tunnel,那么就需要安装http tunnel server端的程序,客户端不支持http tunnel,那么客户端就需要安装http tunnel client程序。
前提:
(1)、在受限制的网络环境中(防火墙、NAT、代理器);
(2)、客户端无法直接访问某些网络;
一般情况下,由于http tunnnel可控性不强,所以,服务器通常会限制”可connect的端口”(一般只开放SSL的443端口)。
原理,以访问百度为例:
因为fiddler作为代理,在访问百度网页时(使用了https协议),满足了connect条件,所以客户端会使用connect方法和目标服务器建立http tunnel,connection建立完成,后续fiddler会转发、接收所有的tcp stream,所以访问 https://www.baidu.com 之前出现了tunnel to www.baidu.com:443。
connect 为了建立http tunnel,connect是http众多方法中的其中一种,它跟post、get、put、options方法是并列的。
3、Fiddler指定抓取程序Any Process
Any Process/pick target...:任何你要监听的进程(程序),精准定位。
当点击上面的Any Process图标并将其移动到指定浏览器页面(或者其他程序界面)后,会单独记录这个页面的通信情况,只能监听一个程序,再点击一次把心图标,则取消监听。
使用后,如下显示,可以通过windwos 的任务管理器看到。
思考:如何用Fiddler指定抓取多个程序Any Process?
4、Fiddler查看QuickExec限制请求
使用bpu www.baidu.com之后,连接是限制请求了,在命令行重新输入bpu会自动匹配。
思考:是否有其他方式查看?
5、Fiddler抓取HTTPS数据
第一步:如果是Fiddler证书有问题,可以通过重置,然后获取。
先打开Tools->Options->HTTPS,勾选上Capture HTTPS CONNECTs和Decrypt HTTPS traffic,再Actions>>Reset All Certificates(后续看提示操作)
第二步:信任根证书HTTPS>>Actions>>Trust Root Certificate
第三步:重启fiddler
第四步:如果还不抓取HTTPS的请求,则可以把Fiddler的证书导出来,直接导入到浏览器去。
第五步:以谷歌浏览器为例,打开浏览器,进入设置页面,点击【隐私和安全】->【安全】->【管理证书】->【受信任的根证书颁发机构】->【导入】。
第六步:找到刚才导出的Fiddler证书,导入到浏览器中去。
第七步:再Actions>>Reset All Certificates,如不行,再重启Fiddler。
思考:证书是如何工作的及原理?电脑端应用程序HTTPS的如何抓包?
6、Fiddler抓WebSocket协议
打开Fiddler,点开菜单栏的Rules > Customize Rules...
在class Handlers中加入以下代码
static function OnWebSocketMessage(oMsg: WebSocketMessage) {
// Log Message to the LOG tab
FiddlerApplication.Log.LogString(oMsg.ToString());
}
保存后就可以在Fiddler右边栏的Log标签里,看到WebSocket的数据包。
7、Fidder增加Web Sessions列表的列
有两种方法,可共大家参考,一种是靠代码,一种是界面操作,分别如下:
(1)、Fiddler增加一列查看接口响应时间Time Taken,class Handlers添加。
打开Fiddler,点开菜单栏的Rules > Customize Rules...
在class Handlers中加入以下代码:
function BeginRequestTime(oS: Session){
if (oS.Timers != null)
{ return oS.Timers.ClientBeginRequest.ToString();
} return String.Empty;
}
public static BindUIColumn("Time Taken")
function CalcTimingCol(oS: Session){
var sResult = String.Empty;
if ((oS.Timers.ServerDoneResponse > oS.Timers.ClientDoneRequest))
{sResult = (oS.Timers.ServerDoneResponse - oS.Timers.ClientDoneRequest).ToString();
} return sResult;
}
重启Fiddler就可以了
(2)、Fiddler增加一列,增加requestmethod,右键添加。
刚开始是默认没有RequestMethod这一列的
添加步骤:
1、在该横栏的空白处右键,如图
2、选择Customize colimns,会跳转如下:
3、出来窗口,在cllection里选择最后的Miscellaneous,在field name处选择 RequestMethod
4、直接点击【Add】,即可添加成功。
8、Fiddler模拟慢网速/弱网
主要有以下几种方法:
方法一:CustomizeRule修改代码
Rules—>CustomizeRule,搜索“request-trickle-delay/m_SimulateModem”(每上传/下载1KB)
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";
}
request-trickle-delay代表每KB的数据被上传时会被延时多少毫秒
response-trickle-delay则对应下载时每KB的数据会被延时多少毫秒
注意:Rules—>Performances—>Simulate Modem Speeds勾选后以上设置才会生效。
方法二:winform表单来为插件开发界面
可以使用c#类库项目,引用fiddler的Inspector的插件对象,继承IAutoTamper类,重载onload方法与AutoTamperRequestBefore方法。
Onload:是fiddler在装载此插件时回调的方法,AutoTamperRequestBefore与fiddlerscript的onbeforerequest回调事件功能相同,都可以在request前请求自定义逻辑。
通过winform表单来为插件开发界面,再通过用户配置的下载速度与上传速度来推算出下载每kb/s与上传每kb/s所delay的时间。
从而调用与fiddlerscirpt同样实现的接口
oSession["request-trickle-delay"] = [delay time];
oSession["response-trickle-delay"] = [delay time];
注意:下载Willow的地址:http://qzonetouch.github.io/commonWidget/willow
方法三:思考:是否有其他的方法?
- 上一篇:手机模拟弱网测试-fiddler使用
- 下一篇:fiddler界面介绍
相关推荐
- 让Mac也能读取Android设备文件(mac系统能读取win的文件么)
-
由于苹果的iOS和谷歌的Android系统属于竞争关系,因此苹果的电脑系统MacOSX并不支持MTP协议,这就使得通过USB将Android设备连接到Mac电脑上无法识别,更别说读取里面的文件了。...
- 抛弃Windows吧!谷歌推免费Chrome系统,一个U盘就搞定
-
在目前的个人电脑上,最主流的系统当然是Windows,不过除了Windows之外,我们也可以选择购买苹果的电脑,使用苹果的MacOS系统。不过除了苹果和微软的系统之外,实际上谷歌也有自己用于个人电脑...
- 安卓版Apple Music应用正式上架Google Play
-
IT之家讯11月11日消息,苹果今天正式推出了安卓版AppleMusic应用(测试版),用户可在谷歌应用商店GooglePlay进行下载。AppleMusic最初只提供给Mac、iPhone和...
- Mac 基于HTTP方式访问下载共享文件,配置共享服务器
-
方法一:使用Python的SimpleHTTPServer进行局域网文件共享Mac自带Python,所以不需要安装其他软件,一条命令即可1):进入需要共享的文件夹,如Public文件夹cd/Us...
- 谷歌 Gmail 现可设置为 iOS 14/iPadOS 14 默认邮件应用
-
IT之家9月22日消息据外媒MacRumors报道,苹果iOS14与iPadOS14允许用户将第三方应用设置为iPhone和iPad的默认浏览器应用。目前,用户还可以将第三方...
- 终于免费了!谷歌地球专业版下载(谷歌地球专业版多少钱)
-
IT之家(www.ithome.com):终于免费了!谷歌地球专业版下载IT之家讯1月31日消息,谷歌地球专业版GoogleEarthPro现在完全免费了。在此之前,要使用这款专业版的谷歌地球需要...
- 谷歌计划将于11月发布64位Mac版Chrome
-
投稿by:hnn072来源:威锋网PostTime:2014-09-1523:51:55以下为文章全文:威锋网9月15日消息,日前,谷歌公司在官方博客中正式宣布,谷歌将在今年11月发布的...
- Google首次推出beta版的64位Mac Chrome浏览器
-
在宣布Windows版的64位Chrome进入稳定版(Chrome37)2天之后,Google刚刚又发布38版的Chromebeta版,除了增加新的用户档案切换界面并引入G...
- YouTube应用下载全攻略:安卓、iOS及视频下载指南
-
#哪些网站帮你打开了新世界的大门?#YouTube是全球最大的视频分享平台,拥有数十亿用户。它允许用户上传、分享和观看视频,涵盖娱乐、教育、新闻、音乐、博客、游戏等各类视频。通常,您可以使用You...
- MaterialDesign来袭!iOS谷歌浏览器更新!
-
今日,谷歌发布了最新的iOS版Chrome浏览器应用升级,在新版本中该应用添加了最新的MaterialDesign界面,并增加了在iOS设备和Mac中快速无缝切换浏览内容的Handoff特性支持。最...
- 谷歌为Canary/Dev分支Mac版Chrome浏览器64位支持
-
【巴士速递·移动情报站】上周,谷歌为Windows7和8系统用户推出了64位版本的Chrome浏览器Beta测试版。现在,谷歌悄悄的为Canary和Dev分支Mac版Chrome浏览器增加了64位支...
- 谷歌发布64位Chrome for Mac 首个测试版
-
投稿by:水木之向来源:威锋网PostTime:2014-08-2921:52:52以下为文章全文:威锋网8月29日消息,在发布64位ChromeforWindows之后,谷歌日...
- Google Stadia首发支持设备中确认有Pixel 4和Pixel 2系列
-
2019-10-3110:20谷歌今天宣布扩充GoogleStadia的首发支持设备规模,继Pixel3系列、Pixel3a系列之外还添加了Pixel4系列和Pixel2系列四款机型。据...
- 64位谷歌浏览器Chrome 11月登陆苹果OS X
-
IT之家(www.ithome.com):64位谷歌浏览器Chrome11月登陆苹果OSX谷歌将于11月正式发布非beta版的、苹果OSX系统的64位谷歌浏览器,谷歌于一个月前曾推出beta版的...
- 外媒:谷歌推出了搭载苹果M1芯片Mac的Chrome版本
-
据外媒TheVerge消息,谷歌日前为苹果的ArmMacs发布了Chrome的本地版本。不过该版本原本是在周二开始推出,但由于意外崩溃而暂停了。Chrome产品经理MarkChang表示,谷歌计...