Skip to main content

Flow Trackers

A flow tracker is used to capture and save snapshots of top flows matching a range of criteria.

Intro

The Trisul database can potentially end up with hundreds of millions of flows every day. Using flow trackers you can perform quick topper analysis of the flow database over large timeframes.

A common use case of Flow Trackers is to track the so called ‘Elephant flows’. Those are flows transferring a huge volume of data. But as you shall see below this is not the only type of tracker. Flow trackers are also necessary for you to use flow tracker alerts.

This section outlines the number of things you can do with Flow Trackers.

  1. View: View flow data and analytics.
  2. Manage: Manage flow tracking configurations and settings.
  3. Create: Create custom flow tracking profiles and criteria.

View Flow Trackers

To View Flow Trackers

Navigation

👉 Go to Tools→Flow Trackers


Figure: View top flows based on certain criteria

Once you have landed on the Flow Trackers page as shown in the sample, you can view the flows in three steps.

  • Step 1: Select a Time Frame from the Time Selector to narrow down the flow data to a relevant interval.
  • Step 2: Specify Max flows to retrieve allowing you to focus on the most significant or relevant flows, and avoid information overload.
  • Step 3: Select a Flow Tracker to view flows that match specific criteria, such as top talkers, bandwidth usage, or application-specific traffic, enabling targeted analysis and insights.

Manage Flow Trackers

To ManageFlow Trackers,

navigation

👉 Go to Tools→Flow Tracker→Manage Flow Trackers

The following window shows the currently configured Flow Trackers.
Figure: Flow Trackers List

There are Trisul built in trackers for quick access and you can also create your own flow trackers specifying certain criteria.

Built in Trackers

The following sample flow trackers are available.

Flow TrackerDescription
TrafficOverall volume of network traffic
Long LivedConnections with the longest duration
Transferred-OutHighest volumes transferred out your network. Where Source IP is in the Home Net and destination IP is not
Transferred-InHighest volumes transferred into your home network where Source IP is outside your Home Network and Destination IP is inside
Local TrafficTraffic within your local network
Badfellas MarkedSuspicious or Malicious traffic
Low VolumeConnections with minimal data transfer
Payload Xfer OutHighest volume of TCP Payload data transferred out of your network. Does not include TCP handshake packets
Payload Xfer InHighest volume of TCP Payload data transferred into your home network. Does not include TCP handshake packets
Non HTTP/SSample tracker shows you how to match flows that dont match certain tuples

Options

Each of the Flow Trackers has an Options menu item on the far right side. It contains the following options.

flowtrackeroptionsmenu

Figure: Menu Options

OptionNote
DisableDisable this tracker
EditModify the criteria
DeleteDelete this tracker
Create new Flow Tracker AlertFlow tracker alerts let you know when certain flows cross thresholds, example when flows in the Download Flow Trackers crosses the value 1GB. See Flow Tracker Alert
Export to JSONYou can export this tracker to JSON. Can later be imported as an App
Delete still keeps data

Deleting a flow tracker will not delete from the historical database flows that have already been classified. Merely prevents new flows from being classified

Create Flow Trackers

Creating a flow tracker consists of specifiying a Criteria for selecting flows.

To Create a new Flow Tracker,

navigation

👉 Go to Tools→Flow Tracker→Manage Flow Trackers→Create a New Flow Tracker

The following form is shown

Figure: Creating a flow tracker

Session Group

TCP Sessions is the only option allowed by default.

Tracker Type

The Tracker Type is combined with the Config String field to specify the criteria.

There are two categories

  1. Key based : Track top flows by filtering IP Address, Subnets, Ports, or Port Ranges
  2. Volume based : Track flows within a range of bytes transferred. This option lets you track flows that transfer a range of bytes say between 500 and 1000 bytes. This has application in very specific security scenarios and you cannot combine it with port and IP based filters.
Tracker TypeTypeConfigStringWhat it means
Based on keysKeyTuples Key
IPs or Ports or Interfaces or Protocol
Matches flows with these IP/Ports i
Based on Negated keysKeyTuplesMatches flows Other than these
Based on total bytesVolumeOptional RangesTotal bytes transferred. You can specify a volume constraint to track flows transferring a range of bytes.
Based on uploadVolumeTuplesTotal bytes uploaded from host within Home Network to outside the Home Network. You can specify a port or IP range filter to narrow down which flows will be considered for this
Based on downloadVolumeTuplesTotal bytes from host outside Home Network to within the Home Network.
Based on upload payloadVolumeTuplesTotal TCP Payload bytes downloaded. This does not include the IP and TCP and other headers. Filter allowed.
Based on uploadVolumeTuplesTCP Payload bytes uploaded. Filter allowed.
Based on flow duration secondsVolumeNoneLong lived flows based on duration

Tracker Name

A short name for the tracker.

Config String

A filter string that allows you to specify what subset of flows you want to consider.

Tracker TypeConfig String
For type “Based on Total Bytes”lower,100,500 track flows between 100 and 500 bytes, prefer the lower side.
higher,500,2000 track flows between 500 and 2000 bytes, prefer the higher side
All other tracker typesA filter string (See below)

Filter String Format

Some examples

Config StringFilter
192.168.1.8Flows involving 192.168.1.8
192.168.1.8,192.168.1.33Flows involving 192.168.1.8 OR 192.168.1.33
192.168.1.1~192.168.1.255Flows in subnet 192.168.1.x
espn.comUsing hostname instead of IP
http,httpsPort 80 and Port 443
Port-2000Port 2000
Port-2000~Port-6000Port 2000 to 6000
!192.168.1.8Not from 192.168.1.8
!192.168.1.8~192.168.1.18Not between 192.168.1.8 and 19
103.10.31.100_00000003Flows on router 103.10.31.100 interface 3
the ! characterUse in front of any filter to negate

Tracking flows in range

The main application for tracking flows transferring low payload is in specific security scenarios. In case you are interested in this type of tracker here is some additional information.

Flow TrackersDescription
lower,x,yTrack flows transferring lower volumes in the range x and y
upper,x,yTrack flows transferring higher volumes in the range x and y

Say you have configured flow trackers to track 100 flows, and there are 150 flows in the range 100 to 200 bytes. upper,100,200 will count the higher of the 150 flows and lower,100,200 will count the lower 100 of the 150 flows.

Snapshot Window

Size of the snapshot window in seconds. A streaming analytics setting. Default 300 seconds = 5 minutes.

Snapshot Count

How many Top-K flow matches should be tracked in one streaming window. Default 100.

Advanced Topics

Advanced LUA API

If you want to specify a complex criteria that isnt covered by the standard flow trackers, you can write small LUA scripts using the LUA Flow Tracker API

Also Flow Tracker Alert section.