Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
nerva — CLI rapide d'empreinte de services pour plus de 170 protocoles (TCP/UDP/SCTP) - construit par Praetorian | Kitploit
Outils/GitHubGitHub/praetorian-inc/nerva
ReconnaissanceSécurité IoTCartographie RéseauScan de PortsSécurité SCADA/ICSCollecte d'InformationsMauvaise Configuration
GitHubpraetorian-inc/nerva

nerva

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

Voir le dépôt
3223848il y a 1 jourVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
<img width="2976" height="1440" alt="Nerva - CLI rapide d'empreinte de services pour la reconnaissance réseau prenant en charge plus de 170 protocoles" src="https://assets.kitploit.com/production/public/readmes/12252/3a0b59e2929fa8fdc41aafe4cb8649e3e85f0ba5f9df8128f7f3f952d70b0018.webp" />
<h1 align="center">
  Nerva
  <br>
  <sub>Nerva : CLI rapide d'empreinte de services</sub>
</h1>

<p align="center">
<a href="https://github.com/praetorian-inc/nerva/releases"><img src="https://img.shields.io/github/v/release/praetorian-inc/nerva?style=flat-square" alt="Release"></a>
<a href="https://github.com/praetorian-inc/nerva/actions"><img src="https://img.shields.io/github/actions/workflow/status/praetorian-inc/nerva/ci.yml?style=flat-square" alt="Build Status"></a>
<a href="https://goreportcard.com/report/github.com/praetorian-inc/nerva"><img src="https://goreportcard.com/badge/github.com/praetorian-inc/nerva?style=flat-square" alt="Go Report Card"></a>
<a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=flat-square" alt="License"></a>
<a href="https://github.com/praetorian-inc/nerva/stargazers"><img src="https://img.shields.io/github/stars/praetorian-inc/nerva?style=flat-square" alt="Stars"></a>
</p>

<p align="center">
  <a href="#features">Fonctionnalités</a> •
  <a href="#installation">Installation</a> •
  <a href="#quick-start">Démarrage rapide</a> •
  <a href="#usage">Utilisation</a> •
  <a href="#supported-protocols">Protocoles</a> •
  <a href="#library-usage">Bibliothèque</a> •
  <a href="#use-cases">Cas d'usage</a> •
  <a href="#troubleshooting">Dépannage</a>
</p>

