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