Skip to main content
Version: 2.12.0

Network Conversations Monitor (10062)

The Network Conversations Monitor is the primary foundational module for modern network observability within NFO. It is designed to transform high-volume, fragmented flow records into structured, enriched "conversations." This module is the recommended starting point for all new deployments, especially those requiring deep security forensics, user attribution, and cloud visibility.

Functionality

This module performs sophisticated analysis on raw telemetry to provide a complete picture of network interactions:

  • Conversation Stitching (Bidirectional): Unlike traditional collectors that report two separate records for a single exchange, this module "stitches" forward and reverse flows into a single bidirectional event. It reports bytes_in/bytes_out and packets_in/packets_out fields, providing an immediate view of the symmetry and health of a connection.

  • Intelligent Consolidation: It aggregates flow records that share the same 5-tuple (Source/Dest IP, Source/Dest Port, Protocol) over a Data Collection Interval (DCI). This significantly reduces the volume of data sent to your SIEM while preserving the essential details of the interaction.

  • State Tracking: The module tracks the lifecycle of every conversation:

    • B (Begin): A new conversation is detected.
    • C (Continuing): An ongoing conversation that spans multiple collection intervals.
    • E (End): A conversation that has timed out or completed.
  • Authoritative Deduplication: In complex networks where multiple routers see the same packet, NFO identifies the "authoritative" exporter and discards redundant records to prevent inflated traffic statistics.

  • Conversation Duration: Network Conversation duration is calculated as a difference between the earliest flow_start_time of a conversation  when its state=B and the latest flow_end_time for state = C or E.

  • Traffic Directionality: By defining local subnets, the module automatically labels traffic as inbound, outbound, internal, or unknown.

Supported Inputs

The Network Conversations Monitor is protocol-agnostic and normalizes a wide array of telemetry sources into a unified schema:

  • Standard Protocols: NetFlow (v5, v9), IPFIX, and sFlow.
  • Cloud Flow Logs: AWS VPC, Microsoft Azure NSG and VNet, Oracle Cloud (OCI), and Google Cloud (GCP) Flow Logs.
  • Application Delivery: Cisco AVC, Palo Alto Networks App-ID Technology, Fortinet App Identification, Citrix AppFlow.

Flow Enrichment

The Network Conversations Monitor serves as the primary hub for NFO's enrichment intelligence. It enriches raw flows with the following contextual metadata:

  • User Identity: Maps IP addresses to Active Directory, Okta, or Azure Entra ID usernames, allowing you to see who is responsible for specific traffic.
  • Cyber Threat Intelligence: Correlates source and destination IPs against real-time reputation lists (e.g., Botnets, C2 servers). Malicious communications are always reported, even if they fall outside of "Top N" traffic thresholds.
  • Application Context: Identifies the specific application (e.g., Office365, Facebook, SSH) using deep packet inspection (DPI) data from modern exporters.
  • Cloud & Virtualization Metadata: Adds VM names, VPC/VNET tags, and region information for AWS, Azure, GCP, and VMware environments.
  • GeoIP & FQDN: Resolves IP addresses to geographic locations and Fully Qualified Domain Names.

Configuration Parameters

To tune the module, click on 10062: Network Conversation Monitor in the NFO Web UI.

Core Logic Parameters

Parameter NameDescriptionComments
Top N per exporter (0 for all traffic)Top N Reported Hosts per NetFlow Exporter (set to 0 to report all flows).

