public PluginHTTPProxyUC(PluginParameters pPluginParams)
        {
            InitializeComponent();

            #region DATAGRID HEADER

            DGV_Accounts.AutoGenerateColumns = false;

            DataGridViewTextBoxColumn cMACCol = new DataGridViewTextBoxColumn();
            cMACCol.DataPropertyName = "SrcMAC";
            cMACCol.Name             = "SrcMAC";
            cMACCol.HeaderText       = "MAC address";
            cMACCol.ReadOnly         = true;
            cMACCol.Width            = 120;
            //cMACCol.Visible = false;
            DGV_Accounts.Columns.Add(cMACCol);


            DataGridViewTextBoxColumn cSrcIPCol = new DataGridViewTextBoxColumn();
            cSrcIPCol.DataPropertyName = "SrcIP";
            cSrcIPCol.Name             = "SrcIP";
            cSrcIPCol.HeaderText       = "Source IP";
            cSrcIPCol.Visible          = false;
            cSrcIPCol.ReadOnly         = true;
            cSrcIPCol.Width            = 120;
            DGV_Accounts.Columns.Add(cSrcIPCol);


            DataGridViewTextBoxColumn cDstIPCol = new DataGridViewTextBoxColumn();
            cDstIPCol.DataPropertyName = "DstIP";
            cDstIPCol.Name             = "DstIP";
            cDstIPCol.HeaderText       = "Destination";
            cDstIPCol.ReadOnly         = true;
            cDstIPCol.Width            = 200;
            DGV_Accounts.Columns.Add(cDstIPCol);

            DataGridViewTextBoxColumn cDestPortCol = new DataGridViewTextBoxColumn();
            cDestPortCol.DataPropertyName = "DstPort";
            cDestPortCol.Name             = "DstPort";
            cDestPortCol.HeaderText       = "Service";
            cDestPortCol.ReadOnly         = true;
            cDestPortCol.Width            = 60;
            DGV_Accounts.Columns.Add(cDestPortCol);


            DataGridViewTextBoxColumn cUserCol = new DataGridViewTextBoxColumn();
            cUserCol.DataPropertyName = "Username";
            cUserCol.Name             = "Username";
            cUserCol.HeaderText       = "Username";
            cUserCol.ReadOnly         = true;
            cUserCol.Width            = 150;
            DGV_Accounts.Columns.Add(cUserCol);


            DataGridViewTextBoxColumn cmPassCol = new DataGridViewTextBoxColumn();
            cmPassCol.DataPropertyName = "Password";
            cmPassCol.Name             = "Password";
            cmPassCol.HeaderText       = "Password";
            cmPassCol.ReadOnly         = true;
            //            cmPassCol.Width = 120;
            cmPassCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            DGV_Accounts.Columns.Add(cmPassCol);


            cAccounts = new BindingList <Account>();
            DGV_Accounts.DataSource = cAccounts;
            #endregion

            /*
             * Plugin configuration
             */
            T_GUIUpdate.Interval = 1000;
            PluginParameters     = pPluginParams;
            String lBaseDir    = String.Format(@"{0}\", (pPluginParams != null) ? pPluginParams.PluginDirectoryFullPath : Directory.GetCurrentDirectory());
            String lSessionDir = (pPluginParams != null) ? pPluginParams.SessionDirectoryFullPath : String.Format("{0}sessions", lBaseDir);

            cPeersDataSource = new List <PeerSystems>();
            cAccountPatterns = new List <ManageAuthentications.AccountPattern>();

            Config = new PluginProperties()
            {
                BaseDir           = lBaseDir,
                SessionDir        = lSessionDir,
                PluginName        = "HTTP(S) proxy",
                PluginDescription = "HTTP and HTTPS reverse proxy server to sniff on (encrypted) HTTP connections.",
                PluginVersion     = "0.7",
                Ports             = "TCP:80;TCP:443;",
                IsActive          = true
            };

            cDataBatch = new List <String>();

            // Make it double buffered.
            typeof(DataGridView).InvokeMember("DoubleBuffered", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetProperty, null, DGV_Accounts, new object[] { true });
            T_GUIUpdate.Start();

            WebServerConfig lWebServerConfig = new WebServerConfig();
            lWebServerConfig.BasisDirectory = Config.BaseDir;

            cTask = TaskFacade.getInstance(lWebServerConfig, this);
            DomainFacade.getInstance(lWebServerConfig, this).addObserver(this);
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        public PluginDNSRequestsUC(PluginParameters pPluginParams)
        {
            InitializeComponent();

            #region DATAGRID HEADERS

            DataGridViewTextBoxColumn cMACCol = new DataGridViewTextBoxColumn();
            cMACCol.DataPropertyName = "SrcMAC";
            cMACCol.Name             = "SrcMAC";
            cMACCol.HeaderText       = "MAC address";
            cMACCol.ReadOnly         = true;
            cMACCol.Width            = 140;
            DGV_DNSRequests.Columns.Add(cMACCol);


            DataGridViewTextBoxColumn cSrcIPCol = new DataGridViewTextBoxColumn();
            cSrcIPCol.DataPropertyName = "SrcIP";
            cSrcIPCol.Name             = "SrcIP";
            cSrcIPCol.HeaderText       = "Source IP";
            cSrcIPCol.ReadOnly         = true;
            cSrcIPCol.Width            = 120;
            DGV_DNSRequests.Columns.Add(cSrcIPCol);


            DataGridViewTextBoxColumn cTimestampCol = new DataGridViewTextBoxColumn();
            cTimestampCol.DataPropertyName = "Timestamp";
            cTimestampCol.Name             = "Timestamp";
            cTimestampCol.HeaderText       = "Timestamp";
            cTimestampCol.ReadOnly         = true;
            cTimestampCol.Width            = 120;
            DGV_DNSRequests.Columns.Add(cTimestampCol);


            DataGridViewTextBoxColumn cRemHostCol = new DataGridViewTextBoxColumn();
            cRemHostCol.DataPropertyName = "DNSHostname";
            cRemHostCol.Name             = "DNSHostname";
            cRemHostCol.HeaderText       = "DNS request";
            cRemHostCol.ReadOnly         = true;
            cRemHostCol.Width            = 180;
            cRemHostCol.AutoSizeMode     = DataGridViewAutoSizeColumnMode.Fill;
            DGV_DNSRequests.Columns.Add(cRemHostCol);

            DataGridViewTextBoxColumn cPacketTypeCol = new DataGridViewTextBoxColumn();
            cPacketTypeCol.DataPropertyName = "PacketType";
            cPacketTypeCol.Name             = "PacketType";
            cPacketTypeCol.HeaderText       = "Packet type";
            cPacketTypeCol.ReadOnly         = true;
            //cRemHostCol.Width = 280;
            cPacketTypeCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            DGV_DNSRequests.Columns.Add(cPacketTypeCol);

            cDNSRequests = new BindingList <DNSRequestRecord>();
            DGV_DNSRequests.DataSource = cDNSRequests;

            #endregion


            /*
             * Plugin configuration
             */
            T_GUIUpdate.Interval = 2000;
            PluginParameters     = pPluginParams;
            String lBaseDir    = String.Format(@"{0}\", (pPluginParams != null) ? pPluginParams.PluginDirectoryFullPath : Directory.GetCurrentDirectory());
            String lSessionDir = (pPluginParams != null) ? pPluginParams.SessionDirectoryFullPath : String.Format("{0}sessions", lBaseDir);

            Config = new PluginProperties()
            {
                BaseDir           = lBaseDir,
                SessionDir        = lSessionDir,
                PluginName        = "DNS requests",
                PluginDescription = "Listing client systems DNS requests.",
                PluginVersion     = "0.7",
                Ports             = "UDP:53;",
                IsActive          = true
            };

            cDataBatch = new List <String>();

            // Make it double buffered.
            typeof(DataGridView).InvokeMember("DoubleBuffered", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetProperty, null, DGV_DNSRequests, new object[] { true });
            T_GUIUpdate.Start();

            cTask   = TaskFacade.getInstance(this);
            cDomain = DomainFacade.getInstance(this);

            cDomain.addObserver(this);
        }
Exemple #3
0
        /// <summary>
        /// Constructor.
        /// Instantiate the UserControl.
        /// </summary>
        public PluginSystemsUC(PluginParameters pPluginParams)
        {
            InitializeComponent();

            #region DATAGRID HEADER

            DGV_Systems.AutoGenerateColumns = false;

            DataGridViewTextBoxColumn cMACCol = new DataGridViewTextBoxColumn();
            cMACCol.DataPropertyName = "SrcMAC";
            cMACCol.Name             = "SrcMAC";
            cMACCol.HeaderText       = "MAC address";
            cMACCol.ReadOnly         = true;
            cMACCol.Width            = 120;
            cMACCol.Resizable        = System.Windows.Forms.DataGridViewTriState.False;
            DGV_Systems.Columns.Add(cMACCol);


            DataGridViewTextBoxColumn cSrcIPCol = new DataGridViewTextBoxColumn();
            cSrcIPCol.DataPropertyName = "SrcIP";
            cSrcIPCol.Name             = "SrcIP";
            cSrcIPCol.HeaderText       = "Source IP";
            cSrcIPCol.Width            = 140;
            cSrcIPCol.ReadOnly         = true;
            cSrcIPCol.Resizable        = System.Windows.Forms.DataGridViewTriState.False;
            DGV_Systems.Columns.Add(cSrcIPCol);

            DataGridViewTextBoxColumn cAppURLCol = new DataGridViewTextBoxColumn();
            cAppURLCol.DataPropertyName = "OperatingSystem";
            cAppURLCol.Name             = "OperatingSystem";
            cAppURLCol.HeaderText       = "Operating System";
            cAppURLCol.ReadOnly         = true;
            cAppURLCol.Width            = 200; // 373;
            cAppURLCol.Resizable        = System.Windows.Forms.DataGridViewTriState.False;
            DGV_Systems.Columns.Add(cAppURLCol);

            DataGridViewTextBoxColumn cHWVendorCol = new DataGridViewTextBoxColumn();
            cHWVendorCol.DataPropertyName = "HWVendor";
            cHWVendorCol.Name             = "HWVendor";
            cHWVendorCol.HeaderText       = "Hardware vendor";
            cHWVendorCol.ReadOnly         = true;
            cHWVendorCol.Width            = 200; // 373;
            cHWVendorCol.Resizable        = System.Windows.Forms.DataGridViewTriState.False;
            DGV_Systems.Columns.Add(cHWVendorCol);


            DataGridViewTextBoxColumn cLastSeenCol = new DataGridViewTextBoxColumn();
            cLastSeenCol.DataPropertyName = "LastSeen";
            cLastSeenCol.Name             = "LastSeen";
            cLastSeenCol.HeaderText       = "Last seen";
            cLastSeenCol.ReadOnly         = true;
            //cLastSeenCol.Width = 120;
            cLastSeenCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            cLastSeenCol.Resizable    = System.Windows.Forms.DataGridViewTriState.False;
            DGV_Systems.Columns.Add(cLastSeenCol);

            cSystems = new BindingList <SystemRecord>();
            DGV_Systems.DataSource = cSystems;

            #endregion


            /*
             * Plugin configuration
             */
            T_GUIUpdate.Interval = 1000;
            cPluginParams        = pPluginParams;
            String lBaseDir    = String.Format(@"{0}\", (pPluginParams != null) ? pPluginParams.PluginDirectoryFullPath : Directory.GetCurrentDirectory());
            String lSessionDir = (pPluginParams != null) ? pPluginParams.SessionDirectoryFullPath : String.Format("{0}sessions", lBaseDir);

            Config = new PluginProperties()
            {
                BaseDir           = lBaseDir,
                SessionDir        = lSessionDir,
                PluginName        = "Systems",
                PluginDescription = "Listing detected client systems, their OS type and the timestamp when it was last seen.",
                PluginVersion     = "0.8",
                Ports             = "TCP:80;TCP:443;",
                IsActive          = true
            };

            cDataBatch = new List <String>();

            // Make it double buffered.
            typeof(DataGridView).InvokeMember("DoubleBuffered", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetProperty, null, DGV_Systems, new object[] { true });
            T_GUIUpdate.Start();


            cTask = TaskFacade.getInstance(this);
            DomainFacade.getInstance(this).addRecordObserver(this);
            DomainFacade.getInstance(this).addSystemPatternObserver(this);
            cSystemPatterns = new List <ManageSystems.SystemPattern>();
        }
Exemple #4
0
        /// <summary>
        ///
        /// </summary>
        public PluginSessionsUC(PluginParameters pPluginParams)
        {
            InitializeComponent();

            TV_Sessions.ExpandAll();


            #region DATAGRID HEADER

            DGV_Sessions.AutoGenerateColumns = false;

            DataGridViewTextBoxColumn cSrcMAC = new DataGridViewTextBoxColumn();
            cSrcMAC.DataPropertyName = "SrcMAC";
            cSrcMAC.Name             = "SrcMAC";
            cSrcMAC.HeaderText       = "Source MAC";
            cSrcMAC.Width            = 125;
            DGV_Sessions.Columns.Add(cSrcMAC);


            DataGridViewTextBoxColumn cSrcIPCol = new DataGridViewTextBoxColumn();
            cSrcIPCol.DataPropertyName = "SrcIP";
            cSrcIPCol.Name             = "SrcIP";
            cSrcIPCol.HeaderText       = "Source IP";
            cSrcIPCol.Width            = 120;
            //            cSrcIPCol.Visible = false;
            DGV_Sessions.Columns.Add(cSrcIPCol);


            DataGridViewTextBoxColumn cServiceURLCol = new DataGridViewTextBoxColumn();
            cServiceURLCol.DataPropertyName = "URL";
            cServiceURLCol.Name             = "URL";
            cServiceURLCol.HeaderText       = "URL";
            cServiceURLCol.ReadOnly         = true;
            cServiceURLCol.Resizable        = System.Windows.Forms.DataGridViewTriState.False;
            //            cServiceURLCol.Width = 180;
            cServiceURLCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            DGV_Sessions.Columns.Add(cServiceURLCol);


            DataGridViewTextBoxColumn cDestPortCol = new DataGridViewTextBoxColumn();
            cDestPortCol.DataPropertyName = "DstPort";
            cDestPortCol.Name             = "DstPort";
            cDestPortCol.HeaderText       = "Service";
            cDestPortCol.Visible          = false;
            cDestPortCol.ReadOnly         = true;
            DGV_Sessions.Columns.Add(cDestPortCol);


            DataGridViewTextBoxColumn cCookiesCol = new DataGridViewTextBoxColumn();
            cCookiesCol.DataPropertyName = "SessionCookies";
            cCookiesCol.Name             = "SessionCookies";
            cCookiesCol.HeaderText       = "Cookies";
            cCookiesCol.Visible          = false;
            DGV_Sessions.Columns.Add(cCookiesCol);


            DataGridViewTextBoxColumn cBrowserCol = new DataGridViewTextBoxColumn();
            cBrowserCol.DataPropertyName = "Browser";
            cBrowserCol.Name             = "Browser";
            cBrowserCol.HeaderText       = "Browser";
            cBrowserCol.Visible          = false;
            cBrowserCol.Width            = 120;
            DGV_Sessions.Columns.Add(cBrowserCol);



            DataGridViewTextBoxColumn cGroupCol = new DataGridViewTextBoxColumn();
            cGroupCol.DataPropertyName = "Group";
            cGroupCol.Name             = "Group";
            cGroupCol.HeaderText       = "Group";
            cGroupCol.Visible          = false;
            cGroupCol.Width            = 0;
            DGV_Sessions.Columns.Add(cGroupCol);

            cSessions = new BindingList <Session.Config.Session>();
            DGV_Sessions.DataSource = cSessions;
            #endregion


            /*
             * Plugin configuration
             */
            T_GUIUpdate.Interval = 1000;
            cPluginParams        = pPluginParams;
            String lBaseDir    = String.Format(@"{0}\", (pPluginParams != null) ? pPluginParams.PluginDirectoryFullPath : Directory.GetCurrentDirectory());
            String lSessionDir = (pPluginParams != null) ? pPluginParams.SessionDirectoryFullPath : String.Format("{0}sessions", lBaseDir);

            Config = new PluginProperties()
            {
                BaseDir           = lBaseDir,
                SessionDir        = lSessionDir,
                PluginName        = "Sessions",
                PluginDescription = "Listing and taking over session where valid session cookies where found within HTTP requests.",
                PluginVersion     = "0.8",
                Ports             = "TCP:80;TCP:443;",
                IsActive          = true
            };
            cDataBatch = new List <String>();

            // Make it double buffered.
            typeof(DataGridView).InvokeMember("DoubleBuffered", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetProperty, null, DGV_Sessions, new object[] { true });
            T_GUIUpdate.Start();

            cSessionPatterns         = new List <MngSessionsConfig.SessionPattern>();
            TV_Sessions.DoubleClick += TreeView_DoubleClick;

            cTask = TaskFacade.getInstance(this);
            DomainFacade.getInstance(this).addObserver(this);
        }
Exemple #5
0
        public PluginUsedAppsUC(PluginParameters pPluginParams)
        {
            InitializeComponent();


            #region DATAGRID HEADER

            DataGridViewTextBoxColumn cMACCol = new DataGridViewTextBoxColumn();
            cMACCol.DataPropertyName = "SrcMAC";
            cMACCol.Name             = "SrcMAC";
            cMACCol.HeaderText       = "MAC address";
            cMACCol.ReadOnly         = true;
            cMACCol.Visible          = true;
            cMACCol.Width            = 140;
            DGV_Applications.Columns.Add(cMACCol);


            DataGridViewTextBoxColumn cSrcIPCol = new DataGridViewTextBoxColumn();
            cSrcIPCol.DataPropertyName = "SrcIP";
            cSrcIPCol.Name             = "SrcIP";
            cSrcIPCol.HeaderText       = "Source IP";
            //cSrcIPCol.Visible = false;
            cSrcIPCol.ReadOnly = true;
            cSrcIPCol.Width    = 120;
            DGV_Applications.Columns.Add(cSrcIPCol);


            DataGridViewTextBoxColumn cAppNameCol = new DataGridViewTextBoxColumn();
            cAppNameCol.DataPropertyName = "AppName";
            cAppNameCol.Name             = "AppName";
            cAppNameCol.HeaderText       = "Application name";
            cAppNameCol.ReadOnly         = true;
            cAppNameCol.Visible          = true;
            cAppNameCol.Width            = 160;
            DGV_Applications.Columns.Add(cAppNameCol);

            DataGridViewTextBoxColumn cAppURLCol = new DataGridViewTextBoxColumn();
            cAppURLCol.DataPropertyName = "AppURL";
            cAppURLCol.Name             = "AppURL";
            cAppURLCol.HeaderText       = "Application URL";
            cAppURLCol.ReadOnly         = true;
            cAppURLCol.Visible          = true;
            //            cAppURLCol.Width = 230; // 213;
            cAppURLCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            DGV_Applications.Columns.Add(cAppURLCol);



            cApplications = new BindingList <ApplicationRecord>();
            DGV_Applications.DataSource = cApplications;

            #endregion


            /*
             * Plugin configuration
             */
            T_GUIUpdate.Interval = 1000;
            cPluginParams        = pPluginParams;
            String lBaseDir    = String.Format(@"{0}\", (pPluginParams != null) ? pPluginParams.PluginDirectoryFullPath : Directory.GetCurrentDirectory());
            String lSessionDir = (pPluginParams != null) ? pPluginParams.SessionDirectoryFullPath : String.Format("{0}sessions", lBaseDir);

            Config = new PluginProperties()
            {
                BaseDir           = lBaseDir,
                SessionDir        = lSessionDir,
                PluginName        = "Used apps",
                PluginDescription = "Listing with installed applications per client system.",
                PluginVersion     = "0.7",
                Ports             = "TCP:80;UDP:53;",
                IsActive          = true
            };

            cDataBatch = new List <String>();

            // Make it double buffered.
            typeof(DataGridView).InvokeMember("DoubleBuffered", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetProperty, null, DGV_Applications, new object[] { true });
            T_GUIUpdate.Start();

            cApplicationPatterns = new List <MngApplication.ApplicationPattern>();
            cTask = TaskFacade.getInstance(this);
            DomainFacade.getInstance(this).addObserver(this);
        }
        public PluginHTTPRequestsUC(PluginParameters pPluginParams)
        {
            InitializeComponent();

            #region DATAGRID HEADER

            DataGridViewTextBoxColumn cMACCol = new DataGridViewTextBoxColumn();
            cMACCol.DataPropertyName = "SrcMAC";
            cMACCol.Name             = "SrcMAC";
            cMACCol.HeaderText       = "MAC address";
            cMACCol.ReadOnly         = true;
            cMACCol.Width            = 140;
            DGV_HTTPRequests.Columns.Add(cMACCol);


            DataGridViewTextBoxColumn cSrcIPCol = new DataGridViewTextBoxColumn();
            cSrcIPCol.DataPropertyName = "SrcIP";
            cSrcIPCol.Name             = "SrcIP";
            cSrcIPCol.HeaderText       = "Source IP";
            cSrcIPCol.ReadOnly         = true;
            cSrcIPCol.Width            = 120;
            DGV_HTTPRequests.Columns.Add(cSrcIPCol);


            DataGridViewTextBoxColumn cTimestampCol = new DataGridViewTextBoxColumn();
            cTimestampCol.DataPropertyName = "Timestamp";
            cTimestampCol.Name             = "Timestamp";
            cTimestampCol.HeaderText       = "Timestamp";
            cTimestampCol.ReadOnly         = true;
            cTimestampCol.Visible          = false;
            cTimestampCol.Width            = 120;
            DGV_HTTPRequests.Columns.Add(cTimestampCol);


            DataGridViewTextBoxColumn cRequestMethodCol = new DataGridViewTextBoxColumn();
            cRequestMethodCol.DataPropertyName = "Method";
            cRequestMethodCol.Name             = "Method";
            cRequestMethodCol.HeaderText       = "Method";
            cRequestMethodCol.ReadOnly         = true;
            cRequestMethodCol.Visible          = true;
            cRequestMethodCol.Width            = 60;
            DGV_HTTPRequests.Columns.Add(cRequestMethodCol);


            DataGridViewTextBoxColumn cRemHostCol = new DataGridViewTextBoxColumn();
            cRemHostCol.DataPropertyName = "RemoteHost";
            cRemHostCol.Name             = "RemoteHost";
            cRemHostCol.HeaderText       = "Server";
            cRemHostCol.ReadOnly         = true;
            cRemHostCol.Width            = 150;
            DGV_HTTPRequests.Columns.Add(cRemHostCol);

            DataGridViewTextBoxColumn cRemFileNameCol = new DataGridViewTextBoxColumn();
            cRemFileNameCol.DataPropertyName = "RemoteFile";
            cRemFileNameCol.Name             = "RemoteFile";
            cRemFileNameCol.HeaderText       = "File name";
            cRemFileNameCol.ReadOnly         = true;
            cRemFileNameCol.Width            = 216;// 173;
            cRemFileNameCol.AutoSizeMode     = DataGridViewAutoSizeColumnMode.Fill;
            DGV_HTTPRequests.Columns.Add(cRemFileNameCol);


            DataGridViewTextBoxColumn cURLCol = new DataGridViewTextBoxColumn();
            cURLCol.DataPropertyName = "URL";
            cURLCol.Name             = "URL";
            cURLCol.HeaderText       = "URL";
            cURLCol.Visible          = false;
            DGV_HTTPRequests.Columns.Add(cURLCol);


            DataGridViewTextBoxColumn cCookiesCol = new DataGridViewTextBoxColumn();
            cCookiesCol.DataPropertyName = "SessionCookies";
            cCookiesCol.Name             = "SessionCookies";
            cCookiesCol.HeaderText       = "Cookies";
            cCookiesCol.Visible          = false;
            DGV_HTTPRequests.Columns.Add(cCookiesCol);


            DataGridViewTextBoxColumn cRequestCol = new DataGridViewTextBoxColumn();
            cRequestCol.DataPropertyName = "Request";
            cRequestCol.Name             = "Request";
            cRequestCol.HeaderText       = "Request";
            cRequestCol.Visible          = false;
            DGV_HTTPRequests.Columns.Add(cRequestCol);

            cHTTPRequests = new BindingList <HTTPRequests>();
            DGV_HTTPRequests.DataSource = cHTTPRequests;

            #endregion


            /*
             * Plugin configuration
             */
            T_GUIUpdate.Interval = 1000;
            PluginParameters     = pPluginParams;
            String lBaseDir    = String.Format(@"{0}\", (pPluginParams != null) ? pPluginParams.PluginDirectoryFullPath : Directory.GetCurrentDirectory());
            String lSessionDir = (pPluginParams != null) ? pPluginParams.SessionDirectoryFullPath : String.Format("{0}sessions", lBaseDir);

            Config = new PluginProperties()
            {
                BaseDir           = lBaseDir,
                SessionDir        = lSessionDir,
                PluginName        = "HTTP requests",
                PluginDescription = "Listing client systems HTTP requests.",
                PluginVersion     = "0.7",
                Ports             = "TCP:80;TCP:443;",
                IsActive          = true
            };

            cDataBatch = new List <String>();

            // Make it double buffered.
            typeof(DataGridView).InvokeMember("DoubleBuffered", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetProperty, null, DGV_HTTPRequests, new object[] { true });
            T_GUIUpdate.Start();

            cTask = TaskFacade.getInstance(this);
            DomainFacade.getInstance(this).addObserver(this);
        }
        /// <summary>
        ///
        /// </summary>
        public PluginIMAP4ProxyUC(PluginParameters pPluginParams)
        {
            InitializeComponent();

            #region DATAGRID HEADER

            DGV_Accounts.AutoGenerateColumns = false;

            DataGridViewTextBoxColumn cMACCol = new DataGridViewTextBoxColumn();
            cMACCol.DataPropertyName = "SrcMAC";
            cMACCol.Name             = "SrcMAC";
            cMACCol.HeaderText       = "MAC address";
            cMACCol.ReadOnly         = true;
            cMACCol.Width            = 120;
            //cMACCol.Visible = false;
            DGV_Accounts.Columns.Add(cMACCol);


            DataGridViewTextBoxColumn cSrcIPCol = new DataGridViewTextBoxColumn();
            cSrcIPCol.DataPropertyName = "SrcIP";
            cSrcIPCol.Name             = "SrcIP";
            cSrcIPCol.HeaderText       = "Source IP";
            cSrcIPCol.Visible          = false;
            cSrcIPCol.ReadOnly         = true;
            cSrcIPCol.Width            = 120;
            DGV_Accounts.Columns.Add(cSrcIPCol);


            DataGridViewTextBoxColumn cDstIPCol = new DataGridViewTextBoxColumn();
            cDstIPCol.DataPropertyName = "DstIP";
            cDstIPCol.Name             = "DstIP";
            cDstIPCol.HeaderText       = "Destination";
            cDstIPCol.ReadOnly         = true;
            cDstIPCol.Width            = 200;
            DGV_Accounts.Columns.Add(cDstIPCol);

            DataGridViewTextBoxColumn cDestPortCol = new DataGridViewTextBoxColumn();
            cDestPortCol.DataPropertyName = "DstPort";
            cDestPortCol.Name             = "DstPort";
            cDestPortCol.HeaderText       = "Service";
            cDestPortCol.ReadOnly         = true;
            cDestPortCol.Width            = 60;
            DGV_Accounts.Columns.Add(cDestPortCol);


            DataGridViewTextBoxColumn cUserCol = new DataGridViewTextBoxColumn();
            cUserCol.DataPropertyName = "Username";
            cUserCol.Name             = "Username";
            cUserCol.HeaderText       = "Username";
            cUserCol.ReadOnly         = true;
            cUserCol.Width            = 150;
            DGV_Accounts.Columns.Add(cUserCol);


            DataGridViewTextBoxColumn cPassCol = new DataGridViewTextBoxColumn();
            cPassCol.DataPropertyName = "Password";
            cPassCol.Name             = "Password";
            cPassCol.HeaderText       = "Password";
            cPassCol.ReadOnly         = true;
            //cPassCol.Width = 120;
            cPassCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            DGV_Accounts.Columns.Add(cPassCol);

            DataGridViewTextBoxColumn cServerCol = new DataGridViewTextBoxColumn();
            cServerCol.DataPropertyName = "Server";
            cServerCol.Name             = "Server";
            cServerCol.HeaderText       = "Server";
            cServerCol.ReadOnly         = true;
            //cServerCol.Width = 120;
            cServerCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            DGV_Accounts.Columns.Add(cServerCol);

            cAccounts = new BindingList <IMAP4Account>();
            DGV_Accounts.DataSource = cAccounts;
            #endregion


            /*
             * Plugin configuration
             */
            T_GUIUpdate.Interval = 1000;
            PluginParameters     = pPluginParams;
            String lBaseDir    = String.Format(@"{0}\", (pPluginParams != null) ? pPluginParams.PluginDirectoryFullPath : Directory.GetCurrentDirectory());
            String lSessionDir = (pPluginParams != null) ? pPluginParams.SessionDirectoryFullPath :  String.Format("{0}sessions", lBaseDir);

            Config = new PluginProperties()
            {
                BaseDir           = lBaseDir,
                SessionDir        = lSessionDir,
                PluginName        = "IMAP4(S) proxy",
                PluginDescription = "IMAP4(S) reverse proxy server to intercept account data.",
                PluginVersion     = "0.4",
                Ports             = "TCP:993;TCP:143;",
                IsActive          = true
            };

            cDataBatch = new List <String>();

            // Make it double buffered.
            typeof(DataGridView).InvokeMember("DoubleBuffered", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetProperty, null, DGV_Accounts, new object[] { true });
            T_GUIUpdate.Start();


            /*
             * Proxy server configuration
             */
            ProxyConfig lProxyConfig = new ProxyConfig()
            {
                BasisDirectory   = Config.BaseDir,
                SessionDirectory = Config.SessionDir,
                //RemoteHostName = String.Empty,
                isDebuggingOn = (PluginParameters.HostApplication != null) ? PluginParameters.HostApplication.IsDebuggingOn() : false,
                onProxyExit   = onIMAP4ProxyExited
            };
            cTask   = TaskFacade.getInstance(lProxyConfig, this);
            cDomain = DomainFacade.getInstance(lProxyConfig, this);
            cDomain.addObserver(this);
        }