> **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 s'exécutant sur des ports réseau ouverts. Utilisez-le en complément de scanners de ports comme [Naabu](https://github.com/projectdiscovery/naabu) pour établir l'empreinte des 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, les bases de données, les 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, les configurations et les 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](https://github.com/praetorian-inc/nerva/releases).

### Depuis GitHub```sh
go install github.com/praetorian-inc/nerva/cmd/nerva@latest
```
### Depuis la source```sh
git clone https://github.com/praetorian-inc/nerva.git
cd nerva
go build ./cmd/nerva
./nerva -h
```
### Docker```sh
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 cible unique :```sh
nerva -t example.com:22
# ssh://example.com:22
```
Obtenir des métadonnées JSON détaillées :```sh
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 :```sh
naabu -host example.com -silent | nerva
# http://example.com:80
# ssh://example.com:22
# https://example.com:443
```
<!-- BEGIN generated: cli-subcommands -->

<!-- END generated: cli-subcommands -->

<!-- BEGIN generated: cli-aliases -->
La référence complète — chaque sous-commande, alias et option, y compris ceux masqués de `--help` — est générée dans [docs/CLI.md](https://github.com/praetorian-inc/nerva/blob/main/docs/CLI.md).
<!-- END generated: cli-aliases -->

## 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 :**```sh
nerva -t example.com:22,example.com:80,example.com:443
```
**Depuis le fichier :**```sh
nerva -l targets.txt --json -o results.json
```
**Scan UDP** (peut nécessiter les droits root) :```sh
sudo nerva -t example.com:53 -U
# dns://example.com:53
```
**Scan SCTP** (Linux uniquement) :```sh
nerva -t telecom-server:3868 -S
# diameter://telecom-server:3868
```
**Mode rapide** (ports par défaut uniquement) :```sh
nerva -l large-target-list.txt --fast --json
```
**Routage proxy avec résolution DNS distante :**```sh
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` :```sh
nerva -t example.com:2375 --misconfigs --json
```
**Mauvaises configurations détectées :**

| ID de constat | Sévérité | Description |
|------------|----------|-------------|
| `docker-unauth-api` | Critique | API Docker accessible sans authentification |
| `x11-unauth-access` | Critique | Le serveur X11 autorise les connexions non authentifiées |
| `smb-signing-not-required` | Moyenne | Signature SMB non requise (risque d'attaque par relais) |
| `telnet-cleartext` | Moyenne | Telnet transmet les identifiants en clair |
| `vnc-detected` | Moyenne | VNC détecté (authentification souvent faible) |
| `ssh-password-auth` | Moyenne | Le serveur autorise l'authentification par mot de passe |
| `ssh-weak-cipher` | Faible | Le serveur propose des chiffrements faibles (RC4, 3DES, Blowfish) |
| `ssh-weak-kex` | Faible | Le serveur propose des algorithmes d'échange de clés faibles |
| `ssh-weak-mac` | Faible | Le serveur propose des algorithmes MAC faibles |
| `ftp-cleartext` | Faible | FTP transmet les identifiants en clair |

**Exemple de sortie avec mauvaises configurations :**```json
{
  "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 par proxy :**```sh
# 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
```
**Stratégies de résolution DNS** (`--dns-order`) :

| Option | Stratégie | Cas d'usage |
|--------|----------|----------|
| `l` | Local uniquement | DNS local standard (par défaut) |
| `p` | Proxy uniquement | Forcer la résolution DNS côté proxy |
| `lp` | Local, repli sur proxy | Essayer local d'abord, utiliser le proxy en cas d'échec |
| `pl` | Proxy, repli sur local | Essayer le proxy d'abord, utiliser local en cas d'échec |

**Remarque :** le schéma `socks5h://` force automatiquement le DNS côté proxy (équivalent à `--dns-order p`)

**Exemple de scan Tor :**```sh
# Scan .onion services through Tor (SOCKS5 proxy on port 9050)
nerva -t http://example.onion:80 --proxy socks5h://127.0.0.1:9050
```
**UDP via proxy :**```sh
# UDP scanning through SOCKS5 proxy (limited support)
nerva -t target.com:161 --proxy socks5://127.0.0.1:1080 --udp
```
⚠️ **Limitations UDP :** UDP via SOCKS5 dispose d'une prise en charge limitée. Tous les serveurs SOCKS5 ne prennent pas en charge l'association UDP. Un repli UDP local peut se produire.

**Analyse parallèle avec limitation de débit :**```sh
nerva -l large-target-list.txt -W 100 -H 5 -R 50 -v
```
**Arrêt gracieux** (Ctrl+C renvoie les résultats partiels) :```sh
nerva -l huge-target-list.txt -W 50 -v
# Press Ctrl+C to stop — collected results are still printed
```
## Protocoles pris en charge

**Plus de 170 plugins de détection de services** sur TCP, UDP et SCTP :

### Modules d'empreinte HTTP (66)

Détection de technologies pour les services web, organisée par catégorie :

#### Pare-feu et sécurité réseau (12)

| Module | Description |
|--------|-------------|
| Checkpoint | Check Point Security Gateway |
| Cisco ASA/FTD | Appliances pare-feu/VPN Cisco |
| FortiGate | Pare-feu/VPN Fortinet |
| GlobalProtect | VPN Palo Alto Networks |
| Juniper | Pare-feu Juniper SRX |
| OPNsense | Pare-feu OPNsense |
| pfSense | Pare-feu pfSense |
| SonicWall | Pare-feu SonicWall |
| AnyConnect | VPN SSL Cisco AnyConnect |
| Cisco Expressway | Passerelle de collaboration Cisco |
| BigIP | Répartiteur de charge F5 BIG-IP |
| WinRM | Windows Remote Management |

#### IA/LLM et apprentissage automatique (6)

| Module | Description |
|--------|-------------|
| Ollama | Serveur d'inférence LLM auto-hébergé |
| LocalAI | Inférence LLM auto-hébergée (compatible OpenAI) |
| Open WebUI | Interface web LLM (style ChatGPT) |
| Triton | NVIDIA Triton Inference Server |
| Weaviate | Base de données vectorielle pour l'IA |
| ChromaDB | Base de données vectorielle |

#### Bases de données et magasins de données (12)

| Module | Description |
|--------|-------------|
| ArangoDB | Base de données multi-modèle |
| CockroachDB | Base de données SQL distribuée |
| CouchDB | Base de données documentaire Apache |
| Elasticsearch | Moteur de recherche et d'analyse |
| etcd | Magasin clé-valeur distribué |
| Milvus | Base de données vectorielle |
| MinIO | Stockage objet compatible S3 |
| Pinecone | Base de données vectorielle |
| Redis Commander | Interface web de gestion Redis |
| TiDB | Base de données SQL distribuée |
| YugabyteDB | Base de données SQL distribuée |
| Qdrant | Base de données vectorielle |

#### DevOps et infrastructure (14)

| Module | Description |
|--------|-------------|
| Artifactory | Dépôt d'artefacts JFrog |
| Consul | Service mesh HashiCorp |
| Docker Registry | Registre d'images de conteneurs |
| Gitea | Service Git auto-hébergé |
| Grafana | Plateforme d'observabilité |
| Harbor | Registre de conteneurs |
| Jaeger | Traçage distribué |
| Jenkins | Automatisation CI/CD |
| Kubernetes | API d'orchestration de conteneurs |
| Portainer | Interface de gestion Docker |
| Prometheus | Système de supervision |
| Swagger/OpenAPI | Documentation d'API |
| TeamCity | Serveur CI/CD |
| Vault | Gestion des secrets HashiCorp |

#### Serveurs web et frameworks (10)

| Module | Description |
|--------|-------------|
| Apache HTTPD | Apache HTTP Server |
| Express.js | Framework web Node.js |
| GoAhead | Serveur web embarqué |
| Gotenberg | Service de génération de PDF |
| Guacamole | Passerelle de bureau à distance Apache |
| SOAP | Services web |
| Tengine | Serveur web Alibaba |
| Tomcat | Apache Tomcat |
| WordPress | Plateforme CMS |
| UPnP | Universal Plug and Play |

#### Entreprise et business (8)

| Module | Description |
|--------|-------------|
| AEM | Adobe Experience Manager |
| Dynamics 365 | Microsoft Dynamics 365 / Power Apps |
| Oracle Service Cloud | Plateforme CRM Oracle |
| SAP NetWeaver | Plateforme d'entreprise SAP |
| Splunk | Plateforme de gestion des logs |
| VMware Horizon | Infrastructure de bureau virtuel |
| QNAP QTS | Gestion NAS |
| Exchange | Microsoft Exchange Server |

#### Domotique et IoT (2)

| Module | Description |
|--------|-------------|
| Home Assistant | Plateforme de domotique |
| UniFi/EdgeOS | Équipements réseau Ubiquiti |

#### Autres (2)

| Module | Description |
|--------|-------------|
| Go pprof | Points de terminaison de profilage Go |
| NATS | Courtier de messages |

### Bases de données (20)

| Protocole | Transport | Ports par défaut |
|----------|-----------|---------------|
| PostgreSQL | TCP | 5432 |
| MySQL | TCP | 3306 |
| MSSQL | TCP | 1433 |
| Oracle | TCP | 1521 |
| MongoDB | TCP | 27017 |
| Redis | TCP/TLS | 6379, 6380 |
| Cassandra | TCP | 9042 |
| InfluxDB | TCP | 8086 |
| Neo4j | TCP/TLS | 7687 |
| DB2 | TCP | 446, 50000 |
| Sybase | TCP | 5000 |
| Firebird | TCP | 3050 |
| Memcached | TCP | 11211 |
| ZooKeeper | TCP | 2181 |
| Milvus | TCP | 19530, 9091 |
| CouchDB | HTTP | 5984 |
| Elasticsearch | HTTP | 9200 |
| ArangoDB | HTTP | 8529 |
| ChromaDB | HTTP | 8000 |
| Pinecone | HTTP | 443 |

### Accès à distance (6)

| Protocole | Transport | Ports par défaut |
|----------|-----------|---------------|
| SSH | TCP | 22, 2222 |
| RDP | TCP/TLS | 3389 |
| Telnet | TCP | 23 |
| VNC | TCP | 5900 |
| AnyDesk | TCP | 7070 |
| TeamViewer | TCP | 5938 |

### Web et API (2)

| Protocole | Transport | Notes |
|----------|-----------|-------|
| HTTP/HTTPS | TCP | HTTP/2, détection de technologies via Wappalyzer |
| Kubernetes | TCP | Détection du serveur d'API |

### Messagerie et files d'attente (10)

| Protocole | Transport | Ports par défaut |
|----------|-----------|---------------|
| Kafka | TCP/TLS | 9092, 9093 |
| MQTT 3/5 | TCP/TLS | 1883, 8883 |
| AMQP | TCP/TLS | 5672, 5671 |
| ActiveMQ | TCP/TLS | 61616, 61617 |
| NATS | TCP/TLS | 4222, 6222 |
| Pulsar | TCP/TLS | 6650, 6651 |
| SMTP | TCP/TLS | 25, 465, 587 |
| POP3 | TCP/TLS | 110, 995 |
| IMAP | TCP/TLS | 143, 993 |
| SMPP | TCP | 2775, 2776 |

### Services de fichiers et d'annuaires (7)

| Protocole | Transport | Ports par défaut |
|----------|-----------|---------------|
| FTP | TCP | 21 |
| SMB | TCP | 445 |
| NFS | TCP/UDP | 2049 |
| Rsync | TCP | 873 |
| TFTP | UDP | 69 |
| SVN | TCP | 3690 |
| LDAP | TCP/TLS | 389, 636 |

### Services réseau (11)

| Protocole | Transport | Ports par défaut |
|----------|-----------|---------------|
| DNS | TCP/UDP | 53 |
| DHCP | UDP | 67, 68 |
| NTP | UDP | 123 |
| SNMP | UDP | 161 |
| NetBIOS-NS | UDP | 137 |
| STUN | UDP | 3478 |
| OpenVPN | UDP | 1194 |
| IPsec | UDP | 500 |
| IPMI | UDP | 623 |
| CoAP | UDP | 5683 |
| Echo | TCP/UDP | 7 |

### Systèmes de contrôle industriels (18)

| Protocole | Transport | Ports par défaut | Notes |
|----------|-----------|---------------|-------|
| Modbus | TCP | 502 | SCADA/PLC |
| S7comm | TCP | 102 | Automate Siemens |
| EtherNet/IP | TCP | 44818 | Rockwell/Allen-Bradley |
| PROFINET | TCP | 34962-34964 | Industriel Siemens |
| BACnet | UDP | 47808 | Automatisation du bâtiment |
| OPC UA | TCP | 4840 | Interopérabilité industrielle |
| OMRON FINS | TCP/UDP | 9600 | Automate OMRON |
| MELSEC-Q | TCP | 5006, 5007 | Automate Mitsubishi |
| KNXnet/IP | UDP | 3671 | Automatisation du bâtiment |
| IEC 104 | TCP | 2404 | SCADA réseau électrique |
| DNP3 | TCP | 20000 | SCADA réseau électrique |
| Codesys | TCP | 1200, 2455 | Runtime PLC |
| Fox | TCP | 1911 | Tridium Niagara |
| PC WORX | TCP | 1962 | Phoenix Contact |
| ProConOS | TCP | 20547 | Runtime PLC |
| HART-IP | TCP | 5094 | Automatisation des processus |
| EtherCAT | UDP | 34980 | Contrôle de mouvement |
| Crimson v3 | TCP | 789 | IHM Red Lion |
| PCOM | TCP | 20256 | Automate Unitronics |
| GE SRTP | TCP | 18245 | Automate GE |
| ATG | TCP | 10001 | Jauges de réservoirs |

### Télécoms et VoIP (17)

| Protocole | Transport | Ports par défaut | Notes |
|----------|-----------|---------------|-------|
| Diameter | TCP/SCTP | 3868 | AAA LTE/5G |
| M3UA | SCTP | 2905 | SS7 sur IP |
| M2UA | SCTP | 2904 | Adaptation utilisateur MTP2 |
| M2PA | SCTP | 3565 | Adaptation pair MTP2 |
| SGsAP | SCTP | 29118 | Repli à commutation de circuits |
| X2AP | SCTP | 36422 | Inter-eNodeB LTE |
| IUA | SCTP | 9900 | RNIS sur IP |
| SIP | TCP/UDP/TLS | 5060, 5061 | Signalisation VoIP |
| MEGACO/H.248 | UDP | 2944, 2945 | Passerelle média |
| MGCP | UDP | 2427, 2727 | Passerelle média |
| H.323 | TCP | 1720 | Visioconférence |
| SCCP/Skinny | TCP | 2000, 2443 | Téléphones IP Cisco |
| IAX2 | UDP | 4569 | Protocole Asterisk |
| GTP-C | UDP | 2123 | Contrôle GPRS |
| GTP-U | UDP | 2152 | Plan utilisateur GPRS |
| GTP' | UDP | 3386 | Facturation GPRS |
| PFCP | UDP | 8805 | Plan utilisateur 5G |

### VPN et sécurité (11)

| Protocole | Transport | Ports par défaut |
|----------|-----------|---------------|
| SSH | TCP | 22, 2222 |
| OpenVPN | UDP | 1194 |
| WireGuard | UDP | 51820 |
| IPsec/IKEv2 | UDP | 500, 4500 |
| L2TP | UDP | 1701 |
| SSTP | TCP | 443 |
| GlobalProtect | HTTP | 443 |
| AnyConnect | HTTP | 443 |
| FortiGate | HTTP | 443 |
| STUN/TURN | UDP | 3478, 5349 |
| Kerberos | TCP | 88 |

### Accès à distance et gestion (10)

| Protocole | Transport | Ports par défaut |
|----------|-----------|---------------|
| RDP | TCP/TLS | 3389 |
| VNC | TCP | 5900 |
| Telnet | TCP | 23 |
| WinRM | HTTP | 5985, 5986 |
| IPMI | UDP | 623 |
| SNMP | UDP | 161 |
| Zabbix Agent | TCP | 10050 |
| NRPE | TCP/TLS | 5666 |
| Docker | TCP/TLS | 2375, 2376 |
| X11 | TCP | 6000-6063 |

### Outils de développement (8)

| Protocole | Transport | Ports par défaut |
|----------|-----------|---------------|
| HTTP/HTTPS | TCP | 80, 443, 8080, 8443 |
| Java RMI | TCP | 1099 |
| JDWP | TCP | 5005 |
| RTSP | TCP | 554 |
| Linux RPC | TCP | 111 |
| JetDirect | TCP | 9100 |
| CUPS/IPP | TCP | 631 |
| SonarQube | TCP | 9000 |

## Utilisation de la bibliothèque

Importez Nerva dans vos applications Go :```go
package main

import (
    "context"
    "fmt"
    "log"
    "net/netip"
    "time"

    "github.com/praetorian-inc/nerva/pkg/plugins"
    "github.com/praetorian-inc/nerva/pkg/scan"
)

func main() {
    // Configure scan
    config := scan.Config{
        DefaultTimeout: 2 * time.Second,
        FastMode:       false,
        UDP:            false,
        Proxy:          "socks5://127.0.0.1:1080", // optional
        ProxyAuth:      "username:password",       // optional
        DNSOrder:       "p",                       // resolver strategy
    }

    // Create target
    ip, _ := netip.ParseAddr("93.184.216.34")
    target := plugins.Target{
        Address: netip.AddrPortFrom(ip, 22),
        Host:    "example.com",
    }

    // Run scan
    results, err := scan.ScanTargets(context.Background(), []plugins.Target{target}, config)
    if err != nil {
        log.Fatal(err)
    }

    // Process results
    for _, result := range results {
        fmt.Printf("%s:%d - %s (%s)\n",
            result.Host, result.Port,
            result.Protocol, result.Transport)
    }
}
```
Voir [examples/service-fingerprinting-example.go](https://github.com/praetorian-inc/nerva/blob/main/examples/service-fingerprinting-example.go) pour un exemple complet et fonctionnel.

## Cas d'utilisation

### Tests d'intrusion

Identifier rapidement les services découverts lors de la reconnaissance afin de repérer les vecteurs d'attaque potentiels.

### Pipelines de découverte d'actifs

Combinez avec Naabu ou Masscan pour un inventaire d'actifs à grande échelle :```sh
naabu -host 10.0.0.0/24 -silent | nerva --json | jq '.protocol'
```
### Analyse de sécurité CI/CD

Intégrez-le dans les pipelines de déploiement pour vérifier que seuls les services attendus sont exposés.

### Reconnaissance pour bug bounty

Énumérez rapidement les services sur les cibles du périmètre pour trouver des points de terminaison intéressants.

### Analyse de réseaux télécoms

Identifiez les nœuds Diameter dans les réseaux LTE/5G en utilisant le transport SCTP (Linux) :```sh
nerva -t mme.telecom.local:3868 -S --json
```
## Architecture```mermaid
graph LR
    A[host:port input] --> B[Target Parser]
    B --> C[Scan Engine]
    C --> D{Transport}
    D -->|TCP| E[TCP Plugins]
    D -->|UDP| F[UDP Plugins]
    D -->|SCTP| G[SCTP Plugins]
    E --> H[Service Detection]
    F --> H
    G --> H
    H --> I[Metadata Extraction]
    I --> J[JSON/CSV/Text Output]
```
## Pourquoi Nerva ?

### vs Nmap

- **Des valeurs par défaut plus intelligentes** : Nerva vérifie d'abord le protocole le plus probable en fonction du numéro de port
- **Sortie structurée** : Prise en charge native de JSON/CSV pour un parsing facile et une intégration dans des pipelines
- **Ciblé** : Empreinte de service uniquement — à associer avec des scanners de ports dédiés pour la découverte

### vs zgrab2

- **Détection automatique** : Pas besoin de spécifier le protocole à l'avance
- **Utilisation plus simple** : `nerva -t host:port` vs `echo host | zgrab2 http -p port`

## Dépannage

### Aucune sortie

**Cause** : Le port est fermé ou aucun service pris en charge n'a été détecté.

**Solution** : Vérifiez que le port est ouvert :```sh
nc -zv example.com 80
```
### Erreurs de délai d'attente

**Cause** : Délai d'attente par défaut de 2 secondes trop court pour les services lents.

**Solution** : Augmenter le délai d'attente :```sh
nerva -t example.com:80 -w 5000  # 5 seconds
```
### Services UDP non détectés

**Cause** : analyse UDP désactivée par défaut.

**Solution** : Activer avec l'option `-U` (peut nécessiter les droits root) :```sh
sudo nerva -t example.com:53 -U
```
### SCTP ne fonctionne pas

**Cause** : SCTP n'est pris en charge que sur Linux.

**Solution** : Exécutez sur un système Linux ou dans un conteneur :```sh
docker run --rm nerva -t telecom:3868 -S
```
## Terminologie

- **Service** : Un service réseau s'exécutant sur un port (SSH, HTTP, PostgreSQL, etc.)
- **Fingerprinting** : Détection et identification du type de service, de la version et de la configuration
- **Plugin** : Un module de détection spécifique à un protocole
- **Fast Mode** : Analyse uniquement du port par défaut pour chaque protocole (optimisation 80/20)
- **Transport** : Protocole de couche réseau (TCP, UDP ou SCTP)

## Support

Si vous trouvez Nerva utile, pensez à lui attribuer une étoile :

[![GitHub stars](https://img.shields.io/github/stars/praetorian-inc/nerva?style=social)](https://github.com/praetorian-inc/nerva)

## Contribution

Nous accueillons les contributions ! Consultez [CONTRIBUTING.md](https://github.com/praetorian-inc/nerva/blob/main/CONTRIBUTING.md) pour les directives.

## Licence

Apache 2.0 — voir [LICENSE](https://github.com/praetorian-inc/nerva/blob/main/LICENSE) pour plus de détails.

## Remerciements

Nerva est un fork maintenu de [fingerprintx](https://github.com/praetorian-inc/fingerprintx), développé à l'origine par la promotion de stagiaires 2022 de Praetorian :

* [Soham Roy](https://github.com/praetorian-sohamroy)
* [Jue Huang](https://github.com/jue-huang)
* [Henry Jung](https://github.com/henryjung64)
* [Tristan Wiesepape](https://github.com/qwetboy10)
* [Joseph Henry](https://github.com/jwhenry28)
* [Noah Tutt](https://github.com/noahtutt)
* [Nathan Sportsman](https://github.com/nsportsman)
Télécharger l’outil