अपडेट पर वापस जाएँ
New releaseAug 7, 2026

nerva v1.61.0

170+ प्रोटोकॉल (TCP/UDP/SCTP) के लिए तेज़ सेवा फ़िंगरप्रिंटिंग CLI - Praetorian द्वारा निर्मित

साझा करें
Nerva - नेटवर्क टोही के लिए तेज़ सेवा फ़िंगरप्रिंटिंग CLI, जो 170+ प्रोटोकॉल का समर्थन करता है

Nerva
Nerva: तेज़ सेवा फ़िंगरप्रिंटिंग CLI

रिलीज़ बिल्ड स्थिति Go रिपोर्ट कार्ड लाइसेंस स्टार्स

सुविधाएँस्थापनात्वरित आरंभउपयोगप्रोटोकॉललाइब्रेरीउपयोग के मामलेसमस्या निवारण

Go में लिखा गया उच्च-प्रदर्शन सेवा फ़िंगरप्रिंटिंग। TCP, UDP और SCTP ट्रांसपोर्ट पर समृद्ध मेटाडेटा निष्कर्षण के साथ 170+ नेटवर्क प्रोटोकॉल की पहचान करें।

Nerva खुले नेटवर्क पोर्ट पर चल रही सेवाओं का तेज़ी से पता लगाता है और पहचान करता है। खोजी गई सेवाओं की फ़िंगरप्रिंटिंग के लिए इसे पोर्ट स्कैनर जैसे Naabu के साथ उपयोग करें, या स्वचालित टोही के लिए अपनी सुरक्षा पाइपलाइनों में एकीकृत करें।

सुविधाएँ

  • 170+ प्रोटोकॉल प्लगइन्स — डेटाबेस, दूरस्थ पहुँच, वेब सेवाएँ, मैसेजिंग, औद्योगिक और दूरसंचार प्रोटोकॉल
  • 76 HTTP फ़िंगरप्रिंटर — फ़ायरवॉल, डेटाबेस, AI/LLM सर्वर और अधिक सहित वेब तकनीकों का पता लगाएँ
  • सुरक्षा गलत कॉन्फ़िगरेशन का पता लगाना — अनप्रमाणित APIs और क्लियरटेक्स्ट प्रोटोकॉल जैसी सामान्य सुरक्षा समस्याओं की पहचान करें (--misconfigs)
  • मल्टी-ट्रांसपोर्ट समर्थन — TCP (डिफ़ॉल्ट), UDP (--udp), और SCTP (--sctp, केवल Linux)
  • प्रॉक्सी समर्थन — कॉन्फ़िगरेबल DNS रिज़ॉल्यूशन के साथ SOCKS5 या HTTP प्रॉक्सी के माध्यम से स्कैनिंग ट्रैफ़िक को पारदर्शी रूप से रूट करें
  • समृद्ध मेटाडेटा — प्रत्येक सेवा से संस्करण, कॉन्फ़िगरेशन और सुरक्षा-प्रासंगिक विवरण निकालें
  • फ़ास्ट मोड — तीव्र टोही के लिए केवल डिफ़ॉल्ट पोर्ट स्कैन करें (--fast)
  • लचीला आउटपुट — JSON, CSV या मानव-पठनीय प्रारूप
  • पाइपलाइन-अनुकूल — Naabu, Nmap या किसी भी उपकरण से पाइप करें जो host:port आउटपुट करता है
  • Go लाइब्रेरी — अपने Go अनुप्रयोगों में सीधे आयात करें

स्थापना

रिलीज़

रिलीज़ पृष्ठ से पूर्व-निर्मित बाइनरी डाउनलोड करें।

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

