Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
passer — محدد مواقع الخدمات السلبية، أداة تنصت بلغة بايثون تحدد الخوادم والعملاء والأسماء والمزيد | Kitploit
أدوات/GitHubGitHub/activecm/passer
أدوات دفاعيةالتقاط وتحليل الحزمالاستطلاعتخطيط الشبكةتحليل الشبكة الجنائيجمع المعلوماتأمن الشبكاتانتحال البصمة الرقميةتحليل DNS
GitHubactivecm/passer

passer

محدد مواقع الخدمات السلبية، أداة تنصت بلغة بايثون تحدد الخوادم والعملاء والأسماء والمزيد

2665316منذ 8 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

passer

محدد مواقع الخدمات السلبي، أداة تنصت بلغة بايثون تحدد الخوادم والعملاء والأسماء والمزيد

مقدمة

ملاحظات سريعة للبدء مع passer، أداة التنصت السلبية على الخدمات. أنت مسؤول عن الحصول على الإذن بالتنصت.

يمكن لـ Passer العمل من التقاط حزم مباشر أو من ملف pcap (معامل سطر الأوامر، انظر الأمثلة أدناه). يبلّغ عن الخدمات والعملاء المباشرين، وبطاقات الإيثرنت على الشبكة المحلية، ومدخلات DNS، وأنظمة التشغيل، والموجّهات - كل ذلك بشكل سلبي!

إذا كنت تستخدم ويندوز أو لم تتطابق مساراتك إلى ملفات الدعم مع مساراتي لسبب آخر، فأخبرني بمكانها وسأكون سعيدًا بتحديث السكربت.

التثبيت

المتطلبات

  • Python >=2.4 و <3.0
  • مكتبات بايثون (انظر requirements.txt)
    • ipaddress
    • pytz
    • scapy>=2.4.0

اختياري (لكنه موصى به)

  • nmap
    • لمصنّعي الإيثرنت وسلاسل الخدمات
  • ettercap وwireshark و/أو arp-scan
    • لمزيد من مصنّعي الإيثرنت
  • p0f الإصدار 2
    • لملف بصمة نظام التشغيل

أوبونتو/دبيان والتوزيعات القائمة على deb

# Install system dependencies
sudo apt-get install arp-scan ettercap-text-only nmap wireshark 
# Install python dependencies
sudo pip install -r requirements.txt
# Prevent Scapy from performing DNS lookups
echo 'noenum = [ Resolve(), TCP_SERVICES, UDP_SERVICES ]' >> ~/.scapy_startup.py

Redhat/CentOS/Fedora والتوزيعات القائمة على rpm

# Install system dependencies
sudo yum install arp-scan ettercap nmap wireshark
# Install python dependencies
sudo pip install -r requirements.txt
# Prevent Scapy from performing DNS lookups
echo 'noenum = [ Resolve(), TCP_SERVICES, UDP_SERVICES ]' >> ~/.scapy_startup.py

Windows (غير مكتمل)

لتثبيت scapy، راجع دليل التثبيت.

Docker

يتوفر Passer أيضًا كصورة Docker. إذا لم يكن Docker مثبتًا لديك بالفعل، فإليك طريقة سريعة وبسيطة لتثبيته على Linux:

curl -fsSL https://get.docker.com | sh -

خلاف ذلك، اتبع تعليمات التثبيت لنظام التشغيل الخاص بك.

لمعظم الاستخدامات، نوصي بسكربت passer المضمّن في هذا المستودع. سيتولى هذا السكربت جميع الأمور الخاصة بـ docker

wget https://raw.githubusercontent.com/activecm/passer/master/passer
chmod +x passer

يمكنك بعد ذلك استخدام هذا السكربت تمامًا كما تفعل في أي من الأمثلة أدناه. على سبيل المثال:

./passer -i eth0
# The equivalent without using the included script would be:
docker run --rm --name=passer -i --init --net=host --cap-add=net_raw activecm/passer -i eth0

من أجل إيقاف تشغيل passer:

docker stop passer

أمثلة

التنصت المباشر بصلاحيات الجذر

/path/to/passer.py

هذا يلتقط من جميع واجهات الشبكة ويرسل جميع أسطر الإخراج إلى وحدة التحكم لديك.

الالتقاط المباشر كمستخدم غير جذري

sudo /path/to/passer.py

أو

su - -c '/path/to/passer.py'

التنصت المباشر بصلاحيات الجذر، ولكن من واجهة واحدة فقط

/path/to/passer.py -i IfaceName

سيؤدي تشغيل route إلى إظهار بعض الواجهات الحية التي قد تستخدمها.

❕ الخيار -i غير متوافق مع -r.

قراءة الحزم من ملف pcap؛ دون الحاجة إلى صلاحيات الجذر

/path/to/passer.py -r /path/to/packets.pcap

❕ -r غير متوافق مع -i.

قبول بيانات pcap الخام عبر stdin

cat packetdata.pcap | ./passer.py -r /proc/self/fd/0
zcat packetdata.pcap.gz | ./passer.py -r /proc/self/fd/0
bzcat packetdata.pcap.bz2 | ./passer.py -r /proc/self/fd/0
tcpdump -i eth0 -qtnp -w - | ./passer.py -r /proc/self/fd/0
# etc...

يتيح لك هذا التقاط الحزم باستخدام أي أداة يمكنها حفظ الحزم في ملف pcap، ثم معالجتها لاحقًا باستخدام passer على نظام مختلف.

حفظ سطور المخرجات في ملف نصي للمعالجة لاحقًا

