百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 软件资讯 > 正文

【干货】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

方法三:思考:是否有其他的方法?

相关推荐

让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表示,谷歌计...