Fiddler是位于客户端和服务器之间的代理,也是目前最常用的抓包工具之一。它能够记录客户端和服务器之间的所有请求,可以针对特定的请求,分析请求数据,设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。
下载:打开官网
安装:
汉化:
Fiddler界面从上到下分为:菜单栏、工具栏、会话列表、功能标签、命令行,状态栏六大板块
file capturing = F12 = 左下角capturing
1、Capture Traffic:可以控制是否把Fiddler注册为系统代理。
2、New Viewer:打开一个新的fiddler窗口
3、Load Archive:用于重新加载之前捕获的以SAZ文件格式保存的数据包。
4、Save:支持以多种方式把数据包保存到文件中。
5、Import Sessions…:支持导入从其他工具捕获的数据包,也支持导入以其他格式存储的数据包。
6、Export Sessions…:把Fiddler捕捉到的回话以多种文件格式保存。
7、Exit:取消把Fiddler注册为系统代理,并关闭Fiddler
1、Copy:复制会话。
2、Remove:删除会话。
3、Select All:选择所有会话。
4、Undelete:撤销删除会话。
5、Paste as Session把剪贴板上的内容粘贴成一个或多个模拟的会话。
6、Mark:选择一种颜色标记选中会话。
7、Unlock for Editing 解锁会话。
8、Find Session…打开Find Session窗口,搜索捕获到的数据包。
1、Hide Image Request:隐藏图片回话。
2、Hide CONNECTS:隐藏连接通道回话。
3、Automatic Breakpoints:自动在[请求前]或[响应后]设置断点。Ignore Image触发器控制这些断点是否作用于图片请求。
4、Customize Rules…:打开Fiddler脚本编辑窗口。
5、Require Proxy Authentication:,要求客户端安装证书。该规则可以用于测试HTTP客户端,确保所有未提交Proxy-Authorization请求头的请求会返回HTTP/407响应码。
6、Apply GZIP Encoding:只要请求包含具有gzip标识的Accept-Encoding请求头,就会对所有响应使用GZIP HTTP进行压缩(图片请求除外)。
7、Remove All Encoding:删除所有请求和响应的HTTP内容编码和传输编码
8、Hide 304s:隐藏响应为HTTP/304 Not Modified状态的所有回话。
9、Request Japanese Content:选项会把所有请求的Accept-Encoding请求头设置或替换为ja标识,表示客户端希望响应以日语形式发送。
10、User-Agents:把所有请求的User-Agent请求头设置或替换成指定值。
11、performance:模拟弱网测试速度。
1、Options…:打开Fiddler选项窗口。
2、WinINET Options…打开IE的Internet属性窗口
3、Clear WinINET Cache:清空IE和其他应用中所使用的WinINET缓存中的所有文件。
4、Clear WinINET Cookies:清空IE和其他应用中所发送的WinINET Cookie
5、TextWizard…:选项会启动TextWizard窗口,对文本进行编码和解码。
6、Compare Session:比较回话。
7、Reset Script:重置Fiddler脚本。
8、Sandbox:打开http://webdbg.com/sandbox/
9、View IE Cache:打开IE缓存窗口。
1、Show Toolbar:控制Fiddler工具栏是否可见
2、DefaultLayout、Stacked Layout、Wide Layout三种界面布局
3、Minimize to Tray:最小化Fiddler到系统托盘(快捷键:CTRL+M)
4、Squish SessionList:控制回话列表是否水平收缩。
5、AutoScroll Sessionlist:添加新的回话时,自动滚动到回话列表底部
通过该页签,用户可以通过选择多个会话来得到这几个会话的总的信息统计,比如多个请求传输的字节数。访问页面时选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出那些请求耗时最多,从而对页面的访问进行速度性能优化。
它提供headers、TextView、hexview,Raw等多种方式查看一条http请求的请求和响应,它分为上下两部分:上部分为请求展示,下部分为响应展示。
它可以抓取在线页面保存到本地进行测试,大大减少了在线调试的困难,可以让我们修改服务器端返回的数据,例如让返回都是404的数据包读取本地文件作为返回内容。
支持手动构建和发送HTTP,HTTPS和FTP请求,我们还可以从回话列表中拖曳回话,把它放到composer选项卡中,当我们点击Execute按钮时则把请求发送到服务器端。
打开Fiddler脚本编辑。
log页签:
打印日志
过滤器可以对左侧的数据流列表进行过滤,我们可以标记、修改或隐藏某些特征的数据流。
时间轴,也称为Fiddler的瀑布图,展示网络请求时间的功能。每个网络请求都会经历域名解析、建立连接、发送请求、接受数据等阶段。把多个请求以时间作为X轴,用图表的形式展现出来,就形成了瀑布图。在左侧会话窗口点击一个或多个回话,Timeline 便会显示指定内容从服务端传输到客户端的时间。
help 打开官方的使用页面介绍,所有的命令都会列出来。
cls 清屏 (Ctrl+x 也可以清屏)
select 选择所有相应类型的回话(如select image或select css)。
sometext 查找字符串并高亮显示查找到的会话。
size 选择请求响应大小小于size字节的会话。
=status/=method/@host 查找状态、方法、主机相对应的会话
1uit 退出fiddler
bpafter xxx 中断URL包含指定字符的全部回话响应
bps xxx 中断HTTP响应状态为指定字符的全部回话响应。
bpv xxx 中断指定请求方式的全部回话响应
bpm xxx 中断指定请求方式的全部回话响应。等同于bpv xxx
bpu xxx: 与bpafter类似。
1、 显示的Fiddler是否处于捕捉状态(开启/关闭状态),可以点击该区域切换
2、显示当前捕捉哪些进程:
All Processes 捕获所有进程的请求
Web Browsers 捕获 Web 浏览器的请求,应该特指 IE
Non-Browser 捕获非 Web 浏览器的请求
Hide All 隐藏所有请求
3、显示当前断点设置状态,通过鼠标点击切换。有三种:
不设置断点
所有请求在断点处被暂停
所有响应在断点处被暂停
4、显示当前共捕获了多少回话(如:300,表示共捕获了300个会话,如:10/300,表示当前选择10个会话,共捕获300个会话)。
5、第五区块,描述当前状态。
如果是刚打开Fiddler,会显示什么时间加载了CustomRules.js;如果选择了一个会话,会显示该会话的URL;如果在命令行输入一个命令,就会显示命令相关信息。
我们双击打开软件,进入到如下的一个界面,然后点击某一个请求,你会发现请求的内容是一堆明显不对的文字,然后该请求的左边是一个锁的样式,联想到https加密,你会发现原因可能是没有配置Fiddler。然后解释一下右边的默认返回内容,第一句是**“这是一个CONNECT隧道,加密的HTTPS流量通过该隧道流动。”**,就证实了我们的猜测,果然是因为https加密的原因。
那么如何配置FIddler来解析这些加密的请求呢?
**方法一:**是查官网的安装文档,
**方法二:**看提示,软件公司还是很人性化的在返回内容里面提示了需要在哪里设置,就是第二行那一句:enable the Tools > Options > HTTPS > Decrypt HTTPS traffic option.
我们按照提示来进行设置,先在左上角的工具栏里面找到Tools,然后依次选择Options、HTTPS ,然后勾选Decrypt HTTPS traffic选项,勾选后安装证书。
%VL_NNPOOL CNN poolinng.% Y = VL_NNPOOL(X, POOL) applies the pooling operator to all% channels of the data X using a square filter of size POOL. X is a% SINGLE array of dimension H x W x D x N
题目链接思路:很简单的分组背包裸题,在做过AreYouBusy(pre blog)之后已经可以一遍过。每组选一,即AtMostOne问题。一组一组平推,每次用rec数组记录,属于做过一遍就不会忘的方法。注意转移方程不要写错,dp[ j ] 代表可能已经使用了本组中某物品之后得到的最大值,rec[ j - w[i] ] + v[ i ] 代表是第一次选本组中的物品。代码://16m..._p1757 通天之分组背包
我们假设需要对一个结构体进行排序,例如:struct candy{ int v; int w;} candies[110];需要对此结构体以v/w的大小进行排序;c++的STL库函数给我们提供了一个排序函数sort;但要使用sort函数进行排序,我们有以下两种方法。一 .重载比较运算符我们可以对比较运算符进行重载:struct candy{ int v; int w; bool operator<(const candy& c)..._sort函数比较结构体
5构造,解构,拷贝语意学 Semantics of Construction, Destruction, Copy纯虚拟函数的存在 Presence of Pure VF>pure virtual function可以被定义和调用invoke: 只能被静态调用statically, 不能经由虚拟机调用; Ex. inline void Abstract_base::interface()
bootstrap是指应用开始解析并处理请求之前,一个预先准备环境的阶段,也就是一个前期的初始化 过程,也就是说,在执行helloworld之前,需要执行的代码部分。启动这个过程会在两个地方,一个是index.php的入口文件,一个是application的bootstrap过程。1.index.php入口文件: 大致为composer文件自动加载器,yii的文件自动加载器,已经配置文件的合并,环..._unknown bootstrapping component id: gii
OBS Studio是目前比较主流的免费开源录屏和直播软件,它提供了丰富的功能特性,可以媲美一些受欢迎的同类商业软件。如果你正在考虑使用低成本方案来录屏或进行直播,那么这将是一个不错的选择。本教程主要讲解如何在Windows系统上使用OBS Studio来进行录屏。安装进入OSB Studio官网,https://obsproject.com,如下图所示,点击Windows蓝色按钮..._obs自动配置向导怎么设置
九月 25, 2018 4:35:04 下午 org.apache.catalina.core.StandardContext listenerStart严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoad...
SpringBoot 区分 开发、测试、生产 不同配置环境:生产(prod)测试(test)开发(dev)生产、测试、开发 数据库不同 启动时指定环境 选择对应的配置文件( jar包 main方法启动)配置文件:默认配置文件(选择环境、设置公共配置)开发环境(开发环境配置)测试环境(测试环境的配置信息)正式环境配置(正式配置信息)启动服务,使用不同配置(linu..._配置文件中如何区分开发数据库,测试数据库、生产数据库
一、观察者模式事件发布 : this.$root.eventHub.$emit(事件名称,传递的参数); 订阅事件 : this.$root.eventHub.$on(事件名称,(response)=>{ }) 取消订阅: this.$root.eventHub.$off(事件名称)二、父子组件的调用<!--子组件--><template> ..._vue2.0 父子组件调用方法
gzip是GNU组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。-d, --decompress解压缩的意思解压命令gzip -d error.log-20201212.gz或者gunzip -derror.log-20201204.gz查看帮助gzip-hLinux下操作.tar.gz文件1.压缩.tar.gz文件 命令:tar-zcvf压缩文件名.tar.gz被压缩文件名-c、 --创建新建存档-x、 --提取,--从存档中提..._gz结尾的文件
(1)在64位的ubuntu中安装QT(1.1)下载QT 如:qt-opensource-linux-x64-5.10.1.runQT网址1QT网址2(1.2)安装QTchmod +x qt-opensource-linux-x64-5.10.1.run./qt-opensource-linux-x64-5.10.1.run(1.3)安装的时候如果空间足够大可以把选项..._ubuntu安装qt
jackson工具包链接:https://pan.baidu.com/s/1c8OEQ8X5V_jfQ_M4Tzr4kA提取码:echo_jackson插件下载