Zurück zu den Updates
New releaseSep 9, 2026

nerva v1.69.6

Schnelle Service-Fingerprinting-CLI für 170+ Protokolle (TCP/UDP/SCTP) - entwickelt von Praetorian

Teilen
Nerva - Schnelles Service-Fingerprinting-CLI für Netzwerkaufklärung mit Unterstützung für über 170 Protokolle

Nerva
Nerva: Schnelles Service-Fingerprinting-CLI

Release Build Status Go Report Card License Stars

Funktionen • Installation • Schnellstart • Verwendung • Protokolle • Bibliothek • Anwendungsfälle • Fehlerbehebung

Hochperformantes Service-Fingerprinting in Go. Identifizieren Sie über 170 Netzwerkprotokolle über TCP-, UDP- und SCTP-Transporte mit umfangreicher Metadatenextraktion.

Nerva erkennt und identifiziert schnell Dienste, die auf offenen Netzwerkports laufen. Verwenden Sie es zusammen mit Portscannern wie Naabu, um entdeckte Dienste zu fingerprinten, oder integrieren Sie es in Ihre Sicherheitspipelines für automatisierte Aufklärung.

Funktionen

  • Über 170 Protokoll-Plugins — Datenbanken, Fernzugriff, Webdienste, Messaging, industrielle und Telekommunikationsprotokolle
  • 76 HTTP-Fingerprinter — Erkennung von Webtechnologien einschließlich Firewalls, Datenbanken, KI/LLM-Servern und mehr
  • Erkennung von Sicherheitsfehlkonfigurationen — Identifizierung häufiger Sicherheitsprobleme wie nicht authentifizierte APIs und Klartextprotokolle (--misconfigs)
  • Unterstützung mehrerer Transporte — TCP (Standard), UDP (--udp) und SCTP (--sctp, nur Linux)
  • Proxy-Unterstützung — Scannen Sie Datenverkehr transparent über SOCKS5- oder HTTP-Proxys mit konfigurierbarer DNS-Auflösung
  • Umfangreiche Metadaten — Extrahieren Sie Versionen, Konfigurationen und sicherheitsrelevante Details aus jedem Dienst
  • Schnellmodus — Scannen Sie nur Standardports für schnelle Aufklärung (--fast)
  • Flexible Ausgabe — JSON-, CSV- oder menschenlesbare Formate
  • Pipeline-freundlich — Pipe von Naabu, Nmap oder jedem Tool, das host:port ausgibt
  • Go-Bibliothek — Direkt in Ihre Go-Anwendungen importierbar

Installation

Releases

Laden Sie ein vorgefertigtes Binary von der Releases-Seite herunter.

Von GitHub

go install github.com/praetorian-inc/nerva/cmd/nerva@latest

Aus der Quelle

git clone https://github.com/praetorian-inc/nerva.git
cd nerva
go build ./cmd/nerva
./nerva -h

Docker

git clone https://github.com/praetorian-inc/nerva.git
cd nerva
docker build -t nerva .
docker run --rm nerva -h
docker run --rm nerva -t example.com:80 --json

Schnellstart

Einen einzelnen Host fingerprinten:

nerva -t example.com:22
# ssh://example.com:22

Detaillierte JSON-Metadaten abrufen:

nerva -t example.com:22 --json
# {"host":"example.com","ip":"93.184.216.34","port":22,"protocol":"ssh","transport":"tcp","metadata":{...}}

Pipe von einem Portscanner:

naabu -host example.com -silent | nerva
# http://example.com:80
# ssh://example.com:22
# https://example.com:443

Die vollständige Referenz — jeder Unterbefehl, Alias und jedes Flag, einschließlich der in --help ausgeblendeten — wird in docs/CLI.md generiert.

Verwendung

nerva [flags]

TARGET SPECIFICATION:
  Requires host:port or ip:port format. Assumes ports are open.

EXAMPLES:
  nerva -t example.com:80
  nerva -t example.com:80,example.com:443
  nerva -l targets.txt
  nerva --json -t example.com:80
  cat targets.txt | nerva

Beispiele

Mehrere Ziele:

nerva -t example.com:22,example.com:80,example.com:443

Aus Datei:

nerva -l targets.txt --json -o results.json

UDP-Scanning:

nerva -t example.com:53 -U
# dns://example.com:53

SCTP-Scanning (nur Linux):

nerva -t telecom-server:3868 -S
# diameter://telecom-server:3868

Schneller Modus (nur Standardports):

nerva -l large-target-list.txt --fast --json

Proxy-Routing mit Remote-DNS-Auflösung:

nerva -t target.internal:80 --proxy socks5://127.0.0.1:1080 --dns-order p

Erkennung von Sicherheitsfehlkonfigurationen

Nerva kann gängige Sicherheitsfehlkonfigurationen identifizieren, wenn es mit --misconfigs aktiviert wird:

nerva -t example.com:2375 --misconfigs --json

Erkannte Fehlkonfigurationen:

Finding IDSchweregradBeschreibung
docker-unauth-apiKritischDocker-API ohne Authentifizierung erreichbar
x11-unauth-accessKritischX11-Server erlaubt unauthentifizierte Verbindungen
dotnet-remoting-http-exposedHoch.NET Remoting HTTP-Kanal exponiert (Deserialisierungsrisiko)
smb-signing-not-requiredMittelSMB-Signierung nicht erforderlich (Relay-Angriffsrisiko)
telnet-cleartextMittelTelnet überträgt Anmeldedaten im Klartext
vnc-detectedMittelVNC erkannt (oft schwache Authentifizierung)
ssh-password-authMittelServer erlaubt Passwort-Authentifizierung
ssh-weak-cipherNiedrigServer bietet schwache Cipher (RC4, 3DES, Blowfish)
ssh-weak-kexNiedrigServer bietet schwache Schlüsselaustauschalgorithmen
ssh-weak-macNiedrigServer bietet schwache MAC-Algorithmen
ftp-cleartextNiedrigFTP überträgt Anmeldedaten im Klartext

Beispielausgabe mit Fehlkonfigurationen:

{
  "host": "example.com",
  "port": 2375,
  "protocol": "docker",
  "anonymous_access": true,
  "security_findings": [
    {
      "id": "docker-unauth-api",
      "severity": "critical",
      "description": "Docker API accessible without authentication",
      "evidence": "Successfully queried /version endpoint without credentials"
    }
  ]
}

Proxy-Unterstützung

Nerva unterstützt das Routing von Scan-Verkehr über SOCKS5- und HTTP-Proxys mit konfigurierbarer DNS-Auflösung.

Unterstützte Proxy-Schemata:

  • socks5:// - SOCKS5-Proxy mit lokaler DNS-Auflösung
  • socks5h:// - SOCKS5-Proxy mit proxyseitiger DNS-Auflösung (immer)
  • http:// - HTTP-CONNECT-Proxy
  • https:// - HTTPS-CONNECT-Proxy

Proxy-Authentifizierung:

# Inline authentication (URL format)
nerva -t example.com:80 --proxy socks5://username:[email protected]:1080

# Separate authentication flag
nerva -t example.com:80 --proxy socks5://127.0.0.1:1080 --proxy-auth username:password

DNS-Auflösungsstrategien (--dns-order):

Kategorien