当前位置:首页 » 网页前端 » fiddler脚本
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

fiddler脚本

发布时间: 2022-02-15 01:33:54

⑴ 怎样使用fiddler进行抓包

Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它仅仅暴露http通讯还有提供一个用户友好的格式。

Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。你对HTTP 协议越了解, 你就能越掌握Fiddler的使用方法。你越使用Fiddler,就越能帮助你了解HTTP协议。Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。

⑵ 你好,能请教一下关于fiddler2使用的一些情况吗

Fiddler2主菜单

六个主菜单分别是:

文件(File)
Capture Traffic ——启用捕获功能,快捷键 F12

此功能的开启/关闭状态,程序安装后默认是开启的。可以在 Fiddler 底部状态栏最左侧看到:(开启状态)、(关闭状态)

也可以通过鼠标点击状态栏该图标来进行切换。
Load Archive... ——载入本地保存的 Session 压缩包
Save ——保存
All Sessions... ——保存捕获到的全部 Session 到压缩包
Selected Sessions

· inArchiveZip... ——保存当前选定的Session 为压缩包

· in VisualStudio Web Test... ——保存当前选定的 Session 为 Visual Studio Web Test

· in Text... ——保存当前选定的 Session为文本

· in Text(Headers only)... ——保存当前选定的 Session 为文本(仅 Header)
Request

· EntireRequest... ——保存当前选定的Session 整个请求(包括 Header)

· RequestBody... ——保存当前选定的Session 请求的内容(不包括Header)
Response

· EntireResponse... ——保存当前选定的Session 整个响应(包括 Header)

· ResponseBody... ——保存当前选定的Session 响应的内容(不包括Header)
Properties ——当前选择 Session 的属性

包括 Session 状态、响应包的大小,客户端服务器信息(如进程、端口、传输字节数、TTLB、客户端IP、服务器IP、TTFB等),请求各环节的时间情况、WinINET 缓存信息等。如下图:

TTFB (Time-to-First-Byte) 是指:从第一个请求发出到测试工具接收到服务器应答数据的第一个字节之间的平均时间。

TTLB (Time-to-Last-Byte) 是指:从第一个请求发出到测试工具接收到服务器应答数据的最后一个字节之间的平均时间。
Exit ——退出 Fiddler
编辑(Edit)
Copy ——复制
Session ——复制整个 Session 到剪贴板,快捷键 Ctrl + C
Just Url ——复制 Session 的 URL 到剪贴板,快捷键 Ctrl+ U
Headers Only ——复制 Session 的 Header 到剪贴板,快捷键 Ctrl + Shift + C
Full Summary ——复制 Session 全部摘要到剪贴板
Terse Summary ——复制 Session 简单摘要到剪贴板,快捷键 Ctrl + Shift + T
Remove ——移除
Selected Sessions ——移除所选的 Session,快捷键 Delete
Unselected Sessions ——移除未选择的 Session,快捷键 Shift + Delete
All Sessions ——移除所有 Session,快捷键 Ctrl + X
Select All ——选择所有 Session
Mark
Red ——将选择的 Session 标为红色粗体,快捷键 Ctrl + 1
Blue ——将选择的 Session 标为蓝色粗体,快捷键 Ctrl + 2
Gold ——将选择的 Session 标为金色粗体,快捷键 Ctrl + 3
Green ——将选择的 Session 标为绿色粗体,快捷键 Ctrl + 4
Orange ——将选择的 Session 标为橙色粗体,快捷键 Ctrl + 5
Purple ——将选择的 Session 标为紫色粗体,快捷键 Ctrl + 6
Unmark ——去除颜色加粗标记,快捷键 Ctrl + 0
Find Session... ——退出 Fiddler
规则(Rules)
Hide Image Requests ——隐藏图片请求
Hide HTTPS CONNECTs ——隐藏 HTTPS 连接
Automatic Breakpoints ——自动设置断点
Before Requests ——在请求前设置断点,快捷键 F11
After Response ——在响应后设置断点,快捷键 Alt + F11
Disabled ——不自动设置断点,快捷键 Shift + F11
Ignore Images ——自动设置断点时忽略图片
Customize Rules... ——自定义规则
Require Proxy Authentication ——需要代理密码验证
Apply GZIP Encoding ——应用 GZIP 压缩
Remove All Encoding ——移除所有编码
Hide 304s ——隐藏所有状态为 304(无变更) 的请求
Request Japanese Content ——请求日文内容
User-Agents ——选择用户 Web 客户端代理类型,包括了目前主流的浏览器
Performance ——性能
Simulate Modem speeds ——模拟调制解调器速度
Disable Caching ——禁止缓存
Show Time-to-Last-Byte ——显示 TTLB
Show Response Timestamp ——显示响应时间戳
工具(Tools)
Fiddler Options... ——Fiddler 选项
WinINET Options... ——IE 浏览器 WinINET 选项
Clear WinINET Cache ——清除 WinINET 缓存,快捷键 Ctrl + Shift + X
Clear WinINET Cookies ——清除 WinINET 缓存
Text Encode/Decode... ——文本编码/解码,快捷键 Ctrl + E

