Liigu põhisisu juurde

API ülevaade

NetRecon pakub REST API-t väliste tööriistadega integreerimiseks, kohandatud juhtpaneelide ehitamiseks ja võrguturbe tööprotsesside automatiseerimiseks. Kõik mikroteenused on kättesaadavad ühe API Gateway kaudu.

Täieliku lõpp-punktide loendi jaoks kategooriate kaupa vaadake Lõpp-punktide viidet.

Baas-URL

Kõik API päringud käivad läbi API Gateway:

https://probe.netreconapp.com/api/

Isehallatavate juurutuste jaoks järgib baas-URL mustrit:

https://netrecon.yourcompany.com/api/

Gateway tegeleb autentimise, piirangute, RBAC jõustamise ja päringute suunamise sobivasse taustateenusesse.

Autentimine

Kõik API lõpp-punktid (välja arvatud /api/health ja /health) nõuavad JWT Bearer tõendit.

Tõendi hankimine

curl -X POST https://probe.netreconapp.com/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"username": "admin",
"password": "your-password"
}'

Vastus:

{
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "bearer",
"expires_in": 86400
}

Tõendi kasutamine

Lisage tõend Authorization päisesse igale päringule:

curl https://probe.netreconapp.com/api/devices \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

Tõendi värskendamine

Tõendid aeguvad vaikimisi 24 tunni pärast (konfigureeritav juurutuse kohta). Värskendage enne aegumist:

curl -X POST https://probe.netreconapp.com/api/auth/refresh \
-H "Authorization: Bearer <current-token>"

API võtmed

Teenuselt-teenusele suhtlus ja automatiseerimisskriptid saavad kasutada pikaajalisi API võtmeid JWT tõendite alternatiivina. Võtmed kasutavad vormingut nr_live_, millele järgneb 48 kuueteistkümnendsüsteemi märki.

curl https://api.netreconapp.com/api/v1/devices \
-H "X-API-Key: nr_live_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6"

Igal võtmel on detailsed õiguste ulatused. Konfigureerige neid juhtpaneelil menüüs Seaded > API võtmed. Täielikke üksikasju vaadake Autentimisest.

Piirangud

API päringuid piiratakse autentimistõendi kohta. Gateway tagastab iga päringuga vastuse päised X-RateLimit-Limit ja X-RateLimit-Remaining.

TasePäringuid minutisPlahvatuslik
Standard6010
Administraator12020
Teenus (agent)30050

Kui piirang on ületatud, tagastab API HTTP 429 Too Many Requests koos Retry-After päisega, mis näitab ootamise sekundite arvu.

Päringu ja vastuse konventsioonid

Sisutüüp

Kõik päringu ja vastuse kehad kasutavad application/json, kui pole teisiti märgitud (nt CSV ekspordi lõpp-punktid tagastavad text/csv, failide allalaadimised tagastavad application/octet-stream).

Lehekülgjaotus

Loendi lõpp-punktid on lehekülgedeks jaotatud vaikimisi lehe suurusega 100 kirjet. Kontrollige lehekülgjaotust päringupärameetritega:

GET /api/devices?page=2&per_page=50

Veavormaat

Kõik vead järgivad ühtset JSON-struktuuri:

{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or expired token",
"details": null
}
}

Levinud veakoodid

HTTP olekKoodKirjeldus
400BAD_REQUESTVigased päringu parameetrid
401UNAUTHORIZEDPuuduv või kehtetu tõend
403FORBIDDENEbapiisavad õigused (RBAC)
404NOT_FOUNDRessurssi ei leitud
409CONFLICTRessursi konflikt (duplikaat, aktiivne seanss olemas jne)
429RATE_LIMITEDLiiga palju päringuid
500INTERNAL_ERRORServeri viga
502BAD_GATEWAYÜlemine teenus kättesaamatu
503SERVICE_UNAVAILABLETeenus pole valmis

WebSocket API

Ühenduge WebSocket lõpp-punktiga reaalajas sündmuste jaoks:

wss://probe.netreconapp.com/ws/events?token=<jwt-token>

Sündmuse vorming

{
"event": "host_found",
"timestamp": "2026-03-15T14:30:00Z",
"data": {
"ip": "192.168.1.100",
"mac": "AA:BB:CC:DD:EE:FF",
"hostname": "workstation-01"
}
}

Sündmuse tüübid

SündmusKirjeldus
host_foundUus seade avastatud
port_foundSeadmel tuvastatud avatud port
scan_completeVõrgu skannimine lõpetatud
neighbor_discoveredCDP/LLDP naaber leitud
config_changedSeadme konfiguratsioon muutunud
baseline_diff_alertVõrgu baasjoonest kõrvalekalle tuvastatud
ids_alertIDS reegel käivitunud
honeypot_hitMeepoti interaktsioon tuvastatud
rogue_detectedVõlts-DHCP või ARP tegevus
pcap_readyPCAP fail allalaadimiseks valmis
vuln_foundHaavatavus avastatud
dns_threatDNS oht blokeeritud
probe_health_alertSondi ressursi lävi ületatud
errorVeasündmus

Interaktiivne API dokumentatsioon

Iga taustateenusele on Swagger/OpenAPI dokumentatsioon:

TeenusDokumentatsiooni URL
API Gateway/api/docs
Vault Server/api/vault/docs
License Server/api/license/docs
Agent Registry/api/agents/docs
CMod Service/api/cmod/docs
IPAM Service/api/ipam/docs
Diplomat Service/api/diplomat/docs
Ühendatud (kõik teenused)/api/v1/docs/openapi.json

SDK ja integratsiooni näited

Üksikasjalikke näiteid koos täielike koodinäidistega vaadake:

Kiirstart (cURL)

# Loetlege kõik seadmed
curl -H "Authorization: Bearer $TOKEN" \
https://api.netreconapp.com/api/v1/devices

# Käivitage skannimine
curl -X POST -H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"target": "192.168.1.0/24", "profile": "normal"}' \
https://api.netreconapp.com/api/v1/scans/start

# Hankige viimase 24 tunni IDS hoiatused
curl -H "Authorization: Bearer $TOKEN" \
"https://api.netreconapp.com/api/v1/alerts?source=ids&since=24h"

Kiirstart (Python)

import requests

BASE_URL = "https://api.netreconapp.com/api/v1"
headers = {"X-API-Key": "nr_live_your_api_key_here"}

# Hankige seadmed
devices = requests.get(f"{BASE_URL}/devices", headers=headers)
for device in devices.json()["data"]:
print(f"{device['ip']} - {device['hostname']} - {device['device_type']}")

API versioonid

Praegune API on v1 (sondi lõpp-punktide jaoks kaudne, mikroteenuste lõpp-punktide jaoks otsene /api/v1/). Kui tulevad murdvad muudatused, avaldatakse uus versiooni tee (/api/v2/), samas kui /api/ jätkab v1 teenindamist.

Tugi

API-ga seotud küsimuste või probleemide korral võtke ühendust [email protected].