Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
fingerprintx — أداة قائمة بذاتها لاكتشاف الخدمات على المنافذ المفتوحة! | Kitploit
أدوات/GitHubGitHub/praetorian-inc/fingerprintx
الاستطلاعتخطيط الشبكةمسح المنافذجمع المعلوماتالأدوات والمكوناتArchived
GitHubpraetorian-inc/fingerprintx

fingerprintx

أداة قائمة بذاتها لاكتشاف الخدمات على المنافذ المفتوحة!

عرض المستودع
75878منذ 7 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

fingerprintx

الميزات • التثبيت • الاستخدام • تشغيل fingerprintx • الاستخدام كمكتبة • لماذا nmap لا؟ • ملاحظات • شكر وتقدير

fingerprintx هو أداة مشابهة لـ httpx تدعم أيضًا بصمة الخدمات مثل RDP وSSH وMySQL وPostgreSQL وKafka وغيرها. يمكن استخدام fingerprintx جنبًا إلى جنب مع ماسحات المنافذ مثل Naabu لبصمة مجموعة من المنافذ التي تم تحديدها أثناء مسح المنافذ. على سبيل المثال، قد يرغب مهندس في مسح نطاق IP ثم بصمة الخدمة قيد التشغيل على جميع المنافذ المكتشفة بسرعة.

الميزات

  • بصمة سريعة للخدمات المكشوفة
  • اكتشاف الخدمات على مستوى طبقة التطبيق
  • يعمل بشكل جيد مع أدوات سطر الأوامر الأخرى
  • جمع تلقائي للبيانات الوصفية من الخدمات المحددة

https://user-images.githubusercontent.com/69640071/193334167-8405dd50-f9bf-4386-b7b8-83255af41a8b.mov

مثال Fingerprintx

مثال سلسلة Fingerprintx

مثال SMB لـ Fingerprintx

البروتوكولات المدعومة:

51 إضافة لكشف الخدمات تدعم بروتوكولات TCP و UDP:

الميزات البارزة:

  • قواعد بيانات المتجهات: ChromaDB، Milvus، Pinecone
  • قواعد البيانات العلائقية: PostgreSQL، MySQL، MSSQL، OracleDB، DB2، Sybase، Firebird
  • قواعد بيانات NoSQL: MongoDB، CouchDB، Cassandra، Redis، Elasticsearch، InfluxDB، Neo4j
  • أدوات المطورين: JDWP (بروتوكول تصحيح أخطاء Java السلكي)، Java RMI
  • البروتوكولات الصناعية: Modbus، IPMI
  • المراسلة: Kafka، MQTT، SMTP
  • الوصول عن بُعد: SSH، RDP، Telnet، VNC
  • نقل الملفات: FTP، SMB، Rsync
  • الاتصالات/AAA: Diameter (شبكات 3GPP، LTE/5G)، SMPP (بوابات SMS)

التثبيت

من Github

root@kitploit:~
go install github.com/praetorian-inc/fingerprintx/cmd/fingerprintx@latest

من المصدر (إصدار go > 1.18)

root@kitploit:~
$ git clone [email protected]:praetorian-inc/fingerprintx.git
$ cd fingerprintx

# مع إصدار go > 1.18
$ go build ./cmd/fingerprintx
$ ./fingerprintx -h

Docker

root@kitploit:~
$ git clone [email protected]:praetorian-inc/fingerprintx.git
$ cd fingerprintx

# بناء
docker build -t fingerprintx .

# وتشغيله
docker run --rm fingerprintx -h
docker run --rm fingerprintx -t praetorian.com:80 --json

الاستخدام

root@kitploit:~
fingerprintx -h

الخيار -h سيعرض جميع الأعلام المدعومة لـ fingerprintx.

root@kitploit:~
الاستخدام:
  fingerprintx [flags]
تحديد الهدف:
	يتطلب مضيف ورقم منفذ أو IP ورقم منفذ. يُفترض أن المنفذ مفتوح.
	HOST:PORT أو IP:PORT
أمثلة:
	fingerprintx -t praetorian.com:80
	fingerprintx -l input-file.txt
	fingerprintx --json -t praetorian.com:80,127.0.0.1:8000

