Пример #1
0
        public void TestEventCollectorWindows()
        {
            Setup();

            var FirstRunId  = "TestEventCollector-1";
            var SecondRunId = "TestEventCollector-2";

            var fsc = new EventLogCollector(FirstRunId);

            fsc.Execute();

            using (EventLog eventLog = new EventLog("Application"))
            {
                eventLog.Source = "Attack Surface Analyzer Tests";
                eventLog.WriteEntry("This Log Entry was created for testing the Attack Surface Analyzer library.", EventLogEntryType.Warning, 101, 1);
            }

            fsc = new EventLogCollector(SecondRunId);
            fsc.Execute();

            BaseCompare bc = new BaseCompare();

            if (!bc.TryCompare(FirstRunId, SecondRunId))
            {
                Assert.Fail();
            }

            var results = bc.Results;

            Assert.IsTrue(results["LOG_CREATED"].Where(x => ((EventLogObject)x.Compare).Level == "Warning" && ((EventLogObject)x.Compare).Source == "Attack Surface Analyzer Tests").Count() == 1);

            TearDown();
        }
Пример #2
0
        public void TestEventCollectorWindows()
        {
            var source  = "AsaTests";
            var logname = "AsaTestLogs";

            if (EventLog.SourceExists(source))
            {
                // Delete the source and the log.
                EventLog.DeleteEventSource(source);
                EventLog.Delete(logname);
            }

            // Create the event source to make next try successful.
            EventLog.CreateEventSource(source, logname);

            using EventLog eventLog = new EventLog("Application");
            eventLog.Source         = "Attack Surface Analyzer Tests";
            eventLog.WriteEntry("This Log Entry was created for testing the Attack Surface Analyzer library.", EventLogEntryType.Warning, 101, 1);

            var elc = new EventLogCollector(new CollectCommandOptions());

            elc.TryExecute();

            Assert.IsTrue(elc.Results.Any(x => x is EventLogObject ELO && ELO.Source == "Attack Surface Analyzer Tests" && ELO.Timestamp is DateTime DT && DT.AddMinutes(1).CompareTo(DateTime.Now) > 0));

            ConcurrentStack <CollectObject> results = new ConcurrentStack <CollectObject>();

            elc = new EventLogCollector(new CollectCommandOptions(), x => results.Push(x));
            elc.TryExecute();

            Assert.IsTrue(results.Any(x => x is EventLogObject ELO && ELO.Source == "Attack Surface Analyzer Tests" && ELO.Timestamp is DateTime DT && DT.AddMinutes(1).CompareTo(DateTime.Now) > 0));

            EventLog.DeleteEventSource(source);
            EventLog.Delete(logname);
        }
        private EventLogCollectorDetail CreateDetail(VirtualResource resource)
        {
            EventLogCollector collector = resource as EventLogCollector;

            return(new EventLogCollectorDetail
            {
                ResourceId = collector.VirtualResourceId,
                ResourceType = EnumUtil.Parse <VirtualResourceType>(collector.ResourceType),
                Name = collector.Name,
                Description = collector.Description,
                InstanceCount = collector.InstanceCount,
                Platform = collector.Platform,
                Enabled = collector.Enabled,
                HostName = collector.HostName,
                ComponentsData = collector.ComponentsData,
                EntryTypesData = collector.EntryTypesData,
                PollingInterval = collector.PollingInterval
            });
        }
Пример #4
0
        /// <summary>
        /// Initializes this instance with the specified object.
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <exception cref="ControlTypeMismatchException">
        /// Thrown when an object of incorrect type is passed to this instance.
        ///   </exception>
        public override void Initialize(object entity)
        {
            _eventLogCollector = entity as EventLogCollector;
            if (_eventLogCollector == null)
            {
                throw new ControlTypeMismatchException(entity, typeof(EventLogCollector));
            }

            ServerInfo server = ConfigurationServices.AssetInventory.GetServers().FirstOrDefault(n => n.HostName == _eventLogCollector.HostName);

            if (server != null)
            {
                serverComboBox.Initialize(server, "EventLog");
            }
            else
            {
                serverComboBox.Initialize("EventLog");
            }

            platform_ComboBox.SetPlatform(_eventLogCollector.Platform, VirtualResourceType.EventLogCollector);

            // Set up data bindings
            name_TextBox.DataBindings.Add("Text", _eventLogCollector, "Name");
            description_TextBox.DataBindings.Add("Text", _eventLogCollector, "Description");
            platform_ComboBox.DataBindings.Add("SelectedValue", _eventLogCollector, "Platform");

            Binding intervalBinding = new Binding("Text", _eventLogCollector, "PollingInterval");

            intervalBinding.Format += new ConvertEventHandler(IntervalBinding_Format);
            intervalBinding.Parse  += new ConvertEventHandler(IntervalBinding_Parse);
            interval_TextBox.DataBindings.Add(intervalBinding);

            serverComboBox_SelectionChanged(serverComboBox, EventArgs.Empty);
            SelectedComponents = LegacySerializer.DeserializeXml <List <string> >(_eventLogCollector.ComponentsData);
            SelectedEntryTypes = LegacySerializer.DeserializeXml <List <string> >(_eventLogCollector.EntryTypesData);

            if (platform_ComboBox.SelectedIndex == -1) //Default to first item if platform isn't set
            {
                platform_ComboBox.SelectedIndex = 0;
            }

            serverComboBox.SelectionChanged += serverComboBox_SelectionChanged;
        }
 private void LoadManifest()
 {
     _collector = new EventLogCollector(SystemManifest.SessionId, SystemManifest.Resources.OfType <EventLogCollectorDetail>().FirstOrDefault());
 }
Пример #6
0
        public static Data Create(DataCollectorContext context, string value)
        {
            Data d = null;

            switch (context.Type)
            {
            case ECollectorType.Memory:
                d = MemoryUsageCollector.Create(context, value);
                break;

            case ECollectorType.Disk:
                d = DiskUsageCollector.Create(context, value);
                break;

            case ECollectorType.CPUUsage:
                d = CPUUsageCollector.Create(context, value);
                break;

            case ECollectorType.NICUsage:
                d = NICUsageCollector.Create(context, value);
                break;

            case ECollectorType.Uptime:
                d = UptimeCollector.Create(context, value);
                break;

            case ECollectorType.LastBootTime:
                d = LastBootTimeCollector.Create(context, value);
                break;

            case ECollectorType.Processes:
                d = ProcessesCollector.Create(context, value);
                break;

            case ECollectorType.Ping:
                d = PingCollector.Create(context, value);
                break;

            case ECollectorType.InstalledApplications:
                d = ApplicationsCollector.Create(context, value);
                break;

            case ECollectorType.Services:
                d = ServicesCollector.Create(context, value);
                break;

            case ECollectorType.SystemErrors:
                d = EventLogCollector.Create(context, value);
                break;

            case ECollectorType.ApplicationErrors:
                d = EventLogCollector.Create(context, value);
                break;

            case ECollectorType.DatabaseSize:
                d = DatabaseSizeCollector.Create(context, value);
                break;

            case ECollectorType.UPS:
                d = UPSCollector.Create(context, value);
                break;

            case ECollectorType.DiskSpeed:
                d = DiskSpeedCollector.Create(context, value);
                break;

            case ECollectorType.Configuration:
                break;

            case ECollectorType.SMART:
                break;

            //case CollectorType.AntiVirus:
            //case CollectorType.Firewall:
            case ECollectorType.Unknown:
            default:
                break;
            }

            return(d);
        }