उपयोग```

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

### झंडे

| झंडा | संक्षिप्त | विवरण | डिफ़ॉल्ट |
|------|-----------|--------|---------|
| `--targets` | `-t` | लक्ष्य या अल्पविराम से अलग किया गया लक्ष्य सूची | — |
| `--list` | `-l` | लक्ष्यों वाली इनपुट फ़ाइल | — |
| `--output` | `-o` | आउटपुट फ़ाइल पथ | stdout |
| `--json` | | JSON प्रारूप में आउटपुट | false |
| `--csv` | | CSV प्रारूप में आउटपुट | false |
| `--misconfigs` | | सुरक्षा गलत कॉन्फ़िगरेशन जाँच सक्षम करें | false |
| `--proxy` | | प्रॉक्सी URL (उदा. socks5://127.0.0.1:1080) | — |
| `--proxy-auth` | | SOCKS5 प्रॉक्सी प्रमाणीकरण (उदा. username:password) | — |
| `--dns-order` | | DNS रिज़ॉल्यूशन क्रम: `p`, `l`, `lp`, `pl` | `lp` |
| `--fast` | `-f` | तेज़ मोड (केवल डिफ़ॉल्ट पोर्ट) | false |
| `--capabilities` | `-c` | उपलब्ध क्षमताओं की सूची दिखाएँ और बाहर निकलें | false |
| `--udp` | `-U` | UDP प्लगइन चलाएँ | false |
| `--sctp` | `-S` | SCTP प्लगइन चलाएँ (केवल Linux) | false |
| `--timeout` | `-w` | मिलीसेकंड में टाइमआउट | 2000 |
| `--verbose` | `-v` | stderr पर विस्तृत आउटपुट | false |
| `--workers` | `-W` | समवर्ती स्कैन कर्मचारी | 50 |
| `--max-host-conn` | `-H` | प्रति होस्ट IP अधिकतम समवर्ती कनेक्शन (0=असीमित) | 0 |
| `--rate-limit` | `-R` | वैश्विक रूप से प्रति सेकंड अधिकतम स्कैन (0=असीमित) | 0 |

### उदाहरण

**एकाधिक लक्ष्य:**```sh
nerva -t example.com:22,example.com:80,example.com:443

फ़ाइल से:```sh nerva -l targets.txt --json -o results.json

**UDP स्कैनिंग** (रूट की आवश्यकता हो सकती है):```sh
sudo nerva -t example.com:53 -U
# dns://example.com:53

SCTP scanning (केवल लिनक्स):```sh nerva -t telecom-server:3868 -S

diameter://telecom-server:3868

**तेज़ मोड** (केवल डिफ़ॉल्ट पोर्ट):```sh
nerva -l large-target-list.txt --fast --json

