
CLI سريع لتعريف الخدمات لأكثر من 170 بروتوكول (TCP/UDP/SCTP) - مبني بواسطة Praetorian
الميزات • التثبيت • البدء السريع • الاستخدام • البروتوكولات • المكتبة • حالات الاستخدام • استكشاف الأخطاء وإصلاحها
بصمة خدمات عالية الأداء مكتوبة بلغة Go. حدد أكثر من 170 بروتوكول شبكة عبر وسائط النقل TCP وUDP وSCTP مع استخراج غني للبيانات الوصفية.
تكتشف Nerva وتحدد بسرعة الخدمات التي تعمل على منافذ الشبكة المفتوحة. استخدمها إلى جانب ماسحات المنافذ مثل Naabu لبصمة الخدمات المكتشفة، أو دمجها في خطوط أنابيب الأمان الخاصة بك للاستطلاع الآلي.
--misconfigs)--udp)، وSCTP (--sctp، Linux فقط)--fast)host:portقم بتنزيل ملف ثنائي مُجمَّع مسبقًا من صفحة الإصدارات.
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 (لينكس فقط):
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
التكوينات الخاطئة المكتشفة:
| معرّف النتيجة | الخطورة | الوصف |
|---|---|---|
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 توجيه حركة الفحص عبر بروكسيات SOCKS5 وHTTP مع دقة DNS قابلة للتكوين.
مخططات البروكسي المدعومة:
socks5:// - بروكسي SOCKS5 مع دقة DNS محليةsocks5h:// - بروكسي SOCKS5 مع دقة DNS من جانب البروكسي (دائمًا)http:// - بروكسي HTTP CONNECThttps:// - بروكسي 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 عبر البروكسي: