示例#1
0
        /// <summary>
        /// 
        /// </summary>
        public ControlRules()
        {
            InitializeComponent();

            Helper.AddListColumn(listEvents, "Src IP", "IpSrcTxt");
            Helper.AddListColumn(listEvents, "Src Port", "SrcPort");
            Helper.AddListColumn(listEvents, "Dst IP", "IpDstTxt");
            Helper.AddListColumn(listEvents, "Dst Port", "DstPort");
            Helper.AddListColumn(listEvents, "Protocol", "Protocol");
            Helper.AddListColumn(listEvents, "Host", "HttpHost");
            Helper.AddListColumn(listEvents, "Timestamp", "Timestamp");
            Helper.AddListColumn(listEvents, "TCP Flags", "TcpFlagsString");
            Helper.AddListColumn(listEvents, "Classification", "AcknowledgmentClass");
            Helper.AddListColumn(listEvents, "Initials", "Initials");
            Helper.AddListColumn(listEvents, "Payload (ASCII)", "PayloadAscii");
            Helper.ResizeEventListColumns(listEvents, false);

            listEvents.RowFormatter = delegate(OLVListItem olvi)
            {
                Event temp = (Event)olvi.RowObject;
                if (temp != null)
                {
                    if (temp.AcknowledgmentClass.ToLower() == "taken")
                    {
                        olvi.BackColor = Color.FromArgb(255, 246, 127); // Yellow
                    }
                    else if (temp.Initials.Length > 0)
                    {
                        olvi.BackColor = Color.FromArgb(176, 255, 119); // Green
                    }
                }
            };

            cboTimeFrom.SelectedIndex = 0;
            cboTimeTo.SelectedIndex = 0;
            dtpDateTo.Checked = false;

            _querier = new Querier();
            _querier.Error += OnQuerier_Error;
            _querier.Exclamation += OnQuerier_Exclamation;
            _querier.RuleQueryComplete += OnQuerier_RuleQueryComplete;
            _querier.RuleCheckQueryComplete += OnQuerier_RuleCheckQueryComplete;
            _querier.EventQueryComplete += OnQuerier_EventQueryComplete;
            _querier.RuleIpCsvQueryComplete += OnQuerier_RuleIpCsvQueryComplete;
            _querier.RuleIpListQueryComplete += OnQuerier_RuleIpListQueryComplete;

            _exporter = new Exporter();
            _exporter.Complete += OnExporter_Complete;
            _exporter.Error += OnExporter_Error;
            _exporter.Exclamation += OnExporter_Exclamation;

            _commands = new Commands();
            if (_commands.FileExists == true)
            {
                string ret1 = _commands.Load();
                if (ret1.Length > 0)
                {
                    UserInterface.DisplayErrorMessageBox(this, "An error occurred whilst loading the commands: " + ret1);
                }
            }

            _alerts = new Alerts();
            string ret2 = _alerts.Load();
            if (ret2.Length == 0)
            {
                if (_alerts.Interval > 0)
                {
                    _timerCheck = new System.Timers.Timer();
                    _timerCheck.Elapsed += OnTimerCheck_Elapsed;
                    _timerCheck.Interval = (_alerts.Interval * 60000); // Convert to milliseconds
                    _timerCheck.Enabled = true;
                }
            }

            LoadPriorities();
        }