Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
nerva — 快速服务指纹识别CLI,支持170多种协议(TCP/UDP/SCTP)- 由Praetorian构建 | Kitploit
工具/GitHubGitHub/praetorian-inc/nerva
侦察物联网安全网络映射端口扫描SCADA/ICS安全信息收集错误配置
GitHubpraetorian-inc/nerva

nerva

快速服务指纹识别CLI,支持170多种协议(TCP/UDP/SCTP)- 由Praetorian构建

查看仓库
32238641天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
<img width="2976" height="1440" alt="Nerva - 用于网络侦察的快速服务指纹识别 CLI,支持 170+ 种协议" src="https://assets.kitploit.com/production/public/readmes/12252/3a0b59e2929fa8fdc41aafe4cb8649e3e85f0ba5f9df8128f7f3f952d70b0018.webp" />
<h1 align="center">
  Nerva
  <br>
  <sub>Nerva:快速服务指纹识别 CLI</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">功能特性</a> •
  <a href="#installation">安装</a> •
  <a href="#quick-start">快速开始</a> •
  <a href="#usage">使用方法</a> •
  <a href="#supported-protocols">协议</a> •
  <a href="#library-usage">库</a> •
  <a href="#use-cases">使用场景</a> •
  <a href="#troubleshooting">故障排除</a>
</p>

> **使用 Go 编写的高性能服务指纹识别工具。** 可识别 TCP、UDP 和 SCTP 传输层上的 170+ 种网络协议,并提取丰富的元数据。

