fiddler 插件開發

Fiddler 是優秀的抓包工具,有着衆多的優秀插件。Fiddler 軟件是由 C# 語言開發的,運行在. net Framework 框架之上,所以我們也可以使用 vs 來開發自己的 Fiddler 插件,下面就介紹 fiddler 插件開發基本步驟。

  1. 打開 visual studio 創建一個 Visual C# Class Library 類庫項目 .net 框架選擇 2.0 或者 3.5,這裏我們選擇. net Framework 2.0。

  1. 在解決方案資源管理器中添加 fiddler.exe 的引用, 如下添加 fiddler 安裝目錄 C:\Program Files\Fiddler2\ 下的 Fiddler.exe 引用【要根據自己的安裝自己而定哦】。

3. 如果你的插件需要修改 fiddler UI 界面 還需要添加 System.Windows.Forms 程序集的引用

  1. 使插件自動部署到 fiddler 插件目錄下 在解決方案資源管理器中,選擇項目右鍵選擇屬性,在屬性面板中選擇生成事件選項卡,並在後期生成事件命令行中填寫如下命令:
copy "$(TargetPath)" "%ProgramFiles%\Fiddler2\Scripts\$(TargetFilename)"

意思就是編譯項目成功時,將生成的程序集複製到 fiddler 插件目錄。

  1. 設置插件所運行的 fiddler 最低版本 在項目的 AssemblyInfo.cs(也可以在你代碼的其他任何地方) 文件中添加 Fiddler.RequiredVersion 特性 (Attribute)

  1. 下面來看一個實例:創建一個自定義的插件並可以在 Fiddler 中加載運行。首先在項目中添加一個用戶控件取名爲 MyControl.cs(隨意),如下圖所示:

然後在用戶控件上隨意放置一個 Button 控件,並寫一行簡單的單擊事件代碼:

private void button1_Click(object sender, EventArgs e)
 {
     MessageBox.Show("you clicked me");
 }
  1. 最後修改你項目中默認的 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 就可以發現自定義的插件了。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/x6g2wYTmbLo_grK9RYOmRA