الأعلام:
      --csv               تنسيق الإخراج بصيغة csv
  -f, --fast              الوضع السريع
  -h, --help              المساعدة لـ fingerprintx
      --json              تنسيق الإخراج بصيغة json
  -l, --list string       ملف إدخال يحتوي على الأهداف
  -o, --output string     ملف الإخراج
  -t, --targets strings   الهدف أو قائمة أهداف مفصولة بفواصل
  -w, --timeout int       المهلة (بالملي ثانية) (الافتراضي 500)
  -U, --udp               تشغيل إضافات UDP
  -v, --verbose           الوضع المفصل

الوضع السريع سيحاول فقط بصمة الخدمة الافتراضية المرتبطة بهذا المنفذ لكل هدف. على سبيل المثال، إذا كان praetorian.com:8443 هو الإدخال، فسيتم تشغيل إضافة https فقط. إذا لم يكن https قيد التشغيل على praetorian.com:8443، فلن يكون هناك أي إخراج. لماذا نفعل هذا؟ إنها طريقة سريعة لبصمة معظم الخدمات في قائمة كبيرة من المضيفين (فكر في قاعدة 80/20).

تشغيل Fingerprintx

مع هدف واحد:

root@kitploit:~
$ fingerprintx -t 127.0.0.1:8000
http://127.0.0.1:8000

بشكل افتراضي، يكون الإخراج بالشكل: SERVICE://HOST:PORT. للحصول على إخراج خدمة أكثر تفصيلاً، حدد JSON باستخدام العلم --json:

root@kitploit:~
$ fingerprintx -t 127.0.0.1:8000 --json
{"ip":"127.0.0.1","port":8000,"service":"http","transport":"tcp","metadata":{"responseHeaders":{"Content-Length":["1154"],"Content-Type":["text/html; charset=utf-8"],"Date":["Mon, 19 Sep 2022 18:23:18 GMT"],"Server":["SimpleHTTP/0.6 Python/3.10.6"]},"status":"200 OK","statusCode":200,"version":"SimpleHTTP/0.6 Python/3.10.6"}}

أنبوب الإخراج من برنامج آخر (مثل naabu):

root@kitploit:~
$ naabu 127.0.0.1 -silent 2>/dev/null | fingerprintx
http://127.0.0.1:8000
ftp://127.0.0.1:21

التشغيل مع ملف إدخال:

root@kitploit:~
$ cat input.txt | fingerprintx
http://praetorian.com:80
telnet://telehack.com:23

# أو إذا كنت تفضل
$ fingerprintx -l input.txt
http://praetorian.com:80
telnet://telehack.com:23

مع المزيد من إخراج البيانات الوصفية:

root@kitploit:~
$ cat input.txt | fingerprintx --json
{"host":"praetorian.com","ip":"146.148.61.165","port":80,"service":"http","transport":"tcp","metadata":{"responseHeaders":{"Connection":["keep-alive"],"Content-Type":["text/html"],"Date":["Mon, 19 Sep 2022 18:37:55 GMT"],"Etag":["W/\"5e3e263f-1703\""],"Keep-Alive":["timeout=20"],"Server":["nginx"],"Vary":["Accept-Encoding"]},"status":"404 Not Found","statusCode":404,"version":"nginx"}}
{"host":"telehack.com","ip":"64.13.139.230","port":23,"service":"telnet","transport":"tcp","metadata":{"serverData":"fffb03"}}

الاستخدام كمكتبة

يمكن استيراد fingerprintx إلى مشروعك لمسح الخدمات على المنافذ المفتوحة. يتم توفير مثال على كيفية القيام بذلك هنا في دليل الأمثلة. قم بالبناء باستخدام go build scan.go. ملف آخر قد يكون مفيدًا كمرجع عند استيراد fingerprintx إلى مشروعك الخاص هو مشغل سطر الأوامر.

لماذا Nmap لا؟

