|
||||||||
|
Fiddler Architecture InfoThis page contains information about Fiddler's internal architecture which may be of interest for advanced users of Fiddler. Note that all information presented here is subject to change; expect that you will need to maintain your code if you use the functionality on this page. Session StateThe Session.state property exposes information about the current request public
enum
SessionStates
FiddlerApplicationThe static FiddlerApplication object collects interesting objects and event handlers useful for building extensions. public delegate void SimpleEventHandler();public delegate void CalculateReportHandler(Session[] _arrSessions); public class FiddlerApplication { [CodeDescription("Fiddler's main form.")] public static frmViewer UI; public static Proxy oProxy; public static AutoResponder oAutoResponder; public static FiddlerExtensions oExtensions; public static FiddlerScript scriptRules; [CodeDescription("Fiddler's core proxy engine.")] public static Proxy oProxy; [CodeDescription("Fiddler's AutoResponder object.")] REMOVED in v2.1.8 public static AutoResponder oAutoResponder; [CodeDescription("Fiddler's loaded extensions.")] public static FiddlerExtensions oExtensions; [CodeDescription("FiddlerScript scripting engine.")] Likely to be removed public static FiddlerScript scriptRules; [CodeDescription("Sync this event to be notified when Fiddler has completed startup.")] public static event SimpleEventHandler FiddlerBoot; [CodeDescription("Sync this event to be notified when Fiddler has attached as the system proxy.")] public static event SimpleEventHandler FiddlerAttach; [CodeDescription("Sync this event to be notified when Fiddler has detached as the system proxy.")] public static event SimpleEventHandler FiddlerDetach; [CodeDescription("Sync this event to be notified when Fiddler shuts down.")] public static event SimpleEventHandler FiddlerShutdown; [CodeDescription("Sync this event to capture the CalculateReport event, summarizing the selected sessions.")] public static event CalculateReportHandler CalculateReport; } Fiddler SessionFlagsEach Session object in Fiddler contains a collection of string flags, in the Session.oFlags[] collection. The flags control how the session is processed and displayed in Session List. See Fiddler Session Flags for more information. SessionTimersAs it processes each Session, Fiddler keeps track of key events using the .Timers object on each session. You can learn more about what each SessionTimer means. About Fiddler's sourcesAccording to
this line
count tool, the main Fiddler project consists of ~23k lines of C# code,
after many recent refactorings to simplify the code. HTTPS Protocol SupportBy default, Fiddler2 accepts SSLv2 SSLv3 and TLSv1 from the client,
and offers SSLv3 and TLSv1 to the server. The text in the response for the
CONNECT tunnel shows what cipher the remote server chose, and shows
information about the server's certificate. Learn more about HTTPS Decryption. Silent InstallationWant a silent / unattended install? Use the setup command line: FiddlerSetup.exe /S
©2018 Eric Lawrence |