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 FilesFiddler2 下的Fiddler.exe引用。
3.如果你的插件需要修改fiddler UI界面
还需要添加 System.Windows.Forms 程序集的引用
4.使插件自动部署到fiddler插件目录下
在解决方案资源管理器中,选择项目右键选择属性,在属性面板中选择生成事件选项卡,并在后期生成事件命令行中填写如下命令:
copy "$(TargetPath)" "%ProgramFiles%Fiddler2Scripts$(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就可以发现自定义的插件了。