Nmap هو المعيار لمسح الشبكات. لماذا نستخدم fingerprintx بدلاً من nmap؟ السببان الرئيسيان هما:

  • fingerprintx يعمل بذكاء، وليس بجهد أكبر: أول إضافة تعمل ضد خادم بمنفذ 8080 مفتوح هي إضافة http. نهج الخدمة الافتراضية يقلل من وقت المسح في أفضل حالة. في معظم الأوقات، الخدمات التي تعمل على المنافذ 80 و443 و22 هي http وhttps وssh -- وهذا ما يفحصه fingerprintx أولاً.
  • fingerprintx يدعم إخراج json باستخدام العلم --json. يدعم Nmap العديد من خيارات الإخراج (عادي، xml، grep)، ولكن غالبًا ما يكون من الصعب تحليلها وبرمجتها بشكل مناسب. يدعم fingerprintx إخراج json مما يسهل التكامل مع الأدوات الأخرى في خطوط المعالجة.

ملاحظات

  • لماذا لديك مجلد third_party يستورد مكتبات تشفير Go؟
    • سؤال جيد! وحدة بصمة ssh تحدد خيارات التشفير المختلفة التي يدعمها الخادم عند جمع البيانات الوصفية أثناء عملية المصافحة. يستخدم هذا بعض الدوال غير المصدرة، ولهذا السبب تم تضمين مكتبات تشفير Go هنا مع ملف export.go.
  • Fingerprintx ليس مصممًا لتحديد المنافذ المفتوحة على الأنظمة المستهدفة ويفترض أن كل إدخال target:port مفتوح. إذا لم يكن أي من المنافذ مفتوحًا، فلن يكون هناك أي إخراج حيث لا توجد خدمات تعمل على الأهداف.
  • كيف يقارن هذا بـ zgrab2؟
    • استخدام سطر الأوامر (وحالة الاستخدام) لـ zgrab2 يختلف قليلاً عن fingerprintx. بالنسبة لـ zgrab2، يجب تحديد البروتوكول مسبقًا: echo praetorian.com | zgrab2 http -p 8000، مما يفترض أنك تعرف بالفعل ما هو قيد التشغيل هناك. بالنسبة لـ fingerprintx، ليس هذا هو الحال: echo praetorian.com:8000 | fingerprintx. نهج مسح البروتوكول على "طبقة التطبيق" متشابه جدًا.

شكر وتقدير

fingerprintx هو عمل الكثير من الأشخاص، بما في ذلك فئة المتدربين الرائعة لدينا لعام 2022. فيما يلي قائمة بالمساهمين حتى الآن:

  • [Soham Roy]praetorian-sohamroy
  • [Jue Huang] (https://github.com/jue-huang)
  • [Henry Jung] (https://github.com/henryjung64)
  • [Tristan Wiesepape][qwetboy10] (https://github.com/qwetboy10)
  • [Joseph Henry][jwhenry28] (https://github.com/jwhenry28)
  • [Noah Tutt][noahtutt] (https://github.com/noahtutt)
  • [Nathan Sportsman][nsportsman] (https://github.com/nsportsman)
تنزيل الأداة
الخدمةالنقل
CassandraTCP
ChromaDBTCP
CouchDBTCP
DB2TCP
DHCPUDP
DiameterTCP
DNSTCP/UDP
EchoTCP
ElasticsearchTCP
FirebirdTCP
FTPTCP
HTTP/HTTPSTCP
IMAPTCP
InfluxDBTCP
IPMITCP
IPSECUDP
Java RMITCP
JDWPTCP
KafkaTCP
LDAPTCP
Linux RPCTCP
MemcachedTCP
MilvusTCP
ModbusTCP
MongoDBTCP
MQTTTCP
MSSQLTCP
MySQLTCP
Neo4jTCP
NetBIOS-NSUDP
NTPUDP
OpenVPNUDP
OracleDBTCP
PineconeTCP
POP3TCP
PostgreSQLTCP
RDPTCP
RedisTCP
RsyncTCP
RTSPTCP
SMBTCP
SMPPTCP
SMTPTCP
SNMPUDP
SNPPTCP
SSHTCP
STUNUDP
SybaseTCP
TelnetTCP
VNCTCP