
nerva v1.42.6
170+ प्रोटोकॉल (TCP/UDP/SCTP) के लिए तेज़ सेवा फ़िंगरप्रिंटिंग CLI - Praetorian द्वारा निर्मित
Nerva
Nerva: तेज़ सेवा फिंगरप्रिंटिंग CLI
विशेषताएँ • इंस्टॉलेशन • त्वरित शुरुआत • उपयोग • प्रोटोकॉल • लाइब्रेरी • उपयोग के मामले • समस्या निवारण
Go में लिखी गई उच्च-प्रदर्शन सेवा फिंगरप्रिंटिंग। TCP, UDP, और SCTP ट्रांसपोर्ट पर 170+ नेटवर्क प्रोटोकॉल की पहचान करें, साथ ही समृद्ध मेटाडेटा निष्कर्षण करें।
Nerva खुले नेटवर्क पोर्ट पर चल रही सेवाओं का तेज़ी से पता लगाता है और उनकी पहचान करता है। इसका उपयोग Naabu जैसे पोर्ट स्कैनर के साथ मिलकर खोजी गई सेवाओं को फिंगरप्रिंट करने के लिए करें, या स्वचालित टोह के लिए इसे अपनी सुरक्षा पाइपलाइनों में एकीकृत करें।
विशेषताएँ
- 170+ प्रोटोकॉल प्लगइन — डेटाबेस, रिमोट एक्सेस, वेब सेवाएँ, मैसेजिंग, औद्योगिक, और टेलीकॉम प्रोटोकॉल
- 76 HTTP फिंगरप्रिंटर — फ़ायरवॉल, डेटाबेस, AI/LLM सर्वर, और अन्य सहित वेब तकनीकों का पता लगाएँ
- सुरक्षा गलत कॉन्फ़िगरेशन का पता लगाना — अनऑथेंटिकेटेड 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 | Severity | Description |
|---|---|---|
docker-unauth-api | Critical | Docker API बिना प्रमाणीकरण के सुलभ |
x11-unauth-access | Critical | X11 सर्वर बिना प्रमाणीकृत कनेक्शन की अनुमति देता है |
smb-signing-not-required | Medium | SMB साइनिंग आवश्यक नहीं (रिले हमले का जोखिम) |
telnet-cleartext | Medium | Telnet क्रेडेंशियल्स को cleartext में भेजता है |
vnc-detected | Medium | VNC पाई गई (अक्सर कमजोर प्रमाणीकरण) |
ssh-password-auth | Medium | सर्वर पासवर्ड प्रमाणीकरण की अनुमति देता है |
ssh-weak-cipher | Low | सर्वर कमजोर सिफर प्रदान करता है (RC4, 3DES, Blowfish) |
ssh-weak-kex | Low | सर्वर कमजोर key exchange एल्गोरिदम प्रदान करता है |
ssh-weak-mac | Low | सर्वर कमजोर MAC एल्गोरिदम प्रदान करता है |
ftp-cleartext | Low | FTP क्रेडेंशियल्स को cleartext में भेजता है |
misconfigs के साथ उदाहरण आउटपुट:```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 के समतुल्य)