Nerva 可快速检测并识别开放网络端口上运行的服务。可将其与 [Naabu](https://github.com/projectdiscovery/naabu) 等端口扫描器配合使用,对发现的服务进行指纹识别,或将其集成到你的安全流水线中实现自动化侦察。

## 功能特性

- **170+ 协议插件** — 数据库、远程访问、Web 服务、消息传递、工业及电信协议
- **76 个 HTTP 指纹识别器** — 检测 Web 技术,包括防火墙、数据库、AI/LLM 服务器等
- **安全配置错误检测** — 识别常见安全问题,如未认证的 API 和明文协议(`--misconfigs`)
- **多传输层支持** — TCP(默认)、UDP(`--udp`)和 SCTP(`--sctp`,仅限 Linux)
- **代理支持** — 通过 SOCKS5 或 HTTP 代理透明地路由扫描流量,并可配置 DNS 解析
- **丰富元数据** — 从每个服务中提取版本、配置及安全相关细节
- **快速模式** — 仅扫描默认端口以进行快速侦察(`--fast`)
- **灵活输出** — JSON、CSV 或人类可读格式
- **流水线友好** — 可从 Naabu、Nmap 或任何输出 `host:port` 的工具中通过管道输入
- **Go 库** — 可直接导入到你的 Go 应用程序中

## 安装

### 发布版本
从 [Releases](https://github.com/praetorian-inc/nerva/releases) 页面下载预编译的二进制文件。

### 从 GitHub

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

### 从源码

```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
```

## 快速开始

对单个目标进行指纹识别:

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

获取详细的 JSON 元数据:

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

从端口扫描器管道输入:

```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 -->
完整参考——包括每个子命令、别名和标志,甚至包括那些在 `--help` 中隐藏的——已生成到 [docs/CLI.md](https://github.com/praetorian-inc/nerva/blob/main/docs/CLI.md)。
<!-- END generated: cli-aliases -->

## 用法

```
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
```

### 示例

**多个目标:**

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

**来自文件:**

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

**UDP 扫描**:

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

**SCTP 扫描**(仅限 Linux):

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

**快速模式**(仅默认端口):

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

**使用远程 DNS 解析的代理路由:**

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

### 安全配置错误检测

启用 `--misconfigs` 后,Nerva 可以识别常见的安全配置错误:

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

**检测到的错误配置:**

| 发现 ID | 严重性 | 描述 |
|------------|----------|-------------|
| `docker-unauth-api` | 严重 | Docker API 可在未经身份验证的情况下访问 |
| `x11-unauth-access` | 严重 | X11 服务器允许未经身份验证的连接 |
| `dotnet-remoting-http-exposed` | 高 | .NET Remoting HTTP 通道暴露(反序列化风险) |
| `smb-signing-not-required` | 中 | 未要求 SMB 签名(中继攻击风险) |
| `telnet-cleartext` | 中 | Telnet 以明文传输凭据 |
| `vnc-detected` | 中 | 检测到 VNC(通常身份验证较弱) |
| `ssh-password-auth` | 中 | 服务器允许密码身份验证 |
| `ssh-weak-cipher` | 低 | 服务器提供弱加密算法(RC4、3DES、Blowfish) |
| `ssh-weak-kex` | 低 | 服务器提供弱密钥交换算法 |
| `ssh-weak-mac` | 低 | 服务器提供弱 MAC 算法 |
| `ftp-cleartext` | 低 | FTP 以明文传输凭据 |

**包含错误配置的示例输出:**

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

### 代理支持

Nerva 支持通过 SOCKS5 和 HTTP 代理路由扫描流量,并可配置 DNS 解析。

**支持的代理协议:**

- `socks5://` - 使用本地 DNS 解析的 SOCKS5 代理
- `socks5h://` - 使用代理端 DNS 解析的 SOCKS5 代理(始终)
- `http://` - HTTP CONNECT 代理
- `https://` - HTTPS CONNECT 代理

**代理认证:**

```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
```

**DNS 解析策略**(`--dns-order`):

| 选项 | 策略 | 使用场景 |
|--------|----------|----------|
| `l` | 仅本地 | 标准本地 DNS(默认) |
| `p` | 仅代理 | 强制使用代理端 DNS 解析 |
| `lp` | 本地,失败时回退到代理 | 先尝试本地,失败时使用代理 |
| `pl` | 代理,失败时回退到本地 | 先尝试代理,失败时使用本地 |

**注意:** `socks5h://` 方案会自动强制使用代理端 DNS(等同于 `--dns-order p`)

**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:**

```sh
# UDP scanning through SOCKS5 proxy (limited support)
nerva -t target.com:161 --proxy socks5://127.0.0.1:1080 --udp
```

⚠️ **UDP 限制:** 通过 SOCKS5 的 UDP 支持有限。并非所有 SOCKS5 服务器都支持 UDP 关联。可能会发生本地 UDP 回退。

**带速率限制的并行扫描:**

```sh
nerva -l large-target-list.txt -W 100 -H 5 -R 50 -v
```

**优雅关闭**(Ctrl+C 返回部分结果):

```sh
nerva -l huge-target-list.txt -W 50 -v
# Press Ctrl+C to stop — collected results are still printed
```

## 支持的协议

**170+ 个服务检测插件**,覆盖 TCP、UDP 和 SCTP:

### HTTP 指纹模块(66)

针对 Web 服务的技术检测,按类别组织:

#### 防火墙与网络安全(12)

| 模块 | 描述 |
|--------|-------------|
| Checkpoint | Check Point 安全网关 |
| Cisco ASA/FTD | Cisco 防火墙/VPN 设备 |
| FortiGate | Fortinet 防火墙/VPN |
| GlobalProtect | Palo Alto Networks VPN |
| Juniper | Juniper SRX 防火墙 |
| OPNsense | OPNsense 防火墙 |
| pfSense | pfSense 防火墙 |
| SonicWall | SonicWall 防火墙 |
| AnyConnect | Cisco AnyConnect SSL VPN |
| Cisco Expressway | Cisco 协作网关 |
| BigIP | F5 BIG-IP 负载均衡器 |
| WinRM | Windows 远程管理 |

#### AI/LLM 与机器学习(6)

| 模块 | 描述 |
|--------|-------------|
| Ollama | 自托管 LLM 推理服务器 |
| LocalAI | 自托管 LLM 推理(兼容 OpenAI) |
| Open WebUI | LLM Web 界面(ChatGPT 风格) |
| Triton | NVIDIA Triton 推理服务器 |
| Weaviate | 面向 AI 的向量数据库 |
| ChromaDB | 向量数据库 |

#### 数据库与数据存储(12)

| 模块 | 描述 |
|--------|-------------|
| ArangoDB | 多模型数据库 |
| CockroachDB | 分布式 SQL 数据库 |
| CouchDB | Apache 文档数据库 |
| Elasticsearch | 搜索与分析引擎 |
| etcd | 分布式键值存储 |
| Milvus | 向量数据库 |
| MinIO | 兼容 S3 的对象存储 |
| Pinecone | 向量数据库 |
| Redis Commander | Redis Web 管理界面 |
| TiDB | 分布式 SQL 数据库 |
| YugabyteDB | 分布式 SQL 数据库 |
| Qdrant | 向量数据库 |

#### DevOps 与基础设施(14)

| 模块 | 描述 |
|--------|-------------|
| Artifactory | JFrog 制品仓库 |
| Consul | HashiCorp 服务网格 |
| Docker Registry | 容器镜像仓库 |
| Gitea | 自托管 Git 服务 |
| Grafana | 可观测性平台 |
| Harbor | 容器镜像仓库 |
| Jaeger | 分布式追踪 |
| Jenkins | CI/CD 自动化 |
| Kubernetes | 容器编排 API |
| Portainer | Docker 管理界面 |
| Prometheus | 监控系统 |
| Swagger/OpenAPI | API 文档 |
| TeamCity | CI/CD 服务器 |
| Vault | HashiCorp 密钥管理 |

#### Web 服务器与框架(10)

| 模块 | 描述 |
|--------|-------------|
| Apache HTTPD | Apache HTTP 服务器 |
| Express.js | Node.js Web 框架 |
| GoAhead | 嵌入式 Web 服务器 |
| Gotenberg | PDF 生成服务 |
| Guacamole | Apache 远程桌面网关 |
| SOAP | Web 服务 |
| Tengine | 阿里巴巴 Web 服务器 |
| Tomcat | Apache Tomcat |
| WordPress | CMS 平台 |
| UPnP | 通用即插即用 |

#### 企业与业务(8)

| 模块 | 描述 |
|--------|-------------|
| AEM | Adobe Experience Manager |
| Dynamics 365 | Microsoft Dynamics 365 / Power Apps |
| Oracle Service Cloud | Oracle CRM 平台 |
| SAP NetWeaver | SAP 企业平台 |
| Splunk | 日志管理平台 |
| VMware Horizon | 虚拟桌面基础设施 |
| QNAP QTS | NAS 管理 |
| Exchange | Microsoft Exchange Server |

#### 家庭与 IoT(2)

| 模块 | 描述 |
|--------|-------------|
| Home Assistant | 家庭自动化平台 |
| UniFi/EdgeOS | Ubiquiti 网络设备 |

#### 其他(3)

| 模块 | 描述 |
|--------|-------------|
| .NET Remoting HTTP | Microsoft .NET Remoting HTTP 通道 |
| Go pprof | Go 性能分析端点 |
| NATS | 消息代理 |

### 数据库(20)

| 协议 | 传输 | 默认端口 |
|----------|-----------|---------------|
| 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 |

### 远程访问(6)

| 协议 | 传输 | 默认端口 |
|----------|-----------|---------------|
| SSH | TCP | 22, 2222 |
| RDP | TCP/TLS | 3389 |
| Telnet | TCP | 23 |
| VNC | TCP | 5900 |
| AnyDesk | TCP | 7070 |
| TeamViewer | TCP | 5938 |

### Web 与 API(2)

| 协议 | 传输 | 备注 |
|----------|-----------|-------|
| HTTP/HTTPS | TCP | HTTP/2,通过 Wappalyzer 进行技术检测 |
| Kubernetes | TCP | API 服务器检测 |

### 消息与队列(10)

| 协议 | 传输 | 默认端口 |
|----------|-----------|---------------|
| 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 |

### 文件与目录服务(7)

| 协议 | 传输 | 默认端口 |
|----------|-----------|---------------|
| FTP | TCP | 21 |
| SMB | TCP | 445 |
| NFS | TCP/UDP | 2049 |
| Rsync | TCP | 873 |
| TFTP | UDP | 69 |
| SVN | TCP | 3690 |
| LDAP | TCP/TLS | 389, 636 |

### 网络服务(11)

| 协议 | 传输 | 默认端口 |
|----------|-----------|---------------|
| 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 |

### 工业控制系统(18)

| 协议 | 传输 | 默认端口 | 备注 |
|----------|-----------|---------------|-------|
| Modbus | TCP | 502 | SCADA/PLC |
| S7comm | TCP | 102 | Siemens PLC |
| EtherNet/IP | TCP | 44818 | Rockwell/Allen-Bradley |
| PROFINET | TCP | 34962-34964 | Siemens 工业 |
| BACnet | UDP | 47808 | 楼宇自动化 |
| OPC UA | TCP | 4840 | 工业互操作 |
| OMRON FINS | TCP/UDP | 9600 | OMRON PLC |
| MELSEC-Q | TCP | 5006, 5007 | Mitsubishi PLC |
| KNXnet/IP | UDP | 3671 | 楼宇自动化 |
| IEC 104 | TCP | 2404 | 电网 SCADA |
| DNP3 | TCP | 20000 | 电网 SCADA |
| Codesys | TCP | 1200, 2455 | PLC 运行时 |
| Fox | TCP | 1911 | Tridium Niagara |
| PC WORX | TCP | 1962 | Phoenix Contact |
| ProConOS | TCP | 20547 | PLC 运行时 |
| HART-IP | TCP | 5094 | 过程自动化 |
| EtherCAT | UDP | 34980 | 运动控制 |
| Crimson v3 | TCP | 789 | Red Lion HMI |
| PCOM | TCP | 20256 | Unitronics PLC |
| GE SRTP | TCP | 18245 | GE PLC |
| ATG | TCP | 10001 | 储罐计量 |

### 电信与 VoIP(17)

| 协议 | 传输 | 默认端口 | 备注 |
|----------|-----------|---------------|-------|
| Diameter | TCP/SCTP | 3868 | LTE/5G AAA |
| M3UA | SCTP | 2905 | SS7 over IP |
| M2UA | SCTP | 2904 | MTP2 用户适配 |
| M2PA | SCTP | 3565 | MTP2 对等适配 |
| SGsAP | SCTP | 29118 | 电路交换回退 |
| X2AP | SCTP | 36422 | LTE eNodeB 间 |
| IUA | SCTP | 9900 | ISDN over IP |
| SIP | TCP/UDP/TLS | 5060, 5061 | VoIP 信令 |
| MEGACO/H.248 | UDP | 2944, 2945 | 媒体网关 |
| MGCP | UDP | 2427, 2727 | 媒体网关 |
| H.323 | TCP | 1720 | 视频会议 |
| SCCP/Skinny | TCP | 2000, 2443 | Cisco IP 电话 |
| IAX2 | UDP | 4569 | Asterisk 协议 |
| GTP-C | UDP | 2123 | GPRS 控制 |
| GTP-U | UDP | 2152 | GPRS 用户面 |
| GTP' | UDP | 3386 | GPRS 计费 |
| PFCP | UDP | 8805 | 5G 用户面 |

### VPN 与安全(11)

| 协议 | 传输 | 默认端口 |
|----------|-----------|---------------|
| 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 |

### 远程访问与管理(10)

| 协议 | 传输 | 默认端口 |
|----------|-----------|---------------|
| 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 |

### 开发者工具(8)

| 协议 | 传输 | 默认端口 |
|----------|-----------|---------------|
| 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 |

## 库用法

将 Nerva 导入你的 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)
    }
}
```

参见 [examples/service-fingerprinting-example.go](https://github.com/praetorian-inc/nerva/blob/main/examples/service-fingerprinting-example.go) 获取完整可运行示例。

## 使用场景

### 渗透测试

快速对侦察中发现的服务进行指纹识别,以确定潜在的攻击向量。

### 资产发现流水线

与 Naabu 或 Masscan 结合使用,实现大规模资产清点:

```sh
naabu -host 10.0.0.0/24 -silent | nerva --json | jq '.protocol'
```

### CI/CD 安全扫描

集成到部署流水线中,以验证仅暴露预期的服务。

### 漏洞赏金侦察

快速枚举范围内的目标服务,以发现有趣的端点。

### 电信网络分析

使用 SCTP 传输(Linux)对 LTE/5G 网络中的 Diameter 节点进行指纹识别:

```sh
nerva -t mme.telecom.local:3868 -S --json
```

## 架构

```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]
```

## 为什么选择 Nerva?

### 与 Nmap 对比

- **更智能的默认设置**:Nerva 根据端口号优先检查最可能的协议
- **结构化输出**:原生支持 JSON/CSV,便于解析和流水线集成
- **专注**:仅进行服务指纹识别——可与专用端口扫描器配合进行发现

### 与 zgrab2 对比

- **自动检测**:无需提前指定协议
- **更简单的用法**:`nerva -t host:port` 对比 `echo host | zgrab2 http -p port`

## 故障排除

### 无输出

**原因**:端口已关闭或未检测到支持的服务。

**解决方案**:验证端口是否开放:

```sh
nc -zv example.com 80
```

### 超时错误

**原因**:默认的 2 秒超时对于慢速服务来说太短。

**解决方案**:增加超时时间:

```sh
nerva -t example.com:80 -w 5000  # 5 seconds
```

### 未检测到 UDP 服务

**原因**:默认禁用 UDP 扫描。

**解决方案**:使用 `-U` 标志启用:

```sh
nerva -t example.com:53 -U
```

Nerva UDP 扫描使用已连接的数据报套接字,不需要 root 权限。

### SCTP 无法工作

**原因**:SCTP 仅在 Linux 上受支持。

**解决方案**:在 Linux 系统或容器上运行:

```sh
docker run --rm nerva -t telecom:3868 -S
```

## 术语

- **服务**:运行在端口上的网络服务(SSH、HTTP、PostgreSQL 等)
- **指纹识别**:检测并识别服务类型、版本和配置
- **插件**:协议特定的检测模块
- **快速模式**:仅扫描每种协议的默认端口(80/20 优化)
- **传输层**:网络层协议(TCP、UDP 或 SCTP)

## 支持

如果您觉得 Nerva 有用,请考虑给它一个 star:

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

## 贡献

我们欢迎贡献!请参阅 [CONTRIBUTING.md](https://github.com/praetorian-inc/nerva/blob/main/CONTRIBUTING.md) 了解指南。

## 许可证

Apache 2.0 — 详情请参阅 [LICENSE](https://github.com/praetorian-inc/nerva/blob/main/LICENSE)。

## 致谢

Nerva 是 [fingerprintx](https://github.com/praetorian-inc/fingerprintx) 的维护分支,最初由 Praetorian 2022 届实习生开发:

* [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)
下载工具