Fiddler 是优秀的抓包工具,有着众多的优秀插件。Fiddler 软件是由C#语言开发的,运行在.net Framework 框架之上,所以我们也可以使用vs来开发自己的Fiddler插件,下面就介绍fiddler插件开发基本步骤。

1.打开visual studio 创建一个Visual C# Class Library 类库项目

.net 框架选择2.0或者3.5,这里我们选择.net Framework 2.0。

2.在解决方案资源管理器中添加fiddler.exe的引用,

如下添加fiddler安装目录C:\Program Files\Fiddler2\ 下的Fiddler.exe引用。

3.如果你的插件需要修改fiddler UI界面

还需要添加 System.Windows.Forms 程序集的引用

4.使插件自动部署到fiddler插件目录下

在解决方案资源管理器中,选择项目右键选择属性,在属性面板中选择生成事件选项卡,并在后期生成事件命令行中填写如下命令:

copy "$(TargetPath)" "%ProgramFiles%\Fiddler2\Scripts\$(TargetFilename)"

意思就是编译项目成功时,将生成的程序集复制到fiddler插件目录。

5.设置插件所运行的fiddler最低版本

在项目的AssemblyInfo.cs(也可以在你代码的其他任何地方)文件中添加Fiddler.RequiredVersion 特性(Attribute)

6.下面来看一个实例:创建一个自定义的插件并可以在Fiddler中加载运行。

首先在项目中添加一个用户控件取名为MyControl.cs(随意),如下图所示:

然后在用户控件上随意放置一个Button控件,并写一行简单的单击事件代码:

private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("you clicked me");
}

7.最后修改你项目中默认的Class1.cs文件名为MyExtention.cs,内容如下:

public class MyExtension : IFiddlerExtension
{
private TabPage tabPage; //创建插件的选项卡页
private MyControl myCtrl; //MyControl自定义控件 public MyExtension()
{
//构造函数中实例化对象
this.tabPage = new TabPage("Test");//选项卡的名字为Test
this.myCtrl = new MyControl();
} public void OnLoad()
{
//将用户控件添加到选项卡中
this.tabPage.Controls.Add(this.myCtrl);
//为选项卡添加icon图标,这里使用Fiddler 自带的
this.tabPage.ImageIndex = (int)Fiddler.SessionIcons.Timeline;
//将tabTage选项卡添加到Fidder UI的Tab 页集合中
FiddlerApplication.UI.tabsViews.TabPages.Add(this.tabPage);
} public void OnBeforeUnload()
{ }
}

编译项目成功后,生成的程序集dll文件会自动复制到Fiddler的安装目录下的scripts目录下,接着就重新启动fiddler就可以发现自定义的插件了。

fiddler插件开发step by step 1的更多相关文章

  1. Step by step Dynamics CRM 2011升级到Dynamics CRM 2013

    原创地址:http://www.cnblogs.com/jfzhu/p/4018153.html 转载请注明出处 (一)检查Customizations 从2011升级到2013有一些legacy f ...

  2. Step by Step 创建一个新的Dynamics CRM Organization

    原创地址:http://www.cnblogs.com/jfzhu/p/4012833.html 转载请注明出处 前面演示过如何安装Dynamics CRM 2013,参见<Step by st ...

  3. Step by step Install a Local Report Server and Remote Report Server Database

    原创地址:http://www.cnblogs.com/jfzhu/p/4012097.html 转载请注明出处 前面的文章<Step by step SQL Server 2012的安装 &g ...

  4. Step by step Dynamics CRM 2013安装

    原创地址:http://www.cnblogs.com/jfzhu/p/4008391.html 转载请注明出处   SQL Server可以与CRM装在同一台计算机上,也可安装在不同的计算机上.演示 ...

  5. Step by step 活动目录中添加一个子域

    原创地址:http://www.cnblogs.com/jfzhu/p/4006545.html 转载请注明出处 前面介绍过如何创建一个域,下面再介绍一下如何在该父域中添加一个子域. 活动目录中的森林 ...

  6. SQL Server 维护计划实现数据库备份(Step by Step)(转)

    SQL Server 维护计划实现数据库备份(Step by Step) 一.前言 SQL Server 备份和还原全攻略,里面包括了通过SSMS操作还原各种备份文件的图形指导,SQL Server  ...

  7. 转:eclipse以及step into step over step return的区别

    首先来讲一下step into step over step return的区别: step into就是单步执行,遇到子函数就进入并且继续单步执行:(F5) step over是在单步执行时,在函数 ...

  8. [转]Bootstrap 3.0.0 with ASP.NET Web Forms – Step by Step – Without NuGet Package

    本文转自:http://www.mytecbits.com/microsoft/dot-net/bootstrap-3-0-0-with-asp-net-web-forms In my earlier ...

  9. EF框架step by step(7)—Code First DataAnnotations(2)

    上一篇EF框架step by step(7)—Code First DataAnnotations(1)描述了实体内部的采用数据特性描述与表的关系.这一篇将用DataAnnotations描述一下实体 ...

随机推荐

  1. JAVA-位运算符

    请解释&和&&.|和||的区别? 在逻辑运算中: · 与操作:与操作分为两种,一种是普通与,另外一种是短路与: |- 普通与(&):表示所有的判断条件都要执行,不管前面 ...

  2. jquery之音乐均衡器

    制作这个音乐均衡器需要一个equalizer插件(插件我已经上传),下面介绍一下网页的BGM的相关属性: hidden="true"表示隐藏播放,即不显示播放器的外观,若要想显示, ...

  3. RNN-theano代码解析

    import theano import numpy import os import pdb from theano import tensor as T from collections impo ...

  4. Oracle 12c Dataguard 数据库恢复

    http://allthingsoracle.com/rolling-forward-a-physical-standby-database-using-the-recover-command/ 当主 ...

  5. iOS - 视图与手势(UIview & UIGestureRecognizer)

    01 UIView视图的基本使用 --- 在根视图中添加2个UIView视图 //视图确实加载时调用 - (void)viewDidLoad { [super viewDidLoad]; // Do ...

  6. UEditor上传图片等附件都出现红叉

    我的环境: vs2010+netframework3.5+ueditor1_3_5-utf8-net 问题:UEditor上传图片等附件都出现红叉 尝试了网络上各种方法都不对, 后来只能自己看下ima ...

  7. 快速搭建MongoDB分布式集群

    目录Outline 1. prerequisites 2. steps to follow3. configuring the cluster4. a little test to see 1. Pr ...

  8. javascript-对象的函数(一)

    Date.prototype.Format = function(fmt) { //author: meizz var o = { "M+" : this.getMonth()+1 ...

  9. 如何在IOS开发中在自己的framework中添加.bunble文件

    今天就跟大家介绍一下有关,如何在IOS开发中在自己的framework中添加.bunble文件,该文章我已经在IOS教程网(http://ios.662p.com)发布过来,个人觉得还是对大家有帮助的 ...

  10. dom4j api 详解--XPath 节点详解

    dom4j api 详解 http://871421448.iteye.com/blog/1546955 XPath 节点 http://www.w3school.com.cn/xpath/xpath ...