FidderCore
来源:互联网 发布:阿里云logo矢量 编辑:程序博客网 时间:2024/06/05 02:18
先说一下SAZ
SAZ 是一种以.SAZ为后缀的文件格式。SAZ是Session Archive Zip的缩写。 SAZ文件用于保存HTTP请求的信息。 在Fiddler软件使用SAZ格式用来保存和读取HTTP请求信息。
使用编辑
保存
在Fiddler上,使用菜单“文件”>“保存” 可以将当前的HTTP请求信息保存成SAZ文件。对于普通的用户,如果遇到了问题,可以使用FiddlerCap软件截取出错时的信息并保存成SAZ格式,发送给专家分析处理。
读取
在Fiddler上,使用菜单“文件”>“加载档案”可以读取SAZ文件,加载其中的HTTP请求信息。
密码保护编辑
SAZ格式的文件可以进行加密保护,可以使用标准的ZIP加密,这种加密方式强度弱但快速。也可以使用AES256加密,这种加密方式强度高但较慢。要启用AES256加密,可以在下列菜单中启用:工具 > Fiddler 选项> 通用。
要对SAZ文件进行加密保护, 在“保存Session档案”对话框中,在“保存类型”下拉框中选择“密码保护的SAZ”。
文件内容编辑
SAZ文件是一种特殊格式的 .ZIP文件。可以将.SAZ后缀修改为.ZIP, 然后使用标准的ZIP压缩工具打开。
在SAZ文件内,可以找到:
1. _index.htm : 一个可选文件,便于用户直接阅读。这个文件在SAZ文件被加载时不会被处理,仅仅用于手工检查。
2.raw文件夹:包含所有的记录了网络Sesison信息的文件。
在raw文件夹内,对于每一个网络Sesison,会有三个文件:
sessid#_c.txt:包含客户端请求
sessid#_s.txt : 包含服务器端请求
sessid#_m.txt:包含一些元数据,比如:Session标志位,socket重用信息,等等。
FidderCore 是看名字就知道了是核心,能在.net 中用代码的形式实现Fidder的核心功能。网上代码不多,摘一个如下:
Fiddler.FiddlerApplication.BeforeRequest += new SessionStateHandler(FiddlerApplication_BeforeRequest);
Fiddler.FiddlerApplication.BeforeResponse += new Fiddler.SessionStateHandler(FiddlerApplication_BeforeResponse);
Fiddler.FiddlerApplication.Startup(8877, FiddlerCoreStartupFlags.Default);
Console.ReadKey();
Fiddler.FiddlerApplication.Shutdown();
Fiddler.FiddlerApplication.BeforeResponse += new Fiddler.SessionStateHandler(FiddlerApplication_BeforeResponse);
Fiddler.FiddlerApplication.Startup(8877, FiddlerCoreStartupFlags.Default);
Console.ReadKey();
Fiddler.FiddlerApplication.Shutdown();
写2个函数而已
static void FiddlerApplication_BeforeRequest(Session oSession)
{
Console.WriteLine("FiddlerApplication_BeforeRequest");
if (oSession.fullUrl.IndexOf("clientaccesspolicy.xml") > 0)
{
oSession.bBufferResponse = true;
}
}
//find and replace the client access policy file.
static void FiddlerApplication_BeforeResponse(Fiddler.Session oSession)
{
if (oSession.fullUrl.IndexOf("clientaccesspolicy.xml") > 0)
{
Console.WriteLine(oSession.fullUrl);
oSession.utilDecodeResponse();
oSession.utilSetResponseBody(PolicyXml);
oSession.oResponse.headers.HTTPResponseCode = 200;
oSession.oResponse.headers.HTTPResponseStatus = "200 OK";
oSession.oResponse.headers["Content-Type"] = "text/xml";
oSession.oResponse.headers.Remove("WWW-Authenticate");
}
}
{
Console.WriteLine("FiddlerApplication_BeforeRequest");
if (oSession.fullUrl.IndexOf("clientaccesspolicy.xml") > 0)
{
oSession.bBufferResponse = true;
}
}
//find and replace the client access policy file.
static void FiddlerApplication_BeforeResponse(Fiddler.Session oSession)
{
if (oSession.fullUrl.IndexOf("clientaccesspolicy.xml") > 0)
{
Console.WriteLine(oSession.fullUrl);
oSession.utilDecodeResponse();
oSession.utilSetResponseBody(PolicyXml);
oSession.oResponse.headers.HTTPResponseCode = 200;
oSession.oResponse.headers.HTTPResponseStatus = "200 OK";
oSession.oResponse.headers["Content-Type"] = "text/xml";
oSession.oResponse.headers.Remove("WWW-Authenticate");
}
}
0 0
- FidderCore
- 搭建ESP8266 CYG_WIN交叉编译环境
- Android基础入门教程——7.6.3 基于TCP协议的Socket通信(2)
- BaseAdapter的使用
- org.springframework.aop Interface ThrowsAdvice
- 适配器之SimpleAdapter
- FidderCore
- 大O表示法算法复杂度速查表(Big-O Algorithm Complexity Cheat Sheet)
- 针对iphone4调整样式
- poj 3259 Wormholes(Bellman-ford 算法)
- js构造函数
- hashMap
- 自动填充短信验证码(使用ContentObserver)
- WinForm中的ComoBox选项值的多种加载方法
- hdu5446 lucas+中国剩余定理