Fiddler大师之路系列(一)
江湖传言,Fiddler是捕获客户端与服务器之间的所有HTTP(S) 请求的利器,但是在具体使用过程中,发现使用Fiddler进行抓包时有一部分请求总是没到,多方苦寻之下发现客户端使用WinINET这套API发送的请求都能正常抓到,而使用WinHTTP这套API发送的请求都没有抓到,遂搜索了一下,发现Fiddler对各种HTTP(s) stacks都是能支持的,只是默认启动时只是接管了WinINET代理设置。
为了让Fiddler能够抓取WinHTTP的包,需要做的就是让WinHTTP的代理设置改为与WinINET一致,因为WinINET在Fiddler启动后使用Fiddler作为代理。这些通过windows自带命令就可以做到:
在XP下: proxycfg -u
在Win7下(使用管理员权限的命令行):netsh winhttp import proxy ie
注:在Win7 64位系统下需要将Synstem32 目录和SysWOW64目录下的netsh命令各执行一次,下方将给出的脚本已覆盖这种情况。
但是如果使用频繁,每次都还要去手动敲命令行还是挺痛苦的,作为能偷懒的地方绝不多放过的少年,一劳永逸的方法当然是让它随Fiddler的启动与关闭自动执行这些命令
实现
这可以通过修改CustomRules.js实现。操作方法:打开Fiddler > 点击菜单Rules > 点击Customize Rules...
打开CustomRules.js文件后,寻找到OnAttach与OnDetach函数,可以将Fiddler启动后与关闭前需要定制的一些自动动作分别填写在它们里头,为实现让Fiddler能抓取WinHTTP发送的请求的目的而修改后的代码如下,添加了 UpdateWinHTTPSettings函数,在OnAttach和OnDetach里添加了对它的调用,修改完后保存,重新启动Fiddler即可生效:
注:UpdateWinHTTPSettings函数里做的事情其实很简单,就是使用管理员权限执行文章前面说到的命令
- Fiddler大师之路系列(四)
- Fiddler大师之路(六)|session快捷图标
- Fiddler大师之路(七) | QuickExec
- 为什么要学习设计模式(Design Patterns) - 软件设计大师之路
- 3D 游戏编程大师技巧系列 读书笔记(-)
- 渣渣小本求职复习之路每天一博客系列——想想大学里最后半年该怎么过(最终篇)
- 【学习ios之路:UI系列】实现打电话,发短信,发邮件功能
- Thinking In系列大师Bruce Eckel博客中文版入驻CSDN
- [js高手之路] es6系列教程 - var, let, const详解
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群-构建Spark集群(2)
- 嵌入式Linux学习笔记系列之前言——嵌入式学习之路
- 飞行教程大师之路
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群(第五步)(11)
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群(第五步)(12)
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群(第五步)(13)
- [js高手之路]设计模式系列课程-发布者,订阅者重构购物车
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第2章动手实战Scala第1小节:动手体验Scala(2)
- [js高手之路]设计模式系列课程-组合模式+寄生组合继承实战新闻列表
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第2章动手实战Scala第2小节:动手实战Scala面向对象编程(1)
- 【Java安全技术探索之路系列:Java可扩展安全架构】之十八:JGSS(二):JGSS类和接口