public void ShouldParseResponseAndReturnTheValuesInTheEventPayload() { IEnumerable <IEvent> events = _generator.GetEvents(); Assert.AreEqual(1, events.Count()); Assert.IsInstanceOfType(events.First(), typeof(ListeningPorts)); ListeningPorts listeningPortsEvent = (ListeningPorts)events.First(); Assert.AreEqual(1, listeningPortsEvent.Payload.Count()); ListeningPortsPayload payload = listeningPortsEvent.Payload.First(); Assert.AreEqual("80", payload.LocalPort); Assert.AreEqual("0", payload.RemotePort); Assert.AreEqual("tcp", payload.Protocol); }
public void ListeningPorts() { var payload = new ListeningPortsPayload { LocalAddress = "::ffff:c000:0280", LocalPort = "234", Protocol = "tcp", RemoteAddress = "192.168.0.1", RemotePort = "32" }; var obj = new ListeningPorts(EventPriority.Operational, payload); obj.ValidateSchema(); }
/// <summary> /// Read the netsat output /// Create an event that conatins all the open ports in state LISTEN (UDP and TCP) /// </summary> /// <returns>List of open ports event</returns> protected override List <IEvent> GetEventsImpl() { //Run netstat and parse the output const string netstatCommand = "netstat -ln"; string content = _processUtil.ExecuteBashShellCommand(netstatCommand); List <ListeningPortsPayload> payloads = NetstatUtils.ParseNetstatListeners(content, LocalAddressColumnNumber, RemoteAddressColumnNumber); SimpleLogger.Debug($"NetstatEventGenerator returns {payloads.Count} payloads"); var openPorts = new ListeningPorts(Priority, payloads.ToArray()); return(new List <IEvent>() { openPorts }); }
/// <summary> /// Read the netsat output /// Create an event that conatins all the open ports in state LISTEN (UDP and TCP) /// </summary> /// <returns>List of open ports event</returns> protected override List <IEvent> GetEventsImpl() { //Run netstat and parse the output //We redirect stderr to /dev/null to avoid root requirements (sudo) const string netstatCommand = "netstat -an"; string content = _processUtil.ExecuteWindowsCommand(netstatCommand); List <ListeningPortsPayload> payloads = NetstatUtils.ParseNetstatListeners(content, LocalAddressColumnNumber, RemoteAddressColumnNumber); SimpleLogger.Debug($"NetstatEventGenerator returns {payloads.Count} payloads"); var openPorts = new ListeningPorts(Priority, payloads.ToArray()); return(new List <IEvent>() { openPorts }); }