
170+ प्रोटोकॉल (TCP/UDP/SCTP) के लिए तेज़ सेवा फ़िंगरप्रिंटिंग CLI - Praetorian द्वारा निर्मित
विशेषताएँ • इंस्टॉलेशन • त्वरित शुरुआत • उपयोग • प्रोटोकॉल • लाइब्रेरी • उपयोग के मामले • समस्या निवारण
Go में लिखी गई उच्च-प्रदर्शन सेवा फिंगरप्रिंटिंग। TCP, UDP, और SCTP ट्रांसपोर्ट पर 170+ नेटवर्क प्रोटोकॉल की पहचान करें, साथ ही समृद्ध मेटाडेटा निष्कर्षण।
Nerva खुले नेटवर्क पोर्ट पर चल रही सेवाओं का तेज़ी से पता लगाता है और उनकी पहचान करता है। खोजी गई सेवाओं को फिंगरप्रिंट करने के लिए इसे Naabu जैसे पोर्ट स्कैनर के साथ उपयोग करें, या स्वचालित टोह के लिए इसे अपनी सुरक्षा पाइपलाइनों में एकीकृत करें।
--misconfigs)--udp), और SCTP (--sctp, केवल Linux)--fast)host:port आउटपुट करता हैReleases पृष्ठ से एक प्रीबिल्ट बाइनरी डाउनलोड करें।
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
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
पाई गई गलत कॉन्फ़िगरेशन:
| Finding ID | Severity | Description |
|---|---|---|
docker-unauth-api | Critical | Docker API बिना प्रमाणीकरण के सुलभ |
x11-unauth-access | Critical | X11 सर्वर बिना प्रमाणीकृत कनेक्शन की अनुमति देता है |
dotnet-remoting-http-exposed | High | .NET Remoting HTTP चैनल उजागर (deserialization जोखिम) |
smb-signing-not-required | Medium | SMB साइनिंग आवश्यक नहीं (relay attack जोखिम) |
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 के साथ उदाहरण आउटपुट:
{
"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 | प्रॉक्सी, स्थानीय पर फ़ॉलबैक | पहले प्रॉक्सी आज़माएँ, विफलता पर स्थानीय का उपयोग करें |