Skip to main content

Agent Installation Guide

System Requirements

OSVersionArchitecturePython
Ubuntu20.04+x64, ARM643.8+
Debian11+x64, ARM643.8+
CentOS/RHEL8+x643.8+
Windows10/11, Server 2019+x643.8+
macOS12+x64, ARM643.8+

Minimum resources: 1 CPU core, 256 MB RAM, 100 MB disk space.

Linux Installation

curl -fsSL https://install.netsenx.com | sudo bash -s -- --key YOUR_LICENSE_KEY

This will:

  1. Install the NetSenX agent via pip
  2. Create a systemd service (netsenx-agent.service)
  3. Start monitoring automatically
  4. Survive reboots

Manual

pip install netsenx-agent
export NETSENX_LICENSE_KEY="your_key"
export NETSENX_BACKEND_URL="https://api.netsenx.com"
export NETSENX_AGENT_ID="$(hostname)-$(uuidgen | head -c 8)"
python -m agent.run

Verify installation

systemctl status netsenx-agent
# Should show: active (running)

journalctl -u netsenx-agent -n 20
# Should show: "Agent registered", "config_pull: success", "stats: flows_analyzed=..."

Windows Installation

Run PowerShell as Administrator:

iex "& { $(irm https://install.netsenx.com/win) } -Key YOUR_LICENSE_KEY"

This creates a Windows Scheduled Task that runs at startup.

MSI Installer

Download the MSI from Dashboard -> Agents -> Deploy Agent -> Download MSI. Double-click to install. Enter your license key when prompted.

Verify

Get-ScheduledTask -TaskName "NetSenX Agent"
# Should show: Ready or Running

macOS Installation

curl -fsSL https://install.netsenx.com | bash -s -- --key YOUR_LICENSE_KEY

This creates a launchd service (com.netsenx.agent.plist).

Network Requirements

The agent needs outbound HTTPS access to:

DestinationPortPurpose
api.netsenx.com443API communication, alert upload
feodotracker.abuse.ch443Threat intel feeds (optional)
releases.netsenx.com443Auto-updates (optional)

No inbound ports need to be opened. The agent only makes outbound connections.

Firewall / Proxy

If behind a corporate proxy:

export HTTPS_PROXY="http://proxy.company.com:8080"
export NETSENX_LICENSE_KEY="your_key"
python -m agent.run

Auto-Updates

The agent checks for updates every 24 hours. When a new version is available, it downloads and installs automatically, then restarts the service.

To disable auto-updates:

export NETSENX_AUTO_UPDATE=false

Configuration

All configuration is via environment variables:

VariableRequiredDefaultDescription
NETSENX_LICENSE_KEYYesYour license key
NETSENX_BACKEND_URLYesBackend API URL
NETSENX_AGENT_IDYesUnique agent identifier
NETSENX_INTERFACENoautoNetwork interface to monitor
NETSENX_BPF_FILTERNoip and not (src net 127.0.0.0/8)Custom BPF filter
NETSENX_LOG_LEVELNoINFOLogging verbosity
NETSENX_AUTO_UPDATENotrueEnable auto-updates

Uninstallation

Linux:

sudo systemctl stop netsenx-agent
sudo systemctl disable netsenx-agent
sudo rm /etc/systemd/system/netsenx-agent.service
pip uninstall netsenx-agent

Windows:

Unregister-ScheduledTask -TaskName "NetSenX Agent" -Confirm:$false
pip uninstall netsenx-agent

macOS:

launchctl unload ~/Library/LaunchAgents/com.netsenx.agent.plist
rm ~/Library/LaunchAgents/com.netsenx.agent.plist
pip uninstall netsenx-agent