2.2. Flows API

The Flows API exposes functions to query and manage active ntopng flows.

Functions

function getFlowsInfo(string host_ip = nil, table pag_options = nil)

Get active flows information.

Parameters:
  • host_ip – filter by host/host@vlan.

  • pag_options – options for the paginator.

Returns:

table (num_flows, flows) on success (see Flow::lua), nil otherwise.

function getFlowsStatus()

Get active flows status statistics.

Returns:

a table (status -> num_flows) for every status (RST, SYN, Established, FIN) on success, nil otherwise.

function getGroupedFlows(string group_col, table pag_options = nil)

Group active flows by a specified criteria.

Parameters:
  • group_col – the grouping column

  • pag_options – options for the paginator.

Returns:

table with grouped flows information on success, nil otherwise.

function getFlowsStats()

Get active flows nDPI bytes count.

Returns:

table (num_flows, protos, breeds) which map (protocol_name->bytes_count) on success, nil otherwise.

function getnDPIFlowsCount()

Get the number of active flows by nDPI protocol.

Returns:

a table (protocol_name -> num_flows) on success, nil otherwise.

function getFlowKey(string cli_ip, int cli_port, string srv_ip, int srv_port, int l4_proto)

Computes the unique flow identifier.

Parameters:
  • cli_ip – host/host@vlan.

  • cli_port – the client port.

  • srv_ip – host/host@vlan.

  • srv_port – the server port.

  • l4_proto – l4 protocol id

Returns:

the numeric flow key on success, nil otherwise.

function findFlowByTuple(string cli_ip, string srv_ip, int vlan, int cli_port, int srv_port, int l4_proto)

Get flow information by specifying the 5-tuple.

Parameters:
  • cli_ip – host.

  • srv_ip – host.

  • vlan – the VLAN.

  • cli_port – the client port.

  • srv_port – the server port.

  • l4_proto – l4 protocol id

Returns:

a table with the flow information (see Flow::lua) on success, nil otherwise.

function findFlowByKeyAndHashId(int key, int hashid)

Returns a single active flow information.

Parameters:
  • key – the flow key.

  • hashid – the flow hash ID.

Returns:

the flow information on success, nil otherwise.

function dropFlowTraffic(int key, int hashid)

Drops an active flow traffic.

Note

this is only effective when using nEdge.

Parameters:
  • key – the flow key.

  • hashid – the flow hash ID.

Returns:

true on success, false otherwise