アップデート一覧に戻る
New releaseSep 9, 2026

nerva v1.69.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から

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

ソースから

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

クイックスタート

単一のターゲットをフィンガープリントする:

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

詳細なJSONメタデータを取得する:

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

ポートスキャナからのパイプ:

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

例

複数のターゲット:

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

ファイルから:

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

UDPスキャン:

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

SCTPスキャン(Linuxのみ):

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

高速モード(デフォルトポートのみ):

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

リモートDNS解決を使用したプロキシルーティング:

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

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

Nerva は --misconfigs を有効にすると、一般的なセキュリティ設定ミスを特定できます:

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が認証情報を平文で送信

設定ミスを含む出力例:

{
  "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プロキシ

プロキシ認証:

# 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 スキャンの例:

# Scan .onion services through Tor (SOCKS5 proxy on port 9050)
nerva -t http://example.onion:80 --proxy socks5h://127.0.0.1:9050

プロキシ経由のUDP:

# 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 フォールバックが発生する可能性があります。

レート制限付きの並列スキャン:

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

グレースフルシャットダウン(Ctrl+C で部分的な結果を返す):

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)

カテゴリ