Retour aux mises à jour
New releaseSep 9, 2026

nerva v1.69.6

CLI rapide d'empreinte de services pour plus de 170 protocoles (TCP/UDP/SCTP) - construit par Praetorian

Partager
Nerva - CLI rapide d'empreinte de services pour la reconnaissance réseau prenant en charge plus de 170 protocoles

Nerva
Nerva : CLI rapide d'empreinte de services

Release Build Status Go Report Card License Stars

Fonctionnalités • Installation • Démarrage rapide • Utilisation • Protocoles • Bibliothèque • Cas d'usage • Dépannage

Empreinte de services haute performance écrite en Go. Identifiez plus de 170 protocoles réseau sur les transports TCP, UDP et SCTP avec une extraction riche de métadonnées.

Nerva détecte et identifie rapidement les services en écoute sur les ports réseau ouverts. Utilisez-le en complément de scanners de ports comme Naabu pour empreinter les services découverts, ou intégrez-le dans vos pipelines de sécurité pour une reconnaissance automatisée.

Fonctionnalités

  • Plus de 170 plugins de protocoles — Bases de données, accès distant, services web, messagerie, protocoles industriels et télécoms
  • 76 empreinteurs HTTP — Détectez les technologies web, notamment les pare-feu, bases de données, serveurs IA/LLM, et plus encore
  • Détection des mauvaises configurations de sécurité — Identifiez les problèmes de sécurité courants comme les API non authentifiées et les protocoles en clair (--misconfigs)
  • Prise en charge multi-transport — TCP (par défaut), UDP (--udp) et SCTP (--sctp, Linux uniquement)
  • Prise en charge des proxys — Acheminez le trafic de scan de manière transparente via des proxys SOCKS5 ou HTTP avec résolution DNS configurable
  • Métadonnées riches — Extrayez les versions, configurations et détails pertinents pour la sécurité de chaque service
  • Mode rapide — Scannez uniquement les ports par défaut pour une reconnaissance rapide (--fast)
  • Sortie flexible — Formats JSON, CSV ou lisible par l'humain
  • Compatible avec les pipelines — Recevez les données de Naabu, Nmap ou tout outil produisant host:port
  • Bibliothèque Go — Importez directement dans vos applications Go

Installation

Releases

Téléchargez un binaire précompilé depuis la page Releases.

Depuis GitHub

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

Depuis la source

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

Démarrage rapide

Empreinte d'une seule cible :

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

Obtenir des métadonnées JSON détaillées :

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

Pipe depuis un scanner de ports :

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

La référence complète — chaque sous-commande, alias et option, y compris ceux masqués dans --help — est générée dans docs/CLI.md.

Utilisation

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

Exemples

Cibles multiples :

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

Depuis le fichier :

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

Scan UDP :

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

Scan SCTP (Linux uniquement) :

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

Mode rapide (ports par défaut uniquement) :

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

Routage proxy avec résolution DNS distante :

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

Détection des erreurs de configuration de sécurité

Nerva peut identifier les erreurs de configuration de sécurité courantes lorsqu'il est activé avec --misconfigs :

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

Mauvaises configurations détectées :

ID de constatSévéritéDescription
docker-unauth-apiCritiqueAPI Docker accessible sans authentification
x11-unauth-accessCritiqueLe serveur X11 autorise les connexions non authentifiées
dotnet-remoting-http-exposedÉlevéeCanal HTTP .NET Remoting exposé (risque de désérialisation)
smb-signing-not-requiredMoyenneSignature SMB non requise (risque d'attaque par relais)
telnet-cleartextMoyenneTelnet transmet les identifiants en clair
vnc-detectedMoyenneVNC détecté (authentification souvent faible)
ssh-password-authMoyenneLe serveur autorise l'authentification par mot de passe
ssh-weak-cipherFaibleLe serveur propose des chiffrements faibles (RC4, 3DES, Blowfish)
ssh-weak-kexFaibleLe serveur propose des algorithmes d'échange de clés faibles
ssh-weak-macFaibleLe serveur propose des algorithmes MAC faibles
ftp-cleartextFaibleFTP transmet les identifiants en clair

Exemple de sortie avec mauvaises configurations :

{
  "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"
    }
  ]
}

Prise en charge des proxys

Nerva prend en charge le routage du trafic de scan via des proxys SOCKS5 et HTTP avec une résolution DNS configurable.

Schémas de proxy pris en charge :

  • socks5:// - proxy SOCKS5 avec résolution DNS locale
  • socks5h:// - proxy SOCKS5 avec résolution DNS côté proxy (toujours)
  • http:// - proxy HTTP CONNECT
  • https:// - proxy HTTPS CONNECT

Authentification du proxy :

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

Catégories