アップデート一覧に戻る
New releaseJul 21, 2026

nerva v1.42.6

高速サービスフィンガープリンティングCLI - 170+プロトコル (TCP/UDP/SCTP) 対応 - Praetorian 製

共有
Nerva - ネットワーク偵察向けの高速サービスフィンガープリンティングCLI、170以上のプロトコルをサポート

Nerva
Nerva: 高速サービスフィンガープリンティングCLI

Release Build Status Go Report Card License Stars

機能 • インストール • クイックスタート • 使用方法 • プロトコル • ライブラリ • ユースケース • トラブルシューティング

Goで書かれた高性能サービスフィンガープリンティング。 TCP、UDP、SCTPトランスポートにわたる170以上のネットワークプロトコルを識別し、豊富なメタデータを抽出します。

Nervaは、開いているネットワークポートで実行されているサービスを迅速に検出・識別します。Naabuのようなポートスキャナと併用して検出されたサービスのフィンガープリントを取得したり、セキュリティパイプラインに統合して自動偵察を行ったりできます。

機能

  • 170以上のプロトコルプラグイン — データベース、リモートアクセス、Webサービス、メッセージング、産業用、通信プロトコル
  • 76のHTTPフィンガープリンタ — ファイアウォール、データベース、AI/LLMサーバーなど、Webテクノロジーを検出
  • セキュリティ設定ミスの検出 — 認証されていないAPIや平文プロトコルなど、一般的なセキュリティ問題を特定 (--misconfigs)
  • マルチトランスポート対応 — TCP (デフォルト)、UDP (--udp)、SCTP (--sctp、Linuxのみ)
  • プロキシ対応 — 設定可能なDNS解決により、SOCKS5またはHTTPプロキシを介してスキャントラフィックを透過的にルーティング
  • 豊富なメタデータ — 各サービスからバージョン、設定、セキュリティ関連の詳細を抽出
  • 高速モード — 迅速な偵察のためにデフォルトポートのみをスキャン (--fast)
  • 柔軟な出力 — JSON、CSV、または人間が読める形式
  • パイプライン対応 — Naabu、Nmap、または host:port を出力する任意のツールからパイプ
  • Goライブラリ — Goアプリケーションに直接インポート可能

インストール

リリース

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

完全なリファレンス — すべてのサブコマンド、エイリアス、フラグ(--help から隠されているものも含む)— は docs/CLI.md に生成されます。

使用方法```

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スキャン**(root権限が必要な場合があります):```sh
sudo 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

### セキュリティ設定ミスの検出

Nerva は `--misconfigs` を有効にすると、一般的なセキュリティ設定ミスを特定できます:```sh
nerva -t example.com:2375 --misconfigs --json

検出された設定ミス:

Finding ID重大度説明
docker-unauth-apiCritical認証なしでアクセス可能な Docker API
x11-unauth-accessCriticalX11 サーバーが未認証接続を許可
smb-signing-not-requiredMediumSMB 署名が必須ではない (リレー攻撃のリスク)
telnet-cleartextMediumTelnet が認証情報を平文で送信
vnc-detectedMediumVNC を検出 (多くの場合、弱い認証)
ssh-password-authMediumサーバーがパスワード認証を許可
ssh-weak-cipherLowサーバーが弱い暗号 (RC4、3DES、Blowfish) を提供
ssh-weak-kexLowサーバーが弱い鍵交換アルゴリズムを提供
ssh-weak-macLowサーバーが弱い MAC アルゴリズムを提供
ftp-cleartextLowFTP が認証情報を平文で送信

設定ミスを含む出力例:```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は、設定可能なDNS解決を備えたSOCKS5およびHTTPプロキシを介したスキャントラフィックのルーティングをサポートしています。

**サポートされているプロキシスキーム:**

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

対応プロトコル

TCP、UDP、SCTPにわたる170以上のサービス検出プラグイン:

HTTPフィンガープリントモジュール (66)

カテゴリ別に整理されたWebサービスの技術検出:

ファイアウォール & ネットワークセキュリティ (12)

モジュール説明
CheckpointCheck Point Security Gateway
Cisco ASA/FTDCiscoファイアウォール/VPNアプライアンス
FortiGateFortinetファイアウォール/VPN
GlobalProtectPalo Alto Networks VPN
JuniperJuniper SRXファイアウォール
OPNsenseOPNsenseファイアウォール
pfSensepfSenseファイアウォール
SonicWallSonicWallファイアウォール
AnyConnectCisco AnyConnect SSL VPN
Cisco ExpresswayCiscoコラボレーションゲートウェイ
BigIPF5 BIG-IPロードバランサー
WinRMWindows Remote Management

AI/LLM & 機械学習 (6)

モジュール説明
Ollamaセルフホスト型LLM推論サーバー
LocalAIセルフホスト型LLM推論 (OpenAI互換)
Open WebUILLM Webインターフェース (ChatGPTスタイル)
TritonNVIDIA Triton Inference Server
WeaviateAI向けベクトルデータベース
ChromaDBベクトルデータベース

データベース & データストア (12)

カテゴリ