可以进行文本的 Base64编码/解码、UrlEnccode/UrlDecode、十六进制编码、转 JS 字符串、HTML 编码/解码、UTF-7 编码/解码
Compare Sessions ——使用 Microsoft Windiff.exe 对比选择的 Session,快捷键 Ctrl + W
Reset Script ——重置脚本
Sandbox ——沙箱 http://www.fiddler2.com/sandbox/
View IE Cache ——查看 IE 缓存文件夹
视图(View)
Squish Session List ——收缩/展开 Session 列表,快捷键 F6

也可以使用 WebSession 面板的按钮,详见 WebSessions 面板介绍
Stacked Layout ——切换面板布局
Statistics ——Statistics 页签,快捷键 F7
Inspector ——Inspector 页签,快捷键 F8
Builder ——Request Builder 页签,快捷键 F9
Minimize to Tray ——缩小为任务栏图标,快捷键 Ctrl + M
Stay on Top ——保持在其他窗口前端
AutoScroll Session List ——自动滚动 Session 列表
Refresh ——刷新,快捷键 F5
帮助(Help)
Fiddler Help ——Fiddler 在线帮助
Fiddler Community Discussions ——Fiddler 社区在线讨论
HTTP References ——在线 HTTP 参考,包括各种 HTTP 响应状态码
Check for Updates... ——检查更新
Send Feedback... ——发送回馈
About Fiddler ——关于 Fiddler

Fiddler2工具栏

完整工具栏如下图:

如果工具栏被关闭,可以通过如下方式开启:

主菜单 Tools-> Fiddler Options... -> Appearance -> Show Fiddler Toolbar,打勾确认即可。

下面逐一讲解各按钮的用途:
Comment ——给选定的 Session 增加一个备注,添加后会显示在 Web Sessions 面板的 Comments 字段中
Reissue ——重新请求选定的 Session
Remove
All ——移除所有 Session,快捷键 Ctrl + X
Remove Images ——移除所有图片请求 Session
Remove CONNECTs ——移除所有 HTTPS 请求 Session
Remove non-200s ——移除所有 HTTP 状态不是 200 的 Session
Resume All ——继续所有此刻在断点被停止的 Session
Streaming ——开启流模式(Streaming Mode),此模式开启的时候,所有断点都被忽略,所有 HTTP 响应都流化。

关于流模式,请点击这里。
Find ——按条件查找 Session

Save ——保存选定的 Session
Lunch IE ——在 IE 中加载选定的 SessionURL,如果没选择,就打开about:blank
Clear Cache ——清空缓存
Encoder ——文本编码/解码,与菜单 Tools-> Text Encode/Decode... 相同,快捷键 Ctrl + E
Tearoff ——将页签浮动
MSDN Search ——在 MSDN 上查找指定关键字
Help ——打开在线帮助
× ——隐藏工具栏

Fiddler2Web Session 面板

完整工具栏如下图:

