NetworkListenIP4: CrowdStrike Listening Socket Event and Queries
Published
A program on a host started listening for incoming connections — the local address and port, the protocol, and in ContextProcessId the process that opened the socket.
Fields that matter in an investigation
| Field | What it tells you |
|---|---|
| LocalPort Panther FDR schema · CrowdStrike queries | The port the program is listening on. Rare ports across your estate and low ports opened by ordinary programs are the ones to explain. |
| LocalAddressIP4 Panther FDR schema · CrowdStrike queries | The address it listens on. 127.0.0.1 is reachable only from the host itself; 0.0.0.0 means every interface. |
| Protocol Panther FDR schema | IP protocol number — 6 TCP, 17 UDP. |
| ContextProcessId Panther FDR schema | Falcon's ID of the listening process — the TargetProcessId of its ProcessRollup2. CrowdStrike's own query joins the two on exactly these fields. |
| ConnectionFlags Panther FDR schema | Raw-socket (1) and promiscuous-mode (2, 4, 8) flags. A listener with these set is capturing traffic, not just accepting connections. |
| ComputerName Panther FDR schema · CrowdStrike queries | The host with the listener. |
| aid Panther FDR schema · CrowdStrike queries | Sensor ID of the host. |
All 9 documented NetworkListenIP4 fields, besides the generic sensor fields
- ConnectionDirectionPanther FDR schema
- ConnectionFlagsPanther FDR schema
- LocalAddressIP4Panther FDR schema · CrowdStrike queries
- LocalAddressIP6Panther FDR schema
- LocalPortPanther FDR schema · CrowdStrike queries
- ProtocolPanther FDR schema
- RemoteAddressIP4Panther FDR schema · CrowdStrike queries
- RemoteAddressIP6Panther FDR schema
- RemotePortPanther FDR schema
Panther's generic schema for all Falcon Data Replicator events adds the sensor and context fields (not every event type fills each one): ComputerName, ConfigBuild, ConfigStateHash, ContextProcessId, ContextThreadId, ContextTimeStamp, Entitlements, FileName, FilePath, InContext, TargetProcessId, TreeId, aid, aip, cid, event_platform, event_simpleName, id, name, timestamp.
What the numbers mean
These fields hold numbers that the Falcon console turns into words. The tables are CrowdStrike's own, from the decoding transforms in its public LogScale content repository, shown as published.
Protocol source ↗︎
| 1 | ICMP |
| 6 | TCP |
| 17 | UDP |
| 58 | ICMPv6 |
What it records
NetworkListenIP4 is written when a program on a host puts a socket into listening mode — when it starts waiting for incoming IPv4 connections. The record holds the LocalAddressIP4 and LocalPort it listens on and the Protocol (6 TCP, 17 UDP). ConnectionFlags marks raw sockets (1) and the promiscuous modes (2, 4 and 8) used to capture traffic. Panther documents listening and connecting events with closely related schemas, which is why remote-address fields also appear in the field list; for a listener they say little.
ContextProcessId names the listening process: it is that process’s TargetProcessId in ProcessRollup2. CrowdStrike’s published query for programs bound to low ports joins the two events on exactly these fields, keeps ports below 1024 and leaves out 127.x addresses. Once a connection is actually accepted, NetworkReceiveAcceptIP4 is the event name CrowdStrike’s queries use for it; outgoing connections are NetworkConnectIP4.
When it matters
A listener is a door. Most are expected — web servers, database servers, management agents — which is why the useful question is which ones are new or rare:
- Backdoors and bind shells. A shell, script host or unknown program listening on any port, or a program from a user or temporary folder opening a listener, is the classic shape of a backdoor.
- Unexpected remote access. VNC on 5900, an RDP listener on a host where remote desktop should be off, or remote-management agents nobody approved.
- Low ports bound by ordinary programs. Ports below 1024 normally belong to known services; CrowdStrike publishes a query for exactly this check, and a Windows one for listeners below port 10,000.
- Traffic capture. A listener with promiscuous-mode
ConnectionFlagsset on a host that is not a network sensor.
How to investigate
- List listeners by
LocalPortandProtocolacross the estate and sort by how few hosts have each; the rare ones come first. - Name the program behind each rare listener by joining to
ProcessRollup2on the process ID, and note its path and command line. - Check whether anything connected: look for accepted connections on that port, and at firewall rules that expose it.
- On Linux servers, compare listeners with what the host is supposed to run.
Programs listening on ports below 1024, following CrowdStrike’s published query:
#event_simpleName=ProcessRollup2
| join({#event_simpleName=NetworkListenIP4 LocalPort<1024 LocalPort!=0}, field=TargetProcessId, key=ContextProcessId, include=[LocalAddressIP4, LocalPort], limit=200000)
| LocalAddressIP4!=/^127\./
| groupBy([aid, ComputerName, ImageFileName, LocalAddressIP4, LocalPort], limit=max)
Listening ports by how many hosts have them — the rarest first:
#event_simpleName=NetworkListenIP4
| LocalAddressIP4!=/^127\./
| groupBy([LocalPort, Protocol], function=count(aid, distinct=true, as=Hosts), limit=max)
| sort(Hosts, order=asc, limit=200)
Low-port listeners over Falcon Data Replicator data in Splunk (add your index):
sourcetype="crowdstrike:events:sensor" event_simpleName=NetworkListenIP4 LocalPort<1024
| where NOT like(LocalAddressIP4, "127.%")
| stats dc(aid) AS Hosts, values(LocalAddressIP4) AS Addresses by LocalPort, Protocol
| sort Hosts
The CrowdStrike field reference covers the export format, and the free log analyzer reads Falcon exports in the browser.
Where these facts come from
CrowdStrike's event dictionary sits behind the Falcon console login, so the field list above is assembled from public sources that agree with one another, and checked on every build:
- CrowdStrike's own queries (logscale-community-content, public domain): 8 files use NetworkListenIP4, for example Health-LinuxSensors.yaml, Search-AcquireHostDetails.yaml, Search-ByAgentID.yaml.
- Panther's Falcon Data Replicator schema Crowdstrike.NetworkListen.
A field counts as documented when Panther or Splunk lists it for this event, or when at least two of CrowdStrike's query files read it from this event alone. The explanations are LogTriage's own.
Related events
- ProcessRollup2
- NetworkConnectIP4
- NetworkReceiveAcceptIP4
Frequently Asked Questions
- How do I find the program behind a NetworkListenIP4 event?
- ContextProcessId is Falcon's ID of the process that opened the listening socket; its ProcessRollup2 carries the same value as TargetProcessId. CrowdStrike's own query for low-port listeners joins ProcessRollup2 to NetworkListenIP4 with field=TargetProcessId and key=ContextProcessId and then reports the program's ImageFileName next to the port.
- What does a LocalAddressIP4 of 0.0.0.0 mean in a listening event?
- The program is listening on every IPv4 interface of the host, so other machines can reach it unless a firewall stops them. 127.0.0.1 means only programs on the same host can connect, which is common for local helpers and far less of a concern. CrowdStrike's low-port query leaves out the 127.0.0.0/8 range for that reason.
- Which listening ports should worry me?
- Ports few hosts in your estate listen on, listeners opened by programs running from user or temporary folders, and script hosts or shells listening at all — the shape of a bind shell or backdoor. Remote-access tools such as VNC on 5900 are worth confirming too, as is any program on a port below 1024 that is not a known service.
Find every NetworkListenIP4 in your own Falcon export
Load a Falcon Data Replicator or event-stream export into the free browser analyzer: suspicious command lines, LSASS access, logon failures, reverse-shell ports and Falcon's own detections are flagged, with event names linked to their pages here. Nothing is uploaded.
Investigating something right now? LogTriage checks every address in the file against threat intelligence and writes the incident report: 10 analyses a month free. The incident pack adds the in-depth AI analysis and files up to 100 MB: 25 analyses for $19, one payment, no subscription. Pricing