Proxy routing के साथ remote DNS resolution:```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

पहचानी गई गलत कॉन्फ़िगरेशन:

पहचान आईडीगंभीरताविवरण
docker-unauth-apiगंभीरप्रमाणीकरण के बिना Docker API सुलभ
x11-unauth-accessगंभीरX11 सर्वर बिना प्रमाणीकरण के कनेक्शन की अनुमति देता है
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

समर्थित प्रोटोकॉल

TCP, UDP और SCTP पर 170+ सेवा पहचान प्लगइन्स:

HTTP फिंगरप्रिंट मॉड्यूल (66)

वेब सेवाओं के लिए प्रौद्योगिकी का पता लगाना, श्रेणी के अनुसार व्यवस्थित:

फ़ायरवॉल और नेटवर्क सुरक्षा (12)

मॉड्यूलविवरण
Checkpointचेक पॉइंट सुरक्षा गेटवे
Cisco ASA/FTDसिस्को फ़ायरवॉल/VPN उपकरण
FortiGateफोर्टिनेट फ़ायरवॉल/VPN
GlobalProtectपालो ऑल्टो नेटवर्क्स VPN
Juniperजुनिपर SRX फ़ायरवॉल
OPNsenseOPNsense फ़ायरवॉल
pfSensepfSense फ़ायरवॉल
SonicWallसोनिकवॉल फ़ायरवॉल
AnyConnectसिस्को AnyConnect SSL VPN
Cisco Expresswayसिस्को सहयोग गेटवे
BigIPF5 BIG-IP लोड बैलेंसर
WinRMविंडोज रिमोट मैनेजमेंट

AI/LLM और मशीन लर्निंग (6)

मॉड्यूलविवरण
Ollamaस्व-होस्टेड LLM अनुमान सर्वर
LocalAIस्व-होस्टेड LLM अनुमान (OpenAI-संगत)
Open WebUILLM वेब इंटरफ़ेस (ChatGPT-शैली)
TritonNVIDIA ट्राइटन अनुमान सर्वर
WeaviateAI के लिए वेक्टर डेटाबेस
ChromaDBवेक्टर डेटाबेस

डेटाबेस और डेटा स्टोर (12)

मॉड्यूलविवरण
ArangoDBमल्टी-मॉडल डेटाबेस
CockroachDBवितरित SQL डेटाबेस
CouchDBअपाचे दस्तावेज़ डेटाबेस
Elasticsearchखोज और विश्लेषण इंजन
etcdवितरित की-वैल्यू स्टोर
Milvusवेक्टर डेटाबेस
MinIOS3-संगत ऑब्जेक्ट स्टोरेज
Pineconeवेक्टर डेटाबेस
Redis Commanderरेडिस वेब प्रबंधन UI
TiDBवितरित SQL डेटाबेस
YugabyteDBवितरित SQL डेटाबेस
Qdrantवेक्टर डेटाबेस

DevOps और बुनियादी ढाँचा (14)

मॉड्यूलविवरण
ArtifactoryJFrog आर्टिफैक्ट रिपॉजिटरी
Consulहैशीकॉर्प सर्विस मेश
Docker Registryकंटेनर इमेज रजिस्ट्री
Giteaस्व-होस्टेड Git सेवा
Grafanaऑब्ज़र्वेबिलिटी प्लेटफ़ॉर्म
Harborकंटेनर रजिस्ट्री
Jaegerवितरित ट्रेसिंग
JenkinsCI/CD ऑटोमेशन
Kubernetesकंटेनर ऑर्केस्ट्रेशन API
Portainerडॉकर प्रबंधन UI
Prometheusमॉनिटरिंग सिस्टम
Swagger/OpenAPIAPI दस्तावेज़ीकरण
TeamCityCI/CD सर्वर
Vaultहैशीकॉर्प सीक्रेट्स प्रबंधन

वेब सर्वर और फ्रेमवर्क (10)

मॉड्यूलविवरण
Apache HTTPDअपाचे HTTP सर्वर
Express.jsNode.js वेब फ्रेमवर्क
GoAheadएम्बेडेड वेब सर्वर
GotenbergPDF जनरेशन सेवा
Guacamoleअपाचे रिमोट डेस्कटॉप गेटवे
SOAPवेब सेवाएँ
Tengineअलीबाबा वेब सर्वर
Tomcatअपाचे टॉमकैट
WordPressCMS प्लेटफ़ॉर्म
UPnPयूनिवर्सल प्लग एंड प्ले

एंटरप्राइज और व्यवसाय (8)

मॉड्यूलविवरण
AEMएडोबी एक्सपीरियंस मैनेजर
Dynamics 365माइक्रोसॉफ्ट डायनेमिक्स 365 / पावर ऐप्स
Oracle Service Cloudओरेकल CRM प्लेटफ़ॉर्म
SAP NetWeaverSAP एंटरप्राइज प्लेटफ़ॉर्म
Splunkलॉग प्रबंधन प्लेटफ़ॉर्म
VMware Horizonवर्चुअल डेस्कटॉप इन्फ्रास्ट्रक्चर
QNAP QTSNAS प्रबंधन
Exchangeमाइक्रोसॉफ्ट एक्सचेंज सर्वर

होम और IoT (2)

मॉड्यूलविवरण
Home Assistantहोम ऑटोमेशन प्लेटफ़ॉर्म
UniFi/EdgeOSयूनीफाई नेटवर्क डिवाइस

अन्य (2)

मॉड्यूलविवरण
Go pprofGo प्रोफाइलिंग एंडपॉइंट्स
NATSमैसेज ब्रोकर

डेटाबेस (20)

प्रोटोकॉलपरिवहनडिफ़ॉल्ट पोर्ट
PostgreSQLTCP5432
MySQLTCP3306
MSSQLTCP1433
OracleTCP1521
MongoDBTCP27017
RedisTCP/TLS6379, 6380
CassandraTCP9042
InfluxDBTCP8086
Neo4jTCP/TLS7687
DB2TCP446, 50000
SybaseTCP5000
FirebirdTCP3050
MemcachedTCP11211
ZooKeeperTCP2181
MilvusTCP19530, 9091
CouchDBHTTP5984
ElasticsearchHTTP9200
ArangoDBHTTP8529
ChromaDBHTTP8000
PineconeHTTP443

रिमोट एक्सेस (6)

प्रोटोकॉलपरिवहनडिफ़ॉल्ट पोर्ट
SSHTCP22, 2222
RDPTCP/TLS3389
TelnetTCP23
VNCTCP5900
AnyDeskTCP7070
TeamViewerTCP5938

वेब और API (2)

प्रोटोकॉलपरिवहननोट्स
HTTP/HTTPSTCPHTTP/2, Wappalyzer के माध्यम से तकनीकी पहचान
KubernetesTCPAPI सर्वर पहचान

मैसेजिंग और क्यूज़ (10)

प्रोटोकॉलपरिवहनडिफ़ॉल्ट पोर्ट
KafkaTCP/TLS9092, 9093
MQTT 3/5TCP/TLS1883, 8883
AMQPTCP/TLS5672, 5671
ActiveMQTCP/TLS61616, 61617
NATSTCP/TLS4222, 6222
PulsarTCP/TLS6650, 6651
SMTPTCP/TLS25, 465, 587
POP3TCP/TLS110, 995
IMAPTCP/TLS143, 993
SMPPTCP2775, 2776

फ़ाइल और निर्देशिका सेवाएँ (7)

प्रोटोकॉलपरिवहनडिफ़ॉल्ट पोर्ट
FTPTCP21
SMBTCP445
NFSTCP/UDP2049
RsyncTCP873
TFTPUDP69
SVNTCP3690
LDAPTCP/TLS389, 636

नेटवर्क सेवाएँ (11)

प्रोटोकॉलपरिवहनडिफ़ॉल्ट पोर्ट
DNSTCP/UDP53
DHCPUDP67, 68
NTPUDP123
SNMPUDP161
NetBIOS-NSUDP137
STUNUDP3478
OpenVPNUDP1194
IPsecUDP500
IPMIUDP623
CoAPUDP5683
EchoTCP/UDP7

औद्योगिक नियंत्रण प्रणाली (18)

प्रोटोकॉलपरिवहनडिफ़ॉल्ट पोर्टनोट्स
ModbusTCP502SCADA/PLC
S7commTCP102सीमेंस PLC
EtherNet/IPTCP44818रॉकवेल/एलन-ब्रैडली
PROFINETTCP34962-34964सीमेंस औद्योगिक
BACnetUDP47808भवन ऑटोमेशन
OPC UATCP4840औद्योगिक अंतर-संचालन
OMRON FINSTCP/UDP9600ओमरॉन PLC
MELSEC-QTCP5006, 5007मित्सुबिशी PLC
KNXnet/IPUDP3671भवन ऑटोमेशन
IEC 104TCP2404पावर ग्रिड SCADA
DNP3TCP20000पावर ग्रिड SCADA
CodesysTCP1200, 2455PLC रनटाइम
FoxTCP1911ट्रिडियम नियाग्रा
PC WORXTCP1962फीनिक्स कॉन्टैक्ट
ProConOSTCP20547PLC रनटाइम
HART-IPTCP5094प्रक्रिया ऑटोमेशन
EtherCATUDP34980मोशन कंट्रोल
Crimson v3TCP789रेड लायन HMI
PCOMTCP20256यूनिट्रोनिक्स PLC
GE SRTPTCP18245GE PLC
ATGTCP10001टैंक गेज

दूरसंचार और VoIP (17)

प्रोटोकॉलपरिवहनडिफ़ॉल्ट पोर्टनोट्स
DiameterTCP/SCTP3868LTE/5G AAA
M3UASCTP2905IP पर SS7
M2UASCTP2904MTP2 उपयोगकर्ता अनुकूलन
M2PASCTP3565MTP2 पीयर अनुकूलन
SGsAPSCTP29118सर्किट-स्विच्ड फ़ॉलबैक
X2APSCTP36422LTE अंतर-eNodeB
IUASCTP9900IP पर ISDN
SIPTCP/UDP/TLS5060, 5061VoIP सिग्नलिंग
MEGACO/H.248UDP2944, 2945मीडिया गेटवे
MGCPUDP2427, 2727मीडिया गेटवे
H.323TCP1720वीडियो कॉन्फ्रेंसिंग
SCCP/SkinnyTCP2000, 2443सिस्को IP फ़ोन
IAX2UDP4569एस्टेरिस्क प्रोटोकॉल
GTP-CUDP2123GPRS नियंत्रण
GTP-UUDP2152GPRS उपयोगकर्ता प्लेन
GTP'UDP3386GPRS चार्जिंग
PFCPUDP88055G उपयोगकर्ता प्लेन

VPN और सुरक्षा (11)

प्रोटोकॉलपरिवहनडिफ़ॉल्ट पोर्ट
SSHTCP22, 2222
OpenVPNUDP1194
WireGuardUDP51820
IPsec/IKEv2UDP500, 4500
L2TPUDP1701
SSTPTCP443
GlobalProtectHTTP443
AnyConnectHTTP443
FortiGateHTTP443
STUN/TURNUDP3478, 5349
KerberosTCP88

रिमोट एक्सेस और प्रबंधन (10)

प्रोटोकॉलपरिवहनडिफ़ॉल्ट पोर्ट
RDPTCP/TLS3389
VNCTCP5900
TelnetTCP23
WinRMHTTP5985, 5986
IPMIUDP623
SNMPUDP161
Zabbix AgentTCP10050
NRPETCP/TLS5666
DockerTCP/TLS2375, 2376
X11TCP6000-6063

डेवलपर टूल्स (8)

प्रोटोकॉलपरिवहनडिफ़ॉल्ट पोर्ट
HTTP/HTTPSTCP80, 443, 8080, 8443
Java RMITCP1099
JDWPTCP5005
RTSPTCP554
Linux RPCTCP111
JetDirectTCP9100
CUPS/IPPTCP631
SonarQubeTCP9000

लाइब्रेरी उपयोग

अपने Go अनुप्रयोगों में Nerva आयात करें:```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)
}

}