/path/to/passer.py -l /path/to/networkinfo.txt

كتم التحذيرات ومعلومات التصحيح الأخرى

/path/to/passer.py 2>/dev/null

عرض شاشة المساعدة

/path/to/passer.py -h

حفظ الحزم "الغريبة"/غير المعالجة في ملف pcap

/path/to/passer.py -u /path/to/oddpackets.pcap

هذا مخصص عمومًا لعملية التطوير؛ الحزم المحفوظة في هذا الملف هي تلك التي تحتاج إلى كتابة توقيعات لها. تُقبل بامتنان مساهمات الحزم الغريبة، وأوصاف الخدمات، والتصحيحات على البرنامج.

تطبيق مرشح BPF لتقييد الحزم التي تتم معالجتها

يُفترض أن يكون هذا بسيطًا مثل وضع مرشح BPF بين علامتي اقتباس مفردتين في نهاية سطر الأوامر. اعتبارًا من الإصدار 1.16، لا يبدو أن المكتبة الأساسية تستخدم المرشح المقدم بنجاح، لكن هناك حل بديل. استخدم tcpdump لإجراء التصفية، وسلّم مجموعة الحزم المخففة إلى passer عبر stdin، كما في الأعلى:

tcpdump -r packets.pcap -w - 'icmp or arp' | ./passer.py -r /proc/self/fd/0

راجع قسم "نماذج الفلاتر" أدناه للاطلاع على بعض الاقتراحات بشأن الفلاتر التي يمكن استخدامها إما في التقاط الحزم مسبقًا أو في التنصت المباشر.

استكشاف الأخطاء وإصلاحها

socket.error: (1, 'Operation not permitted')

من المحتمل أنك تحاول الالتقاط المباشر كمستخدم غير جذر. إما أن تسجّل الدخول كجذر، أو تستخدم sudo/su، أو تعمل مع ملفات pcap.

إذا تعطّل passer أو لم يعمل على نظامك، فيرجى إنشاء issue يتضمن رسالة الخطأ، إن وُجدت، وأي تفاصيل عن نظام التشغيل لديك.

صيغة الإخراج

يذهب إخراج Passer إلى stdout، وإذا أعطيت معامل سطر الأوامر -l /path/to/logfile، فإلى ذلك الملف أيضًا. إليك الصيغة:

TypeIPAddrProtoStateOptional description (may be empty)
'IP'IPaddr'IP'dead or livep0f OS description
'MA'IPaddr'Ethernet'MacAddrManufDescription
'TC'IPaddr'TCP_'Portclosed or openclient description
'TS'IPaddr'TCP_'Portclosed or listeningserver description
'UC'IPaddr'UDP_'Portopen or closedudp client port description
'US'IPaddr'UDP_'Portopen or closedudp server port description
'DN'IPaddr'A' or 'PTR'hostnamepossible extra info
'RO'IPaddr'TTLEx'routerpossible extra info
  • العمود 1: رمز من حرفين لنوع السجل
  • العمود 2: عنوان IP الذي يتم توصيفه.
  • العمود 3: البروتوكول المعني، أو "كيف نعرف هذا؟"
  • العمود 4: حالة الكائن الموصوف
  • العمود 5: معلومات إضافية عن الكائن

الأسطر مفصولة بفواصل لسهولة تحميلها في جدول بيانات أو استيرادها إلى SQL. لا ينبغي أن يحتوي أي من الحقول على فواصل. يوجد ملف إخراج نموذجي على http://www.stearns.org/passer/passer-sample-log.txt .

فيما يلي بعض الأمثلة على كيفية استخراج البيانات التي تريدها من هذه الأسطر:

  1. إزالة الأسطر المكررة:
cat /var/tmp/passer-log | sort -u | less
  1. إزالة الأسطر المكررة وتجميع جميع السجلات الخاصة بعنوان IP معين معًا:
cat /var/tmp/passer-log | sort -t, -k2 -u | less
  1. احصل على سجلات DNS والموجّه فقط:
cat /var/tmp/passer-log | sort -u | egrep '(^DN|^RO)' | less
  1. عرض جميع السجلات لعنوان IP معين:
cat /var/tmp/passer-log | sort -u | grep ',192\.168\.0\.17,' | less
  1. عرض جميع السجلات الخاصة بشبكة معينة:
cat /var/tmp/passer-log | sort -u | grep ',192\.168\.' | less
  1. عرض جميع الأجهزة التي تستمع على منفذ TCP رقم 25 (خوادم smtp):
cat /var/tmp/passer-log | sort -u | grep ',TCP_25,listening,' | less
  1. لا تعرض المنافذ المغلقة:
cat /var/tmp/passer-log | sort -u | grep -v ',closed,' | less
  1. اعرض المنافذ المغلقة فقط:
cat /var/tmp/passer-log | sort -u | grep ',closed,' | less
  1. عرض جميع سجلات DNS في نطاقات "google.com":
cat /var/tmp/passer-log | sort -u | grep -i 'google\.com\.,' | less
  1. استخرج جميع سجلات عناوين DNS وأنشئ ملفًا شبيهًا بملف hosts:
/path/to/make-hosts /var/tmp/passer-log | /path/to/mergehosts.pl >/var/tmp/passer-hosts

"make-hosts" و merge-hosts هما سكربتات shell و perl منفصلة على http://www.stearns.org/passer/make-hosts .

هذه مجرد بداية! أرسل طرقك المفضلة لاستخراج العناصر ذات الاهتمام وسأضيفها وأمنحك الفضل.

مرشحات BPF

تنزيل الأداة