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");//选项卡的名字为Testthis.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就可以发现自定义的插件了。