• fiddler插件开发step by step 1


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

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

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

    image

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

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

     image

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

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

    image 

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

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

        copy "$(TargetPath)" "%ProgramFiles%Fiddler2Scripts$(TargetFilename)"

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

    image

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

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

    image

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

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

    image

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

    image

    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就可以发现自定义的插件了。

    image

  • 相关阅读:
    CSS
    网络通信
    模块与包
    python异常处理
    python基础考试一整理
    面向对象最后进阶
    面向对象-反射和__getattr__系列
    property、staticmethod和classmethod
    多态和封装
    scala构造器实战
  • 原文地址:https://www.cnblogs.com/weekend001/p/3472912.html
Copyright © 2020-2023  润新知