此列表显示所有 HTTP 请求的相关信息,从左到右各列分别代表:
[#] —— HTTP Request 的顺序,从 1 开始,按照页面加载请求的顺序递增。
[Result] —— HTTP 响应的状态,可以参考这里。
[Protocol] ——请求使用的协议(如 HTTP/HTTPS/FTP)
[Host] ——请求地址的域名
[URL] ——请求的服务器路径和文件名,也包括 GET 参数
[BODY] ——请求的大小,以 byte 为单位
[Caching] ——请求的缓存过期时间或缓存控制 header 等值
[Content-Type] —— 请求响应的类型 (Content-Type)
[Process] ——发出此请求的 Windows 进程及进程 ID
[Comments] ——用户通过脚本或者右键菜单给此 session 增加的备注
[Custom] ——用户可以通过脚本设置的自定义值

Session 列表使用不同的颜色表示不同的 HTTP 状态(红色表示错误,黄色表示验证要求(authentication demands)),通讯类型(灰色表示 HTTPS 连接),响应类型(紫色表示 CSS,蓝色表示 HTML,绿色表示脚本,灰色表示图片)。

你可使用 FiddlerScript来自定义 session 请求的文本颜色。
[#] 列中使用不同的图标表示不同响应类型:
—— 请求已被发送到服务器
—— 从服务器下载响应结果
—— 请求在断点处被暂停
—— 响应在断点处被暂停
—— 请求使用 HTTP HEAD 方法,响应没有内容
—— 请求使用 HTTP CONNECT 方法,使用 HTTPS 协议建立连接通道
—— 响应是 HTML 格式
—— 响应是图片格式
—— 响应是脚本文件
—— 响应是 CSS 文件
—— 响应是 XML 文件
—— 普通响应成功
—— 响应是 HTTP 300/301/302/303/307 转向
—— 响应是 HTTP 304 (无变更),使用缓存文件
—— 响应需要客户端验证
—— 响应是服务器错误
—— 请求被客户端、Fiddler 或者服务器终止 (Aborted)
Web Sessions 右键菜单

下列菜单项已经在主菜单中有介绍:[View]AutoScroll Session List、[Edit]Copy、[Edit]Save、[Edit]Remove、[Edit]Mark、[Tools]Compare、[File]Properties,这里不再复述。
Decode Selected Sessions —— 如果请求使用了 GZIP 压缩,就解码
Comment... ——给 Session 增加备注
Replay
Reissue Requests —— 重新请求此地址
Reissue Unconditionally —— 无条件重新请求此地址
Revisit in IE —— 在 IE 中请求此地址,相当于工具栏的Launch IE
Select
Parent Request —— 选择当前 session 的父请求,比如图片的父请求就是嵌入它的页面
Child Requests —— 选择当前 session 的子请求,比如当前页面的子请求是页面内所有脚本、CSS、图片等
Duplicate Requests —— 选择全部相同地址的请求
Clone Response —— 克隆 Session 响应
Unlock For Editing —— 解锁当前 session 以编辑,只针对文本资源,比如 HTML/JS/CSS
Squish Session List

Web Sessions 面板右上角的按钮用于展开收缩 Web Session 面板,相当于主菜单 View -> Squish Session List

⑶ 如何运用Fiddler工具

Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有很大的帮助。
阅读目录
Fiddler的基本介绍
Fiddler的官方网站: www.fiddler2.com
Fiddler官方网站提供了大量的帮助文档和视频教程, 这是学习Fiddler的最好资料。
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展
你对HTTP 协议越了解, 你就能越掌握Fiddler的使用方法. 你越使用Fiddler,就越能帮助你了解HTTP协议.
Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具
Fiddler的工作原理
Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler.

同类的其它工具
同类的工具有: httpwatch, firebug, wireshark

Fiddler 如何捕获Firefox的会话
能支持HTTP代理的任意程序的数据包都能被Fiddler嗅探到,Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。 Fiddler2启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以将Firefox的代理改为127.0.0.1:8888就可以监听数据了。
Firefox 上通过如下步骤设置代理
点击: Tools -> Options, 在Options 对话框上点击Advanced tab - > network tab -> setting.

Firefox 中安装Fiddler插件
修改Firefox 中的代理比较麻烦, 不用fiddler的时候还要去掉代理。 麻烦
推荐你在firefox中使用fiddler hook 插件, 这样你非常方便的使用Fiddler获取firefox中的request 和response
当你安装fiddler后, 就已经装好了Fiddler hook插件, 你需要到firefox中去启用这个插件
打开firefox tools->Add ons -> Extensions 启动 FiddlerHook

Fiddler如何捕获HTTPS会话
默认下,Fiddler不会捕获HTTPS会话,需要你设置下, 打开Fiddler Tool->Fiddler Options->HTTPS tab

选中checkbox, 弹出如下的对话框,点击"YES"

点击"Yes" 后,就设置好了
Fiddler的基本界面
看看Fiddler的基本界面

Inspectors tab下有很多查看Request或者Response的消息。 其中Raw Tab可以查看完整的消息,Headers tab 只查看消息中的header. 如下图

Fiddler的HTTP统计视图
通过陈列出所有的HTTP通信量,Fiddler可以很容易的向您展示哪些文件生成了您当前请求的页面。使用Statistics页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。
选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化

QuickExec命令行的使用
Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。
常见得命令有
help 打开官方的使用页面介绍,所有的命令都会列出来
cls 清屏 (Ctrl+x 也可以清屏)
select 选择会话的命令
?.png 用来选择png后缀的图片
bpu 截获request

Fiddler中设置断点修改Request
[作者:小坦克] Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改httpRequest 的任何信息包括host, cookie或者表单中的数据。设置断点有两种方法
第一种:打开Fiddler 点击Rules-> Automatic Breakpoint ->Before Requests(这种方法会中断所有的会话)
如何消除命令呢? 点击Rules-> Automatic Breakpoint ->Disabled
第二种: 在命令行中输入命令: bpu www..com (这种方法只会中断www..com)
如何消除命令呢? 在命令行中输入命令 bpu

看个实例,模拟博客园的登录, 在IE中打开博客园的登录页面,输入错误的用户名和密码,用Fiddler中断会话,修改成正确的用户名密码。这样就能成功登录
1. 用IE 打开博客园的登录界面 http://passport.cnblogs.com/login.aspx
2. 打开Fiddler, 在命令行中输入bpu http://passport.cnblogs.com/login.aspx
3. 输入错误的用户名和密码 点击登录
4. Fiddler 能中断这次会话,选择被中断的会话,点击Inspectors tab下的WebForms tab 修改用户名密码,然后点击Run to Completion 如下图所示。
5. 结果是正确地登录了博客园

Fiddler中设置断点修改Response
当然Fiddler中也能修改Response
第一种:打开Fiddler 点击Rules-> Automatic Breakpoint ->After Response (这种方法会中断所有的会话)
如何消除命令呢? 点击Rules-> Automatic Breakpoint ->Disabled
第二种: 在命令行中输入命令: bpafter www..com (这种方法只会中断www..com)
如何消除命令呢? 在命令行中输入命令 bpafter,

具体用法和上节差不多,就不多说了。
Fiddler中创建AutoResponder规则
Fiddler 的AutoResponder tab允许你从本地返回文件,而不用将http request 发送到服务器上。
看个实例. 1. 打开博客园首页,把博客园的logo图片保存到本地,并且对图片做些修改。
2. 打开Fiddler 找到logo图片的会话, http://static.cnblogs.com/images/logo_2012_lantern_festival.gif, 把这个会话拖到AutoResponer Tab下
3. 选择Enable automatic reaponses 和Unmatched requests passthrough
4. 在下面的Rule Editor 下面选择 Find a file... 选择本地保存的图片. 最后点击Save 保存下。
5. 再用IE博客园首页, 你会看到首页的图片用的是本地的。

Fiddler中如何过滤会话
每次使用Fiddler, 打开一个网站,都能在Fiddler中看到几十个会话,看得眼花缭乱。最好的办法是过滤掉一些会话,比如过滤掉图片的会话. Fiddler中有过滤的功能, 在右边的Filters tab中,里面有很多选项, 稍微研究下,就知道怎么用。

Fiddler中会话比较功能
选中2个会话,右键然后点击Compare,就可以用WinDiff来比较两个会话的不同了 (当然需要你安装WinDiff)

Fiddler中提供的编码小工具
点击Fiddler 工具栏上的TextWizard, 这个工具可以Encode和Decode string.

Fiddler中查询会话
用快捷键Ctrl+F 打开 Find Sessions的对话框,输入关键字查询你要的会话。 查询到的会话会用黄色显示

Fiddler中保存会话
有些时候我们需要把会话保存下来,以便发给别人或者以后去分析。 保存会话的步骤如下:
选择你想保存的会话,然后点击File->Save->Selected Sessions
Fiddler的script系统
Fiddler最复杂的莫过于script系统了 官方的帮助文档: http://www.fiddler2.com/Fiddler/dev/ScriptSamples.asp
首先先安装SyntaxView插件,Inspectors tab->Get SyntaxView tab->Download and Install SyntaxView Now... 如下图

安装成功后Fiddler 就会多了一个Fiddler Script tab, 如下图

在里面我们就可以编写脚本了, 看个实例 让所有cnblogs的会话都显示红色。
把这段脚本放在OnBeforeRequest(oSession: Session) 方法下,并且点击"Save script"
if (oSession.HostnameIs("www.cnblogs.com")) {
oSession["ui-color"] = "red";
}

这样所有的cnblogs的会话都会显示红色

如何在VS调试网站的时候使用Fiddler
我们在用visual stuido 开发ASP.NET网站的时候也需要用Fiddler来分析HTTP, 默认的时候Fiddler是不能嗅探到localhost的网站。不过只要在localhost后面加个点号,Fiddler就能嗅探到。
例如:原本ASP.net的地址是 http://localhost:2391/Default.aspx, 加个点号后,变成 http://localhost.:2391/Default.aspx 就可以了

第二个办法就是在hosts文件中加入 127.0.0.1 localsite
如何你访问http://localsite:端口号 。 这样Fiddler也能截取到了。

Response 是乱码的
有时候我们看到Response中的HTML是乱码的, 这是因为HTML被压缩了, 我们可以通过两种方法去解压缩。
1. 点击Response Raw上方的"Response is encoded any may need to be decoded before inspection. click here to transform"
2. 选中工具栏中的"Decode"。 这样会自动解压缩。

⑷ Fiddler能抓包,Jmeter也能,为什么还要用Fiddler

如果只是为了,抓包接口出来做测试,功能上还真的没啥不一样的。都是利用代理服务器的形式,抓取数据包。
只不过fiddler在抓包功能上更强大,在抓包的同时,还能设置断点等。一般抓取后,需要将需要的参数 ,header等信息手动录入到测试工具 (如jmeter,postman,或者是lr等)里面 形成脚本,一般出错也是在这个环节,因为录入的时候很多时候容易疏忽,比如参数名,请求头等信息。
单就使用jmeter测试接口的话说,我觉得jmeter的代理服务器更方便,抓取完成后,直接就形成jmeter脚本了。同样的也能设置筛选器,过滤出不要的东西,并且设置上更简单,中文版适合初学者使用。
其实现在的 浏览器比如chrome,360 ,网络等浏览器,的开发者工具也是带了简单抓包功能的。一个F12就行了。同样可以查看到接口的信息,但是这种只针对电脑web了。

⑸ Fiddler怎么加载js脚本啊 求解答

建议你看一下fiddler使用的视频。
会让你学到更多知识。

⑹ 如何在Fiddler script中捕获请求结果并针对返回内容发起一个新请求

通过FiddlerScript实现根据条件重发请求

Fiddler是个强大的Web调试工具,具体的功能不在此多述,可以参考后面的链接以及Fiddler官网的手册。本文主要介绍Fiddler的重发请求功能,并通过自定义脚本实现根据条件来重发请求。 在进行Web调试时,经常会遇到浏览器请求正常但是程序请求异常的情况,这时我们常常需要使用Fiddler对比这两个请求的异同,然后将一个请求改变参数或HTTP头进行重发来查看返回结果的差异,这样可以确定哪个参数或哪个HTTP头导致的问题。如下图重发可以有多种不同的选择,常用的有三个:

  • Reissue Requests: 直接重发选定请求

  • Reissue and Edit: 重发选定请求,并在请求之前断点,可以对请求进行修改

  • Reissue from Composer: 将选定请求送到Composer窗口,和将请求拖拽到Composer效果是一样的,在Composer窗口中可以对请求有更精确的控制

  • 只简单的重发指定请求,或在指定请求上进行编辑往往是不够的,在项目中我们偶尔会遇到这样的情形:先发送请求A,然后根据请求A结果中的某个值来发送请求B,譬如有这样的两个接口:get_random_server.php接口通过接收的数据随机返回一个服务器ID,get_data.php接口则根据刚刚的服务器ID来获取数据。下面是一个示例:

  • localhost/get_random_server.php?data=Hello -> 返回JSON结果:{ success: true, sid: 2 }

  • localhost/get_data.php?sid=2

  • 这个时候Fiddler的可扩展性就能大显神威了,可以通过两种方式实现Fiddler的扩展:FiddlerScript和插件机制,这里使用FiddlerScript就足够应付了。在Fiddler的菜单项Rules中选择Customize Rules...就可以打开Fiddler的自定义脚本文件CustomRules.js,该脚本一般保存在DocumentsFiddler2Scripts目录下。我推荐使用Fidder ScriptEditor进行脚本的编辑,Fidder ScriptEditor具有语法高亮和语法检查的功能,并在右侧面板提供了Fiddler内置的函数列表。 通过展开浏览右侧的函数列表,就基本上可以大概的了解到几个可能会用到的函数了:

  • FiddlerApplication.oProxy.SendRequest

  • FiddlerApplication.oProxy.SendRequestAndWait

  • FiddlerObject.utilIssueRequest

  • 我们先通过下面的代码来练练手,将下面的代码拷贝到CustomRules.js中并保存,Fidder ScriptEditor会自动检查语法错误,并重新加载脚本,无需重启Fiddler脚本即可生效。CustomRules.js使用的是JScript.Net语法,对于Javascipt或.C#程序员应该可以很快上手。这时在Fiddler中随便选择一条请求,点击右键,会发现最上面多了一个选择项Test Send Request,选择该项可以达到和Reissue Requests同样的功能,重发指定请求。

    12345678910111213
  • public static ContextAction("Test Send Request")function SendRequest(oSessions: Session[]) {if (oSessions.Length == 0) return;FiddlerApplication.Log.LogString("Sending...");var selected: Session = oSessions[0];var oSD = new System.Collections.Specialized.StringDictionary();var res = FiddlerApplication.oProxy.SendRequestAndWait(selected.oRequest.headers, selected.RequestBody, oSD, null);FiddlerApplication.Log.LogString("Request has been Send.");FiddlerApplication.Log.LogString(res.GetResponseBodyAsString());}
  • SendRequest/SendRequestAndWait函数有一个不方便之处,他的两个参数oHeaders和arrRequestBodyBytes分别是HTTPRequestHeaders和Byte[]类型,为了调用这个方法必须将HTTP的header和body转换为这两个类型,不如字符串来的简便。这个时候utilIssueRequest函数正好满足我们的定制需要,可以精确的控制一个请求的细节,类似于Composer中的Raw。下面的代码是一个使用utilIssueRequest函数的实例,具体的HTTP请求以字符串的形式拼接起来。

  • public static ContextAction("Probe this!")function ProbeSession(oSessions: Session[]) {if (oSessions.Length == 0) return;FiddlerApplication.Log.LogString("Probing...");var selected: Session = oSessions[0];var raw = "";// methodsvar method:String = selected.RequestMethod;var url:String = selected.fullUrl;var protocol = "HTTP/1.1";FiddlerApplication.Log.LogString(method + " " + url + " " + protocol);raw += method + " " + url + " " + protocol + " ";// headersfor (var i:int = 0; i < selected.oRequest.headers.Count(); i++) {var header = selected.oRequest.headers[i];FiddlerApplication.Log.LogString(header);raw += header + " ";}// bodyFiddlerApplication.Log.LogString("---");var body = selected.GetRequestBodyAsString();FiddlerApplication.Log.LogString(body);raw += " " + body;FiddlerObject.utilIssueRequest(raw);FiddlerApplication.Log.LogString("Request has been Send.");}
  • HTTP请求的格式如下:

    1234567891011
  • POST http://localhost/get_random_server.php HTTP/1.1Host: localhostConnection: keep-aliveAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36Accept-Encoding: gzip,deflate,sdchAccept-Language: zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4Content-Type: application/x-www-form-urlencodedContent-Length: 23data=%E4%BD%A0%E5%A5%BD
  • 后面的工作就水到渠成了,通过SendRequestAndWait获取请求A的结果,解析请求A结果获取sid参数,然后拼接HTTP请求调用utilIssueRequest函数,此处从略。

⑺ 模拟器微信是不是没办法用fiddler抓包

Fiddler抓取HTTP请求。

抓包是Fiddler的最基本的应用,以本博客为例,启动Fiddler之后,在浏览器中输入 键入回车之后,在Fiddler的web session界面捕获到的HTTP请求如下图所示:

各字段的详细说明已经解释过,这里不再说明。需要注意的是#号列中的图标,每种图标代表不同的相应类型,具体的类型包括:

另外,注意请求的host字段。可以看到有来自多个www.csdn.net的子域名的响应,说明在大型网站的架构中,大多需要多个子域名,这些子域名可能是单独用于缓存静态资源的,也可能是专门负责媒体资源的,或者是专门负责数据统计的(如pingback)。

右键单击其中的一条请求。可以选择的操作有:save(保存请求的报文信息,可以是请求报文,可以是响应报文)。例如,我们保存的一条请求头信息如下:

不仅是单条session,Fiddler还支持保存所有抓取到的session(并支持导入),这对于抓取可疑请求然后保存,并在之后随时分析这些请求是很有帮助的。

如果想要重新发送某些请求,可以选中这些请求,然后点击工具栏中的reply.就可以重新发送选中的这些请求。

左键点击单条HTTP请求,可以在右侧的tab面板中看到如下信息:

1. Statistic。

关于HTTP请求的性能和其他数据分析:

我们可以从中看出一些基本性能数据:如DNS解析的时间消耗是8ms,建立TCP/IP连接的时间消耗是8ms等等信息。

2. Inspectors。

分为上下两个部分,上半部分是请求头部分,下半部分是响应头部分。对于每一部分,提供了多种不同格式查看每个请求和响应的内容。JPG 格式使用 ImageView 就可以看到图片,HTML/JS/CSS 使用 TextView 可以看到响应的内容。Raw标签可以查看原始的符合HTTP标准的请求和响应头。Auth则可以查看授权Proxy-Authorization 和 Authorization的相关信息。Cookies标签可以看到请求的cookie和响应的set-cookie头信息。

3. AutoResponder

Fiddler比较重要且比较强大的功能之一。可用于拦截某一请求,并重定向到本地的资源,或者使用Fiddler的内置响应。可用于调试服务器端代码而无需修改服务器端的代码和配置,因为拦截和重定向后,实际上访问的是本地的文件或者得到的是Fiddler的内置响应。当勾选allow autoresponser 并设置相应的规则后(本例中的规则是将http://blog.csdn.net/ohmygirl的请求拦截到本地的文件layout.html),如下图所示

然后在浏览器中访问 ,得到的结果实际为:

这刚好是本地layout.html的内容,说明请求已经成功被拦截到本地.当然也可以使用Fiddler的内置响应。下图是Fiddler支持的拦截重定向的方式:

因此,如果要调试服务器的某个脚本文件,可以将该脚本拦截到本地,在本地修改完脚本之后,再修改服务器端的内容,这可以保证,尽量在真实的环境下去调试,从而最大限度的减少bug发生的可能性。

⑻ Fiddler软件是什么

Fiddler是一个web调试代理。它能够记录所有客户端和服务器间的http请求,允许你监视,设置断点,甚至修改输入输出数据,fiddler包含了一个强大的基于事件脚本的子系统,并且能够使用.net框架语言扩展。
微软的Fiddler 包含一个简单却功能强大的基于JScript .NET 事件脚本子系统,他非常灵活性非常棒,可以支持众多的http调试任务。Fiddler 是用C#写出来的。它还是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它仅仅暴露http通讯还有提供一个用户友好的格式。
Fiddler支持断点调试概念,当你在软件的菜单—rules—automatic breakpoints选项选择beforerequest,或者当这些请求或响应属性能够跟目标的标准相匹配,Fiddler就能够暂停Http通讯, 情切允许修改请求和响应。这种功能对于安全测试是非常有用的,当然也可以用来做一般的功能测试,因为所有的代码路径都可以用来演习。
用户可以加入一个Inspector插件对象,来使用.net下的任何语言来编写Fiddler扩展。RequestInspectors 和 ResponseInspectors提供一个格式规范的,或者是被指定的(用户自定义)Http请求和响应视图。
通过显示所有的Http通讯,Fiddler可以轻松的演示哪些用来生成一个页面,通过统计页面(就是Fiddler左边的那个大框)用户可以很轻松的使用多选,来得到一个WEB页面的“总重量”(页面文件以及相关js,css等)你也可以很轻松得看到你请求的某个页面,总共请求了多少次,以及多少字节被转化了。
另外,通过暴露HTTP头,用户可以看见哪些页面被允许在客户端或者是代理端进行缓存。如果要是一个响应没有包含Cache-Control 头,那么他就不会被缓存在客户端。

⑼ fiddler怎么停止自动抓包

Fiddler是强大且好用的Web调试工具之一,它能记录客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展,在web开发和调优中经常配合firebug使用。Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。对于PC端Fiddler启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以如果需要监听PC端Chrome网络请求,将其代理改为127.0.0.1:8888就可以监听数据了,手机端按照下面的设置即可完成整个系统的http代理。