Skip to content

NetProbe

Overview

NetProbe is a network debugging toolkit integrated into StarkOne. It provides packet capture, ping, traceroute, HTTP ping, and port checking - all accessible from the web UI without SSH.

Requires the netprobe plugin to be enabled. All endpoints require superuser.

Interfaces

GET /api/netprobe/interfaces

Returns a list of network interfaces available for packet capture.

Packet Capture

Start a Capture

POST /api/netprobe/capture/start
{
  "interface": "eth0",
  "filter": "tcp port 80",
  "max_packets": 1000,
  "duration": 30
}

Response:

{ "data": { "id": "cap_abc123" } }

Get Capture Status

GET /api/netprobe/capture/:id/status

Get Captured Packets

GET /api/netprobe/capture/:id/packets?offset=0&limit=100

Stop a Capture

POST /api/netprobe/capture/:id/stop

Ping

POST /api/netprobe/ping
{
  "host": "8.8.8.8",
  "count": 4,
  "timeout": 5
}

Response:

{
  "data": {
    "host": "8.8.8.8",
    "packets_sent": 4,
    "packets_received": 4,
    "loss_percent": 0,
    "avg_ms": 1.2,
    "min_ms": 0.9,
    "max_ms": 1.8
  }
}

Traceroute

POST /api/netprobe/traceroute
{
  "host": "8.8.8.8",
  "max_hops": 30,
  "timeout": 5
}

HTTP Ping (httping)

# Check httping status / install
GET /api/netprobe/httping/status
POST /api/netprobe/httping/install

# HTTP ping
POST /api/netprobe/httping
{
  "url": "https://example.com/api/health",
  "count": 5,
  "timeout": 10
}

Port Check

Available without NetProbe plugin:

POST /api/system/portcheck
{
  "host": "example.com",
  "port": 443,
  "protocol": "tcp"
}

Or via NetProbe:

POST /api/netprobe/portcheck
{
  "host": "example.com",
  "port": 25,
  "protocol": "tcp"
}

History & Autocomplete

NetProbe remembers recent targets for autocomplete:

# Get history
GET /api/netprobe/history/:field

# Save to history
POST /api/netprobe/history/:field
{ "value": "8.8.8.8" }

# Clear history
DELETE /api/netprobe/history/:field

The :field is one of: ping, traceroute, httping, portcheck.