NOTE: Conversations with malicious hosts are reported regardless whether they are in Top N by traffic volume or not!
min = 0, max = 100000, default = 50
Session report timeout, secInactivity threshold to determine when a conversation has ended. When reached, an event is reported with state="E".default - 60s (Min: 0, Max: 600). Should exceed device inactive timeout. Note: Set to 0 to disable duration/state tracking for maximum performance.
Report inactive sessionsIf set to 1, report inactive session with 0 bytes/packets, even if there were no flows during DCI. If set to 0, inactive sessions are not reporteddefault - 0
Report long flows with cumulative bytes and packetsIf set to 1, cumulative bytes and packets are reported for long sessions. If set to 0, incremental bytes and packets are reported for long flows (state = “C”)default - 0
Enable (1) or disable (0) deduplicationIf set to 1 (de-duplication enabled), the Module reports flows only from authoritative exportersdefault - 0
Enable (1) or disable (0) multiplying by sampling rateIf set to 1, when flow is sampled (e.g. sFlow, sampled NetFlow/IPFIX), the sampling rate is used to multiply bytes and packets to report total traffic as statistical approximation*default - 0
Default sampler rateIf sampling information is not available, use this rate to multiply bytes and packets to report total traffic as statistical approximationdefault - 1
Enable (1) or disable (0) reporting bidirectional conversationsIf set to 1, stitch client-server flows reporting bytes_in and bytes_out, packets_in and packets_out in on consolidated messagedefault - 0
Enable (1) or disable (0) reporting client portIf set to 1, the ephemeral client port number is reported. If set to 0, client port number is not taken into account for consolidation, and reported as 0. To preserve client ports for specific destination ports, refer to the TIP below the tabledefault - 1
Enable (1) or disable (0) reporting flow denied eventsIf set to 1, denied or rejected flows are reported. If set to 0, only allowed or accepted flows are reporteddefault - 1
Enable (1) or disable (0) collecting application info from devices reporting itIf set to 1, application collector is enabled. If set to 0, applications are reported only in flows containing app fieldsdefault - 1
Enable (1) or disable (0) enriching other devices with application infoIf set to 1, application collector is used to enrich all flows, even if they did not have application fieldsdefault - 1
Output filename for application infoPath to application collector file. Used for troubleshooting purposesdefault - ../../logs/app_info.log
Enable (1) or disable (0) generating end of conversation eventsIf set to 1, events at the end of conversations (state=E) are created and reporteed. If set to 0, events with stary=E are not reporteddefault - 0
Enable (1) or disable (0) SNMP enrichmentIf set to 1, the Module will call SNMP service to enrich flow data with sysName and interface names. If set to 0, SNMP service is not calleddefault - 1
Enable (1) or disable (0) NetFlow timestamp correctionIf set to 1, the Module will correct out of sequence flow_start_time and flow_end_time, which can occur due to a bug in the Netflow implementation on certain devicesdefault - 0
Maximizing Data Reduction by Ignoring Client Port

While NFO inherently reduces volume through flow consolidation, you can achieve massive additional gains by ignoring ephemeral client ports.

By aggregating flows based only on Source IP, Destination IP, and Destination Port, you can achieve data reduction ratios of 20x to 100x. This significantly lowers SIEM costs and improves search performance without losing visibility into the services being accessed.

  • Selective Visibility: To keep client ports for specific traffic (e.g., DNS), use the List of known server destination port numbers to exempt those ports from aggregation.

Data Consolidation Parameter

Parameter NameDescriptionComments
Data Collection Interval, secThe timeframe over which flows are consolidated.default - 30s (Min: 5s, Max: 86400s)

Data Sets and Enrichment Parameters

Parameter NameDescriptionComments
List of known server destination port numbersList of server destination ports to be used to determine which host is a client and which is a server. If the list is empty, the server is the one with a smaller port number. This parameter is ignored for unidirectional flows.This parameter is pre-loaded with values from: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
List of local subnetsUsed to identify direction for IPv4 traffic: inbound or outbound or internaldefault - { 10.0.0.0,8; 172.16.0.0,12; and 192.168.0.0,16 }
List of local IPv6 prefixesUsed to identify direction for IPv6 traffic: inbound or outbound or internaldefault - fc00:0:0:0:0:0:0:0,7
AWS EC2 instances listList of EC2 instances with IPs and VPC names and other informationProvided by EDFN agent. Please see ingesting Amazon VPC Flow Logs for details
AWS VPC IPv4 RoutesList of AWS VPC IPv4 routesProvided by EDFN agent. Please see ingesting Amazon VPC Flow Logs for details
AWS VPC IPv6 RoutesList of AWS VPC IPv6 routesProvided by EDFN agent. Please see ingesting Amazon VPC Flow Logs for details
IPv4 address ranges for cloud servicesList of IPv4 address ranges for cloud servicesProvided by EDFN agent
IPv6 address ranges for cloud servicesList of IPv6 address ranges for cloud servicesProvided by EDFN agent
GCP VM instances listList of Google cloud VM namesProvided by EDFN agent
GCP IPv4 routes listList of Google cloud routesProvided by EDFN agent
Azure VM InstancesList of Azure VM namesProvided by EDFN agent
Azure IPv4 RoutesList of Azure IPv4 routesProvided by EDFN agent
Azure IPv6 RoutesList of Azure IPv6 routesProvided by EDFN agent
List of Users by IPv4 addressList of Users logged in from IPv4 addressesProvided by EDFN agent. Please see User Identity Enrichment for details
List of Users by IPv6 addressList of Users logged in from IPv6 addressesProvided by EDFN agent. Please see User Identity Enrichment for details
Applications override listList of App IDs and names to override applications reported by NetFlow/IPFIXCreated manually
List of Application names to be ignoredList of App names provided by DPI engines not to be collected / reportedCreated manually. default - { incomplete; not-applicable; unknown-udp; unknown-tcp; unknown-p2p }
Custom Applications listList of Custom Applications: IPv4 Address, Port, Protocol, Application Name, etc.Created manually
Custom Threat listList of public and private IP addresses with reputation known to be malicious hostsProvided by EDFN agent. Please see Cyber Threat Intelligence for details
IPv4 address block and country codeMapping of country codes to IP addresses blocksProvided by EDFN agent. Please see GeoIP and ASN Enrichment for details
IPv4 address block and city locationMapping of city and country codes to IP addresses blocksProvided by EDFN agent. Please see GeoIP and ASN Enrichment for details
List of vCenter Virtual MachinesList of VMs, including: VDS IPv4 address, VM IPv4 address, VM IPv6 address, VDS Port ID, vNIC key, Port Group name, VM name, VM MoRef, VM instance UUID, vCenter UUIDProvided by EDFN agent by connecting to one or several vCenters
List of BD subnets to Tenant mappingList of Cisco ACI Bridge domains and Tenants: IPv4 Address, IPv4 Address Mask, BD name, Tenant nameProvided by EDFN agent. Please see Configuring Cisco ACI Bridge Domain Subnets for details
AS Numbers IPv4 BlocksMapping of Autonomous System Number to IP addresses blocksProvided by EDFN agent. Please see GeoIP and ASN Enrichment for details
AS Numbers IPv6 BlocksMapping of Autonomous System Number to IP addresses blocksProvided by EDFN agent. Please see GeoIP and ASN Enrichment for details

