
nerva v1.53.1
CLI سريع لتعريف الخدمات لأكثر من 170 بروتوكول (TCP/UDP/SCTP) - مبني بواسطة Praetorian
Nerva
نيرفا: واجهة سطر أوامر سريعة لتحليل بصمة الخدمات
الميزات • التثبيت • البدء السريع • الاستخدام • البروتوكولات • المكتبة • حالات الاستخدام • استكشاف الأخطاء وإصلاحها
تحليل بصمة الخدمات عالي الأداء مكتوب بلغة Go. يحدد أكثر من 170 بروتوكول شبكة عبر ناقلات TCP و UDP و SCTP مع استخراج بيانات تعريفية غنية.
يكتشف نيرفا بسرعة ويحدد الخدمات العاملة على منافذ الشبكة المفتوحة. استخدمه جنبًا إلى جنب مع ماسحات المنافذ مثل Naabu لتحليل بصمة الخدمات المكتشفة، أو قم بدمجه في خطوط أمانك الآلية لأتمتة الاستطلاع.
الميزات
- أكثر من 170 إضافة بروتوكول — قواعد البيانات، الوصول عن بُعد، خدمات الويب، المراسلة، البروتوكولات الصناعية والاتصالات
- 76 أداة تحليل بصمة HTTP — كشف تقنيات الويب بما في ذلك جدران الحماية، قواعد البيانات، خوادم AI/LLM، والمزيد
- كشف الأخطاء الأمنية في التكوين — تحديد المشكلات الأمنية الشائعة مثل واجهات برمجة التطبيقات غير الموثقة والبروتوكولات بنص واضح (
--misconfigs) - دعم متعدد الناقلات — TCP (افتراضي)، UDP (
--udp)، و SCTP (--sctp، لينكس فقط) - دعم الوكيل — توجيه حركة المسح بشفافية عبر وكلاء SOCKS5 أو HTTP مع إعدادات تحليل DNS قابلة للتخصيص
- بيانات تعريفية غنية — استخراج الإصدارات، التهيئات، والتفاصيل المتعلقة بالأمان من كل خدمة
- الوضع السريع — مسح المنافذ الافتراضية فقط للاستطلاع السريع (
--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
### Flags
| العلم | المختصر | الوصف | الافتراضي |
|------|-------|-------------|---------|
| `--targets` | `-t` | الهدف أو قائمة أهداف مفصولة بفواصل | — |
| `--list` | `-l` | ملف الإدخال الذي يحتوي على الأهداف | — |
| `--output` | `-o` | مسار ملف الإخراج | stdout |
| `--json` | | الإخراج بصيغة JSON | false |
| `--csv` | | الإخراج بصيغة CSV | false |
| `--misconfigs` | | تمكين كشف الأخطاء في التكوين الأمني | false |
| `--proxy` | | رابط الوكيل (مثال: 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 (لينكس فقط) | 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 (لينكس فقط):```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 | حرجة | واجهة 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://` - بروكسي SOCKS5 مع دقة DNS محلية
- `socks5h://` - بروكسي SOCKS5 مع دقة DNS من جانب البروكسي (دائمًا)
- `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: دعم UDP عبر SOCKS5 محدود. لا تدعم جميع خوادم 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
البروتوكولات المدعومة
أكثر من 170 مكونًا إضافيًا لكشف الخدمات عبر TCP و UDP و SCTP:
وحدات بصمة HTTP (66)
كشف التقنيات لخدمات الويب، منظمة حسب الفئة:
جدران الحماية وأمان الشبكات (12)
| الوحدة | الوصف |
|---|---|
| Checkpoint | بوابة الأمان من Check Point |
| Cisco ASA/FTD | أجهزة جدار ناري/VPN من Cisco |
| FortiGate | جدار ناري/VPN من Fortinet |
| GlobalProtect | VPN من Palo Alto Networks |
| Juniper | جدران نارية Juniper SRX |
| OPNsense | جدار ناري OPNsense |
| pfSense | جدار ناري pfSense |
| SonicWall | جدران نارية SonicWall |
| AnyConnect | VPN SSL من Cisco AnyConnect |
| Cisco Expressway | بوابة التعاون من Cisco |
| BigIP | موازن التحميل F5 BIG-IP |
| WinRM | إدارة Windows عن بُعد |
الذكاء الاصطناعي/LLM والتعلم الآلي (6)
| الوحدة | الوصف |
|---|---|
| Ollama | خادم استدلال LLM ذاتي الاستضافة |
| LocalAI | استدلال LLM ذاتي الاستضافة (متوافق مع OpenAI) |
| Open WebUI | واجهة ويب LLM (على نمط ChatGPT) |
| Triton | خادم استدلال NVIDIA Triton |
| Weaviate | قاعدة بيانات متجهة للذكاء الاصطناعي |
| ChromaDB | قاعدة بيانات متجهة |
قواعد البيانات ومخازن البيانات (12)
| الوحدة | الوصف |
|---|---|
| ArangoDB | قاعدة بيانات متعددة النماذج |
| CockroachDB | قاعدة بيانات SQL موزعة |
| CouchDB | قاعدة بيانات مستندات Apache |
| Elasticsearch | محرك بحث وتحليلات |
| etcd | مخزن مفاتيح-قيم موزع |
| Milvus | قاعدة بيانات متجهة |
| MinIO | تخزين كائنات متوافق مع S3 |
| Pinecone | قاعدة بيانات متجهة |
| Redis Commander | واجهة إدارة ويب لـ Redis |
| TiDB | قاعدة بيانات SQL موزعة |
| YugabyteDB | قاعدة بيانات SQL موزعة |
| Qdrant | قاعدة بيانات متجهة |
DevOps والبنية التحتية (14)
| الوحدة | الوصف |
|---|---|
| Artifactory | مستودع القطع الأثرية من JFrog |
| Consul | شبكة الخدمات من HashiCorp |
| Docker Registry | سجل صور الحاويات |
| Gitea | خدمة Git ذاتية الاستضافة |
| Grafana | منصة المراقبة |
| Harbor | سجل الحاويات |
| Jaeger | التتبع الموزع |
| Jenkins | أتمتة CI/CD |
| Kubernetes | واجهة برمجة تطبيقات تنسيق الحاويات |
| Portainer | واجهة إدارة Docker |
| Prometheus | نظام المراقبة |
| Swagger/OpenAPI | توثيق API |
| TeamCity | خادم CI/CD |
| Vault | إدارة الأسرار من HashiCorp |
خوادم الويب والأطر (10)
| الوحدة | الوصف |
|---|---|
| Apache HTTPD | خادم HTTP من Apache |
| Express.js | إطار عمل ويب Node.js |
| GoAhead | خادم ويب مضمن |
| Gotenberg | خدمة إنشاء PDF |
| Guacamole | بوابة سطح المكتب البعيد من Apache |
| SOAP | خدمات الويب |
| Tengine | خادم ويب من Alibaba |
| Tomcat | Apache Tomcat |
| WordPress | منصة CMS |
| UPnP | التوصيل والتشغيل العالمي |
المؤسسات والأعمال (8)
| الوحدة | الوصف |
|---|---|
| AEM | Adobe Experience Manager |
| Dynamics 365 | Microsoft Dynamics 365 / Power Apps |
| Oracle Service Cloud | منصة CRM من Oracle |
| SAP NetWeaver | منصة المؤسسات من SAP |
| Splunk | منصة إدارة السجلات |
| VMware Horizon | بنية سطح المكتب الافتراضي |
| QNAP QTS | إدارة NAS |
| Exchange | خادم Microsoft Exchange |
المنزل وإنترنت الأشياء (2)
| الوحدة | الوصف |
|---|---|
| Home Assistant | منصة أتمتة المنزل |
| UniFi/EdgeOS | أجهزة شبكات Ubiquiti |
أخرى (2)
| الوحدة | الوصف |
|---|---|
| Go pprof | نقاط نهاية تحليل أداء Go |
| NATS | وسيط الرسائل |
قواعد البيانات (20)
| البروتوكول | النقل | المنافذ الافتراضية |
|---|---|---|
| PostgreSQL | TCP | 5432 |
| MySQL | TCP | 3306 |
| MSSQL | TCP | 1433 |
| Oracle | TCP | 1521 |
| MongoDB | TCP | 27017 |
| Redis | TCP/TLS | 6379, 6380 |
| Cassandra | TCP | 9042 |
| InfluxDB | TCP | 8086 |
| Neo4j | TCP/TLS | 7687 |
| DB2 | TCP | 446, 50000 |
| Sybase | TCP | 5000 |
| Firebird | TCP | 3050 |
| Memcached | TCP | 11211 |
| ZooKeeper | TCP | 2181 |
| Milvus | TCP | 19530, 9091 |
| CouchDB | HTTP | 5984 |
| Elasticsearch | HTTP | 9200 |
| ArangoDB | HTTP | 8529 |
| ChromaDB | HTTP | 8000 |
| Pinecone | HTTP | 443 |
الوصول عن بُعد (6)
| البروتوكول | النقل | المنافذ الافتراضية |
|---|---|---|
| SSH | TCP | 22, 2222 |
| RDP | TCP/TLS | 3389 |
| Telnet | TCP | 23 |
| VNC | TCP | 5900 |
| AnyDesk | TCP | 7070 |
| TeamViewer | TCP | 5938 |
الويب وAPI (2)
| البروتوكول | النقل | ملاحظات |
|---|---|---|
| HTTP/HTTPS | TCP | HTTP/2, كشف التقنيات عبر Wappalyzer |
| Kubernetes | TCP | كشف خادم API |
الرسائل وقوائم الانتظار (10)
| البروتوكول | النقل | المنافذ الافتراضية |
|---|---|---|
| Kafka | TCP/TLS | 9092, 9093 |
| MQTT 3/5 | TCP/TLS | 1883, 8883 |
| AMQP | TCP/TLS | 5672, 5671 |
| ActiveMQ | TCP/TLS | 61616, 61617 |
| NATS | TCP/TLS | 4222, 6222 |
| Pulsar | TCP/TLS | 6650, 6651 |
| SMTP | TCP/TLS | 25, 465, 587 |
| POP3 | TCP/TLS | 110, 995 |
| IMAP | TCP/TLS | 143, 993 |
| SMPP | TCP | 2775, 2776 |
خدمات الملفات والدليل (7)
| البروتوكول | النقل | المنافذ الافتراضية |
|---|---|---|
| FTP | TCP | 21 |
| SMB | TCP | 445 |
| NFS | TCP/UDP | 2049 |
| Rsync | TCP | 873 |
| TFTP | UDP | 69 |
| SVN | TCP | 3690 |
| LDAP | TCP/TLS | 389, 636 |
خدمات الشبكات (11)
| البروتوكول | النقل | المنافذ الافتراضية |
|---|---|---|
| DNS | TCP/UDP | 53 |
| DHCP | UDP | 67, 68 |
| NTP | UDP | 123 |
| SNMP | UDP | 161 |
| NetBIOS-NS | UDP | 137 |
| STUN | UDP | 3478 |
| OpenVPN | UDP | 1194 |
| IPsec | UDP | 500 |
| IPMI | UDP | 623 |
| CoAP | UDP | 5683 |
| Echo | TCP/UDP | 7 |
أنظمة التحكم الصناعي (18)
| البروتوكول | النقل | المنافذ الافتراضية | ملاحظات |
|---|---|---|---|
| Modbus | TCP | 502 | SCADA/PLC |
| S7comm | TCP | 102 | Siemens PLC |
| EtherNet/IP | TCP | 44818 | Rockwell/Allen-Bradley |
| PROFINET | TCP | 34962-34964 | Siemens industrial |
| BACnet | UDP | 47808 | Building automation |
| OPC UA | TCP | 4840 | Industrial interop |
| OMRON FINS | TCP/UDP | 9600 | OMRON PLC |
| MELSEC-Q | TCP | 5006, 5007 | Mitsubishi PLC |
| KNXnet/IP | UDP | 3671 | Building automation |
| IEC 104 | TCP | 2404 | Power grid SCADA |
| DNP3 | TCP | 20000 | Power grid SCADA |
| Codesys | TCP | 1200, 2455 | PLC runtime |
| Fox | TCP | 1911 | Tridium Niagara |
| PC WORX | TCP | 1962 | Phoenix Contact |
| ProConOS | TCP | 20547 | PLC runtime |
| HART-IP | TCP | 5094 | Process automation |
| EtherCAT | UDP | 34980 | Motion control |
| Crimson v3 | TCP | 789 | Red Lion HMI |
| PCOM | TCP | 20256 | Unitronics PLC |
| GE SRTP | TCP | 18245 | GE PLC |
| ATG | TCP | 10001 | Tank gauges |
الاتصالات والصوت عبر IP (17)
| البروتوكول | النقل | المنافذ الافتراضية | ملاحظات |
|---|---|---|---|
| Diameter | TCP/SCTP | 3868 | LTE/5G AAA |
| M3UA | SCTP | 2905 | SS7 over IP |
| M2UA | SCTP | 2904 | MTP2 User Adaptation |
| M2PA | SCTP | 3565 | MTP2 Peer Adaptation |
| SGsAP | SCTP | 29118 | Circuit-switched fallback |
| X2AP | SCTP | 36422 | LTE inter-eNodeB |
| IUA | SCTP | 9900 | ISDN over IP |
| SIP | TCP/UDP/TLS | 5060, 5061 | VoIP signaling |
| MEGACO/H.248 | UDP | 2944, 2945 | Media gateway |
| MGCP | UDP | 2427, 2727 | Media gateway |
| H.323 | TCP | 1720 | Video conferencing |
| SCCP/Skinny | TCP | 2000, 2443 | Cisco IP phones |
| IAX2 | UDP | 4569 | Asterisk protocol |
| GTP-C | UDP | 2123 | GPRS control |
| GTP-U | UDP | 2152 | GPRS user plane |
| GTP' | UDP | 3386 | GPRS charging |
| PFCP | UDP | 8805 | 5G user plane |
VPN والأمان (11)
| البروتوكول | النقل | المنافذ الافتراضية |
|---|---|---|
| SSH | TCP | 22, 2222 |
| OpenVPN | UDP | 1194 |
| WireGuard | UDP | 51820 |
| IPsec/IKEv2 | UDP | 500, 4500 |
| L2TP | UDP | 1701 |
| SSTP | TCP | 443 |
| GlobalProtect | HTTP | 443 |
| AnyConnect | HTTP | 443 |
| FortiGate | HTTP | 443 |
| STUN/TURN | UDP | 3478, 5349 |
| Kerberos | TCP | 88 |
الوصول عن بُعد والإدارة (10)
| البروتوكول | النقل | المنافذ الافتراضية |
|---|---|---|
| RDP | TCP/TLS | 3389 |
| VNC | TCP | 5900 |
| Telnet | TCP | 23 |
| WinRM | HTTP | 5985, 5986 |
| IPMI | UDP | 623 |
| SNMP | UDP | 161 |
| Zabbix Agent | TCP | 10050 |
| NRPE | TCP/TLS | 5666 |
| Docker | TCP/TLS | 2375, 2376 |
| X11 | TCP | 6000-6063 |
أدوات المطورين (8)
| البروتوكول | النقل | المنافذ الافتراضية |
|---|---|---|
| HTTP/HTTPS | TCP | 80, 443, 8080, 8443 |
| Java RMI | TCP | 1099 |
| JDWP | TCP | 5005 |
| RTSP | TCP | 554 |
| Linux RPC | TCP | 111 |
| JetDirect | TCP | 9100 |
| CUPS/IPP | TCP | 631 |
| SonarQube | TCP | 9000 |
استخدام المكتبة
قم باستيراد Nerva في تطبيقات Go الخاصة بك:```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)
}
}
انظر [examples/service-fingerprinting-example.go](https://github.com/praetorian-inc/nerva/blob/HEAD/examples/service-fingerprinting-example.go) للحصول على مثال عملي كامل.
## حالات الاستخدام
### اختبار الاختراق
بصمة سريعة للخدمات المكتشفة أثناء الاستطلاع لتحديد نواقل الهجوم المحتملة.
### خطوط اكتشاف الأصول
ادمج مع Naabu أو Masscan لجرد واسع النطاق للأصول:```sh
naabu -host 10.0.0.0/24 -silent | nerva --json | jq '.protocol'
فحص أمان CI/CD
دمج في خطوات النشر للتحقق من أن الخدمات المتوقعة فقط هي المكشوفة.
استطلاع برامج مكافآت الثغرات (Bug Bounty)
تعداد سريع للخدمات عبر نطاقات الأهداف للعثور على نقاط نهاية مثيرة للاهتمام.
تحليل شبكات الاتصالات
البصمة على عُقد Diameter في شبكات 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
### أخطاء المهلة
**السبب**: المهلة الافتراضية البالغة ثانيتين قصيرة جدًا للخدمات البطيئة.
**الحل**: زيادة المهلة:```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 مفيدًا، يرجى التفكير في منحه نجمة:
المساهمة
نرحب بالمساهمات! راجع CONTRIBUTING.md للإرشادات.
الترخيص
Apache 2.0 — راجع LICENSE للتفاصيل.
الشكر والتقدير
Nerva هو فرع مُدار من fingerprintx، الذي تم تطويره أصلاً بواسطة فئة المتدربين في Praetorian لعام 2022: