No Topology Data
Enter an IP range and click Scan Network to discover your network.
Enter an IP range and click Scan Network to discover your network.
| Device | IP | Type | Score | Status |
|---|---|---|---|---|
| Run a scan to analyse health | ||||
| Status | Device | IP | Type | CPU | Memory | Latency | Health |
|---|---|---|---|---|---|---|---|
| No devices yet — run a scan | |||||||
No alerts — all systems normal
| Rank | Host | IP | Bytes In | Bytes Out | Total | Usage |
|---|---|---|---|---|---|---|
| No traffic data yet | ||||||
| Device | IP | Status | Avg Latency | SLA Met |
|---|---|---|---|---|
| Load report to see SLA data | ||||
| Device | IP | Port | Service | Risk Level |
|---|---|---|---|---|
| Run a scan to analyse port security | ||||
| Status | Device | IP | Type | Uptime | Last Seen | Latency |
|---|---|---|---|---|---|---|
| No data — run a scan | ||||||
| Health | Score | Device | IP | Vendor | Type | CPU | Memory | Latency | Confidence |
|---|---|---|---|---|---|---|---|---|---|
| Run a scan to see health data | |||||||||
| Device | IP | Vendor / Logo | Type | Sub-Type | Confidence | MAC OUI | OS |
|---|---|---|---|---|---|---|---|
| Run a scan to see device profiles | |||||||
| Device | IP | MAC | Vendor | Type | Detected At | Status |
|---|---|---|---|---|---|---|
| No new devices detected yet — auto-discovery starts after first scan | ||||||
| Status | Device | IP | Vendor | Type | First Seen | Last Seen | Flag |
|---|---|---|---|---|---|---|---|
| Run a scan to start tracking | |||||||
lastSeen timestamp is updated every 60s so you know exactly when each device was last active.swanctl, wg show dump, and Linux net tools (ping, dig, ip).swanctl --list-sas. Cisco/Fortinet/Palo Alto via SNMP MIBs when reachable.wg show <iface> dump on this VM. Per-peer: handshake age, bytes TX/RX. Maps to UP<120s / STALE / DOWN.| Type | Name | Local | Remote | State | TX | RX | HS / DPD | Vendor |
|---|---|---|---|---|---|---|---|---|
| Loading tunnels… | ||||||||
Bring up an IPsec/IKEv2 tunnel using strongSwan on this Ubuntu VM. Writes swanctl config and calls swanctl --initiate.
Polls Security Associations via VICI → swanctl --list-sas → ipsec status in priority order.
| SA Name | Local GW | Remote GW | Phase | Cipher | State | DPD | TX | RX | Vendor | Actions |
|---|---|---|---|---|---|---|---|---|---|---|
| Click Poll Now to fetch live SA data from strongSwan | ||||||||||
Reads wg show <iface> dump on this Ubuntu VM for all WireGuard interfaces. Per-peer fields: public key, endpoint, latest handshake epoch → age, bytes TX/RX.
Connect to an OpenVPN server using certificate or password authentication.
Requires openvpn
installed and sudo access.
| Name | Remote | Proto | State | TX | RX | Clients | Auth | Actions |
|---|---|---|---|---|---|---|---|---|
| No OpenVPN tunnels — connect above | ||||||||
| Common Name | Real Address | VPN Address | RX | TX | Connected Since | Actions |
|---|---|---|---|---|---|---|
| No clients — server mode tunnels will show clients here | ||||||
Measures VPN tunnel quality by running tests FROM this Ubuntu VM TO the remote VPN gateway/peers: ping (latency + packet loss), DNS resolution, MTU discovery, jitter, and TCP reachability. Tests run through the VPN tunnel — results reflect actual tunnel performance, not just internet connectivity. Auto-detects targets from connected IPsec sites and WireGuard peers.
/vpn/tunnels.POST /vpn/ipsec/poll.wg show <iface> dump tab-separated output. All WireGuard interfaces on the VM are polled automatically. Handshake age drives UP/STALE/DOWN state.| ID | Name | IP | Status | OS | Last Seen | NMP Device |
|---|---|---|---|---|---|---|
| Loading… | ||||||
| Time | Agent | Rule | Level | Description |
|---|---|---|---|---|
| Loading… | ||||
| CVE | Severity | Package | Version | Agent |
|---|---|---|---|---|
| Loading… | ||||
Real-time throughput, latency & quality telemetry across all links
| Status | Hostname | IP | Vendor | Last Backup | Config Size | Changes | Actions |
|---|---|---|---|---|---|---|---|
| No devices — run a scan first | |||||||
| Device | Vendor | Port | Stored | |
|---|---|---|---|---|
| No credentials stored yet | ||||
| Time | Severity | Source IP | Host | Facility | Program | Message |
|---|
| Status | Hostname | IP Address | Site | Version | Last Heartbeat | Devices | Capabilities | Actions |
|---|---|---|---|---|---|---|---|---|
| Loading collectors… | ||||||||
| Name | ID | Subnet | Location | Description | Actions |
|---|---|---|---|---|---|
| Loading sites… | |||||
collector.env file from the API key dialog
collector/agent.py on the remote site VM
sudo apt update sudo apt install -y python3 python3-pip python3-venv nmap arp-scan git sudo mkdir -p /opt/srn-collector sudo useradd -r -s /bin/false srnagent sudo chown srnagent:srnagent /opt/srn-collector
# Copy from central server or clone your repo scp -r srn_multisite/collector/ srnagent@REMOTE_VM:/opt/srn-collector/ scp -r srn_multisite/shared/ srnagent@REMOTE_VM:/opt/srn-collector/ # Create Python virtual environment cd /opt/srn-collector python3 -m venv venv ./venv/bin/pip install requests pysnmp nmap
cp /opt/srn-collector/collector.env.template /opt/srn-collector/collector.env nano /opt/srn-collector/collector.env # Fill in these required values: SRN_CENTRAL_URL=https://your-srn-server.example.com SRN_COLLECTOR_KEY=<key from registration step> SRN_COLLECTOR_ID=<UUID from registration> SRN_SITE_ID=<site UUID> SRN_SCAN_RANGE=192.168.10.0/24
sudo bash -c 'cat > /etc/sudoers.d/srn-collector << EOF srnagent ALL=(ALL) NOPASSWD: /usr/bin/nmap, /usr/sbin/arp-scan, /usr/bin/arp EOF' sudo chmod 440 /etc/sudoers.d/srn-collector
sudo cp /opt/srn-collector/srn-collector.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable srn-collector sudo systemctl start srn-collector # Verify it's running sudo systemctl status srn-collector journalctl -u srn-collector -f
Collector VM → Central Server:
TCP 443 (HTTPS) or TCP 5000 (HTTP) — API uploads
Central Server → Collector VM (not required — push-only):
No inbound ports needed on collector
Devices → Collector VM:
UDP 5514 — Syslog
UDP 1620 — SNMP Traps