See [examples/service-fingerprinting-example.go](https://github.com/praetorian-inc/nerva/blob/HEAD/examples/service-fingerprinting-example.go) for a complete working example.

## उपयोग के मामले

### पैठ परीक्षण

टोही के दौरान खोजी गई सेवाओं का तेजी से फिंगरप्रिंट लें, ताकि संभावित हमले के वैक्टर की पहचान हो सके।

### एसेट डिस्कवरी पाइपलाइनें

बड़े पैमाने पर एसेट इन्वेंट्री के लिए Naabu या Masscan के साथ संयोजित करें:```sh
naabu -host 10.0.0.0/24 -silent | nerva --json | jq '.protocol'

CI/CD सुरक्षा स्कैनिंग

तैनाती पाइपलाइनों में एकीकृत करें ताकि केवल अपेक्षित सेवाओं के उजागर होने की पुष्टि हो सके।

बग बाउंटी टोही

दिलचस्प एंडपॉइंट्स खोजने के लिए दायरे वाले लक्ष्यों पर सेवाओं की त्वरित गणना करें।

दूरसंचार नेटवर्क विश्लेषण

LTE/5G नेटवर्कों में SCTP ट्रांसपोर्ट (Linux) का उपयोग करके डायमीटर नोड्स की पहचान करें:```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 sudo nerva -t example.com:53 -U

### SCTP काम नहीं कर रहा है

**कारण**: SCTP केवल Linux पर समर्थित है।

**समाधान**: Linux सिस्टम या कंटेनर पर चलाएँ:```sh
docker run --rm nerva -t telecom:3868 -S

शब्दावली

  • सेवा: एक नेटवर्क सेवा जो एक पोर्ट पर चलती है (SSH, HTTP, PostgreSQL, आदि)
  • फिंगरप्रिंटिंग: सेवा प्रकार, संस्करण और कॉन्फ़िगरेशन का पता लगाना और पहचानना
  • प्लगइन: एक प्रोटोकॉल-विशिष्ट पहचान मॉड्यूल
  • फास्ट मोड: प्रत्येक प्रोटोकॉल के लिए केवल डिफ़ॉल्ट पोर्ट को स्कैन करना (80/20 अनुकूलन)
  • ट्रांसपोर्ट: नेटवर्क लेयर प्रोटोकॉल (TCP, UDP, या SCTP)

सहायता

यदि आपको Nerva उपयोगी लगता है, तो कृपया इसे एक स्टार देने पर विचार करें:

GitHub stars

योगदान

हम योगदान का स्वागत करते हैं! दिशानिर्देशों के लिए CONTRIBUTING.md देखें।

लाइसेंस

Apache 2.0 — विवरण के लिए LICENSE देखें।

आभार

Nerva fingerprintx का एक अनुरक्षित फोर्क है, जिसे मूल रूप से प्रेटोरियन के 2022 के इंटर्न क्लास द्वारा विकसित किया गया था:

श्रेणियाँ