Command Line Interface (CLI)

The Netify Agent exposes a set of command line options useful for obtaining status, inspecting signature lists, and performing offline packet capture analysis. Use the examples below to collect useful debugging information.

Netify Daemon Status

To view the current status of the Netify agent, execute:

Terminal - Netify
×
sudo netifyd -s

The following can be helpful during troubleshooting:

  • Agent is running / PID - Indicates whether the Netify DPI agent is running.
  • Agent UUID - A unique identifier used during provisioning and API calls.
  • API Updates - If not enabled, the agent will not communicate with Netify cloud services.
  • API Application/Category Updates - Shows if the agent can receive continuous updates.
  • Active Flows - If zero, could indicate an issue with interface configuration.
  • Maximum Memory Usage - Insight into RAM usage during heavy load.
  • Interface [Mode -> Capture Method] - Helps identify capture configuration issues.
  • Apps / Domains counts - High app counts often indicate commercial signature lists.
  • Persistent / Volatile State Paths - Paths where configuration and runtime data are written.

Application, Protocol and Category Lists

Applications and categories are determined at run time using signature and configuration files. Protocols are compiled into the agent binary.

Applications

Applications are imported at run time via the Netify application signature file located in the configuration directory.

Terminal - Netify
×
netifyd --dump-apps
    0: Unknown
    1: FTP/C
    2: POP3
    3: SMTP
    4: IMAP
    ...

Protocols

Protocols are compiled into the agent. New protocols are added with agent releases.

Terminal - Netify
×
netifyd --dump-protos
    0: Unknown
    1: FTP/C
    2: POP3
    3: SMTP
    4: IMAP
    ...

Categories

Categories group applications and protocols.

Terminal - Netify
×
netifyd --dump-categories
    1: application: adult
    2: application: advertiser
    3: application: business
    4: application: cdn
    ...

Analysing a Packet Capture File

The Netify Agent can perform offline analysis of a capture file.

Real-Time Analysis

To playback a packet capture through the Netify agent in real-time, run:

Terminal - Netify
×
sudo netifyd -d -v -t -r -I /path/to/pcap

Simultaneously, capture the output sent to the file socket:

Terminal - Netify
×
sudo netcat -U /var/run/netifyd/netifyd.sock | jq

You should see a stream of JSON similar to:

{
  "flow": {
    "category": { "application": 27, "domain": 0, "network": 0, "protocol": 18 },
    "detected_application": 10033,
    "detected_application_name": "netify.netify",
    "detected_protocol": 196,
    "detected_protocol_name": "HTTP/S",
    ...
}

Fast Analysis

To process a capture as fast as possible (remove -r):

Terminal - Netify
×
sudo netifyd -d -v -t -I /path/to/pcap

Delayed Start

To delay the start of analysis (useful when binding to sinks):

Terminal - Netify
×
sudo netifyd --capture-delay 5 -d -v -t -I /path/to/pcap

Ignoring Interfaces

To ignore configured interfaces when analysing a pcap:

Terminal - Netify
×
sudo netifyd --ignore-interface-configs -d -v -t -I /path/to/pcap

Running the Agent in Debug Mode

Stop any running daemons, then run the agent in the foreground with debug enabled:

Terminal - Netify
×
sudo systemctl stop netifyd
    sudo netifyd -d

Collect this output when opening a support ticket to help us diagnose issues.