Converter Configuration

To configure Converter click on Converter for Network Conversation Monitor.

Output Fields

To configure output fields, including the order, click on List of output fields.

In this pop-up you can select and reorder fields for the Module output.

note
  • nfo_hostname field is added by the NFO server in Output Options, and therefore not selectable here.
  • src_ip6 and dest_ip6 are selected automatically when src_ip and dest_ip fields are selcted.

Syslog/JSON Message Fields

Syslog/JSON Message Fields

KeyField DescriptionComment
nfc_idMessage type identifierstring, nfc_id=20062
flow_typeType of Flowstring, e.g. NFv5, NFv9, sFlow, IPFIX, AWS, Azure, OCI, ...
exp_ipNetFlow exporter IPv4 addressIPv4 address (for public clouds added for compatibility with other flows)
exp_ip6NetFlow exporter IPv6 addressIPv6 address (for public clouds added for compatibility with other flows)
input_snmpInput SNMP indexnumber
output_snmpOutput SNMP indexnumber
exp_nameExporter namestring
input_if_nameInput interface namestring
input_if_aliasInput interface aliasstring
output_if_nameOutput interface namestring
output_if_aliasOutput interface aliasstring
protocolTransport Protocolnumber, e.g. TCP = 6, UDP = 17
src_ipSource IPv4 addressIPv4 address
src_ip6Source IPv6 addressIPv6 address
src_portSource transport portnumber
post_nat_src_ipPost-NAT Source IPv4 addressIPv4 address
post_nat_src_portPost-NAT Source transport portnumber
src_tosSource type of servicenumber
src_asnSource ASnumber
src_ccSource Country Codestring
src_regionSource regionstring
src_citySource citystring
src_lonSource longitudenumber
src_latSource latitudenumber
src_macSource MAC addressstring, e.g. e0:46:9a:2b:83:13
src_cloud_regionCloud source regionstring
src_cloud_serviceCloud source servicestring
src_hostSource host namestring, included when FQDN is on
src_vlanSource VLANstring
src_vm_nameSource VM name, AWS EC2 instance name, or OCI Compute Instance namestring
src_vpc_nameSource VPC namestring
src_subnet_nameSource subnet namestring
src_tenant_nameCisco ACI source tenantstring
src_bd_nameCisco ACI source bridge domainstring
dest_ipDestination IPv4 addressIPv4 address
dest_ip6Destination IPv6 addressIPv6 address
dest_portDestination transport portnumber
post_nat_dest_ipPost-NAT Destination IPv4 addressIPv4 address
post_nat_dest_portPost-NAT Destination transport portnumber
dest_tosDestination type of servicenumber
dest_asnDestination ASnumber
dest_ccDestination Country Codestring
dest_regionDestination regionstring
dest_cityDestination citystring
dest_lonDestination longitudenumber
dest_latDestination latitudenumber
dest_vm_nameDestination VM name, AWS EC2 instance name, or OCI Compute Instance namestring
dest_vpc_nameDestination VPC namestring
dest_subnet_nameDestination subnet namestring
dest_tenant_nameCisco ACI destination tenantstring
dest_bd_nameCisco ACI destination bridge domainstring
dest_cloud_regionCloud destination regionstring
dest_cloud_serviceCloud destination servicestring
dest_macDestination MAC addressstring, e.g. e0:46:9a:2b:83:13
dest_vlanDestination VLANstring
dest_hostDestination host namestring, included when FQDN is on
tcp_flagTCP flagsstring, e.g. SYN,ACK,FIN
packets_inPackets in the flow received by destination IP from source IPnumber
bytes_inTotal number of Layer 3 bytes in the packets of the flow received by destination IP from source IPnumber
packets_outPackets in the flow sent by destination IP to source IPnumber
bytes_outTotal number of Layer 3 bytes in the packets of the flow sent by destination IP to source IPnumber
flow_countNumber of consolidated flows reported in this eventnumber
action (*)Flow actionstring, determined from IPFIX element 233 - firewallEvent and NFv9 / IPFIX element 89 - forwardingStatus
stateFlow statestring, B = Begin, C = Continuing, E = End
latencyAs reported in flow records in msecnumber
durationSession duration - unidirectional / Conversation duration - bidirectional. Reported in secnumber
directionDirection of the flow, if reported, or direction determined based on local subnetsstring, inbound (local IP address is dest), outbound (local IP address is src), internal (both src and dest IP addresses are local), unknown (both src and dest IP addresses are not local)
netscaler_client_retrans_countNetScaler client TCP retransmission countinteger
netscaler_server_retrans_countNetScaler server TCP retransmission countinteger
netscaler_client_rttNetScaler client Round-Trip time, msecinteger
netscaler_server_rttNetScaler server Round-Trip time, msecinteger
idpIdentity provider for the userstring
usernameUser name provided by EDFN Agent (UserName Type 371 - upcoming)string
user_countTotal users per IP address as reported by EDFN Agentnumber
app_idApplication ID (Type 95)string, Class Eng. ID:Selector ID (see Section 4 https://www.rfc-editor.org/rfc/rfc6759.html)
app_nameApplication Name (Type 96) or proprietary IPFIX or NFv9 elements (Palo Alto Networks, NetScaler)string
app_descApplication Description (Type 94) or proprietary IPFIX or NFv9 elements (Palo Alto Networks, NetScaler)string
app_engine_idApplication (Classification) Engine IDstring, Class Eng. ID description for part 1 of Type 95 (Type 101 - upcoming)
threat_list_nameThe name of a cybersecurity threat liststring
reputationReputation from the threat liststring
aws_vpc_idAWS VPC identifierstring
aws_vpc_nameAWS VPC namestring
aws_interface_idAWS Interface IDstring
aws_account_idAWS Account IDstring
gcp_reporterGCP VPC Flow logs Reporterstring, SRC or DEST
gcp_expGCP VPC Flow logs Exporter. Calculated field based on reporter = SRC or DESTstring, Project ID/VPC/Subnet
gcp_subnet_idGCP Subnet IDstring
src_vm_ip_pubSource EC2 or OCI Instance public IPv4 addressIPv4 address
aws_src_inst_idSource EC2 instance IDstring, e.g. i-390d7032 or i-0c0a6ac75d9d87b7e
gcp_src_project_idGCP Source Project IDstring
gcp_src_vm_zoneGCP Source VM Zonestring
azure_src_subs_idAzure Source Subscription IDstring
azure_src_subs_nameAzure Source Subscription Namestring
azure_src_nsg_nameAzure Source NSG Namestring
azure_src_vnet_nameAzure Source Virtual Network Namestring
azure_src_res_grp_nameAzure Source Resource Group Namestring
dest_vm_ip_pubDestination EC2 or OCI Instance public IPv4 addressIPv4 address
aws_dest_inst_idDestination EC2 instance IDstring
gcp_dest_project_idGCP Destination Project IDstring
gcp_dest_vm_zoneGCP Destination VM Zonestring
azure_dest_subs_idAzure Destination Subscription IDstring
azure_dest_subs_nameAzure Destination Subscription Namestring
azure_dest_nsg_nameAzure Destination NSG Namestring
azure_dest_vnet_nameAzure Destination Virtual Network Namestring
azure_dest_res_grp_nameAzure Destination Resource Group Namestring
oci_src_vcn_nameSource VCN namestring
oci_src_compartment_nameSource Compartment namestring
oci_src_tenancy_nameSource Tenancy namestring
oci_dest_vcn_nameDestination VCN namestring
oci_dest_compartment_nameDestination Compartment namestring
oci_dest_tenancy_nameDestination Tenancy namestring
flow_start_timeStart time of the first consolidated flowtime
flow_end_timeEnd of the last consolidated flowtime
t_intObservation time interval, msecnumber

(*) Action is reported as follows:

  • action=R for firewallEvent 0 (ignored), 2 (deleted), and 3 (denied), and Rejected cloud flow logs
  • action=A for firewallEvent 1 (created), 4 (alert), and 5 (update), and Allowed cloud flow logs
  • action=U for forwardingStatus 00 (unknown)
  • action=F for forwardingStatus 01 (forwarded)
  • action=D for forwardingStatus 10 (dropped)
  • action=C for forwardingStatus 11 (consumed)