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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
btrpa-scan — ماسح Bluetooth Low Energy (BLE) مع حل Resolvable Private Address (RPA) باستخدام Identity Resolving Keys (IRKs) | Kitploit
أدوات/GitHubGitHub/hackingdave/btrpa-scan
الاستخبارات مفتوحة المصدر (OSINT)الاستطلاعأمن البلوتوثجمع المعلوماتأمن الشبكات اللاسلكية
GitHubhackingdave/btrpa-scan

btrpa-scan

ماسح Bluetooth Low Energy (BLE) مع حل Resolvable Private Address (RPA) باستخدام Identity Resolving Keys (IRKs)

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

الأكثر شعبية

عرض الكل →

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

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

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

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

btrpa-scan

ماسح ضوئي لتقنية البلوتوث منخفض الطاقة (BLE) مع حل متقدم للعناوين الخاصة القابلة للحل (RPA). اكتشف أجهزة BLE القريبة، وتتبع جهازًا محددًا عبر عنوان MAC، أو حل العناوين العشوائية للخصوصية باستخدام مفتاح حل الهوية (IRK).

كتبه: David Kennedy (@HackingDave) الشركة: TrustedSec

الميزات

  • اكتشاف جميع الأجهزة - فحص جميع أجهزة BLE التي تبث في النطاق مع قوة الإشارة والمسافة التقديرية وبيانات الشركة المصنعة ومعرفات UUID للخدمات
  • بحث مستهدف - البحث عن جهاز محدد عبر عنوان MAC ومراقبة كل اكتشاف
  • حل IRK - حل العناوين الخاصة القابلة للحل (RPA) مقابل مفتاح حل هوية واحد أو أكثر لتحديد الأجهزة التي تستخدم عناوين عشوائية للخصوصية
  • مفاتيح IRK متعددة - تحميل عدة مفاتيح IRK من ملف لحل عناوين عدة أجهزة في فحص واحد
  • تصفية RSSI - استبعاد الإشارات الضعيفة عبر حد أدنى لقوة الإشارة RSSI
  • متوسط RSSI - متوسط نافذة منزلقة لتنعيم قراءات BLE RSSI المزعجة لتقديرات مسافة أكثر استقرارًا
  • تصفية الاسم - تصفية الأجهزة بالاسم عبر مطابقة نصية جزئية غير حساسة لحالة الأحرف
  • المسح النشط - إرسال SCAN_REQ للحصول على SCAN_RSP مع معرفات UUID إضافية للخدمات وأسماء الأجهزة التي يفوتها المسح السلبي
  • إعدادات بيئية مسبقة - نماذج فقدان المسار للداخل والخارج والمساحة الحرة لتقدير مسافة أكثر دقة
  • تنبيهات القرب - تنبيه صوتي/مرئي عند تقدير وجود جهاز ضمن مسافة قابلة للضبط
  • واجهة ويب رسومية - واجهة رادار قائمة على المتصفح مع مسح متحرك وتصور للمسافة وخريطة GPS وقائمة أجهزة بقوة الإشارة مع تثبيت/إلغاء تثبيت وتلميحات تمرير
  • TUI مباشر - جدول طرفية مباشر التحديث قائم على curses مرتب حسب قوة الإشارة
  • سجل CSV في الوقت الفعلي - بث كل اكتشاف إلى ملف CSV عند حدوثه
  • تصدير دفعة - تصدير النتائج إلى CSV أو JSON أو JSONL في نهاية الفحص (يدعم stdout عبر -o -)
  • ختم موقع GPS - وضع علامة على كل اكتشاف بإحداثيات GPS عبر gpsd؛ ويتتبع أفضل موقع لكل جهاز (أقوى RSSI = أقرب قرب). مفعل افتراضيًا، ويتدهور بأمان إذا كان gpsd غير متاح
  • محولات متعددة - المسح بعدة محولات بلوتوث في وقت واحد (لينكس)
  • أوضاع مفصلة/هادئة - الوضع المفصل يعرض تفاصيل إضافية (مثل RPAs غير المتطابقة في وضع IRK)؛ الوضع الهادئ يمنع إخراج كل جهاز ويعرض الملخص فقط

المتطلبات

  • Python 3.9+
  • أجهزة بلوتوث
  • دعم أنظمة التشغيل: macOS وLinux وWindows
  • gpsd (اختياري) — مطلوب لختم موقع GPS

تثبيت gpsd

يتطلب ختم موقع GPS تشغيل برنامج الخدمة gpsd مع مستقبل GPS متصل. إذا لم يكن gpsd قيد التشغيل، يستمر btrpa-scan بشكل طبيعي بدون GPS.

المنصةالتثبيتالتشغيل
macOSbrew install gpsdgpsd -n /dev/tty.usbserial-*
Debian/Ubuntusudo apt install gpsd gpsd-clientssudo systemctl start gpsd
Fedora/RHELsudo dnf install gpsd gpsd-clientssudo systemctl start gpsd
Archsudo pacman -S gpsdsudo systemctl start gpsd
ويندوزاستخدم gpsd عبر WSL أو MSYS2راجع تعليمات WSL أعلاه

للتحقق من أن gpsd يعمل:

# Check that gpsd is listening
gpspipe -w -n 5
# Or use the curses monitor
cgps

ملاحظات المنصة

المنصةملاحظات
macOSيستخدم CoreBluetooth. يستفيد وضع IRK من واجهة برمجة تطبيقات غير موثقة لاسترجاع عناوين البلوتوث الحقيقية بدلاً من UUIDs. --active ليس له أي تأثير — يقوم CoreBluetooth دائمًا بالمسح النشط.
لينكسقد يتطلب صلاحيات root أو خاصية CAP_NET_ADMIN للمسح.
ويندوزواجهة WinRT Bluetooth الأصلية — عناوين MAC الحقيقية متاحة أصلاً. يتطلب TUI تثبيت pip install windows-curses.

التثبيت

يستخدم هذا المشروع pyproject.toml (PEP 621)، معيار التغليف الحديث في بايثون. يعرّف المشروع كحزمة قابلة للتثبيت مع أمر CLI مسجل — لا حاجة لتشغيل ملفات .py مباشرة.

تشغيل سريع (بدون تثبيت)

uvx btrpa-scan --all

التشغيل من GitHub (بدون تثبيت)

uvx --from git+https://github.com/hackingdave/btrpa-scan.git btrpa-scan --all

التثبيت كأداة

uv tool install btrpa-scan

أو مباشرة من GitHub:

uv tool install git+https://github.com/hackingdave/btrpa-scan.git

التثبيت عبر pip

pip install btrpa-scan

لدعم الواجهة الرسومية (واجهة الرادار القائمة على Flask):

pip install btrpa-scan[gui]

من المصدر

git clone https://github.com/hackingdave/btrpa-scan.git
cd btrpa-scan
pip install .

الاستخدام

usage: btrpa-scan [-h] [-a] [--irk HEX] [--irk-file PATH] [-t TIMEOUT]
                     [--output {csv,json,jsonl}] [-o FILE] [--log FILE]
                     [-v | -q] [--min-rssi DBM] [--rssi-window N] [--active]
                     [--environment {free_space,indoor,outdoor}]
                     [--ref-rssi DBM] [--name-filter PATTERN]
                     [--alert-within METERS] [--tui] [--gui] [--gui-port PORT]
                     [--no-gps] [--adapters LIST] [mac]

BLE Scanner — discover all devices or hunt for a specific one

positional arguments:
  mac                   Target MAC address to search for (omit to scan all)

optional arguments:
  -h, --help            show this help message and exit
  -a, --all             Scan for all broadcasting devices
  --irk HEX             Resolve RPAs using this Identity Resolving Key (32 hex chars)
  --irk-file PATH       Read IRK(s) from a file (one per line, hex format)
  -t, --timeout TIMEOUT Scan timeout in seconds (default: 30, or infinite for --irk)
  --output {csv,json,jsonl}
                        Batch output format written at end of scan
  -o, --output-file FILE
                        Output file path (default: btrpa-scan-results.<format>;
                        use - for stdout)
  --log FILE            Stream detections to a CSV file in real time
  -v, --verbose         Verbose mode — show additional details
  -q, --quiet           Quiet mode — suppress per-device output, show summary only
  --min-rssi DBM        Minimum RSSI threshold (e.g. -70) — ignore weaker signals
  --rssi-window N       RSSI sliding window size for averaging (default: 1 = no averaging)
  --active              Use active scanning (sends SCAN_REQ for additional data)
  --environment {free_space,indoor,outdoor}
                        Distance estimation path-loss model (default: free_space)
  --ref-rssi DBM        Calibrated RSSI at 1 metre for distance estimation
  --name-filter PATTERN Filter devices by name (case-insensitive substring match)
  --alert-within METERS Proximity alert when device is within this distance
  --tui                 Live-updating terminal table instead of scrolling output
  --gui                 Launch web-based radar interface in the browser
  --gui-port PORT       Port for GUI web server (default: 5000)
  --no-gps              Disable GPS location stamping (GPS is on by default via gpsd)
  --adapters LIST       Comma-separated Bluetooth adapter names (e.g. hci0,hci1)

الوضع 1: اكتشاف جميع الأجهزة

قم بفحص جميع أجهزة BLE التي تبث (المهلة الافتراضية 30 ثانية):

btrpa-scan --all

بمهلة مخصصة:

btrpa-scan --all -t 60

الوضع 2: بحث مستهدف

ابحث عن جهاز محدد عبر عنوان MAC:

btrpa-scan AA:BB:CC:DD:EE:FF

الوضع 3: حل IRK

حل العناوين الخاصة القابلة للحل (RPA) باستخدام مفتاح حل الهوية. يعمل هذا الوضع إلى أجل غير مسمى افتراضيًا حتى يتم إيقافه بـ Ctrl+C:

btrpa-scan --irk 0123456789ABCDEF0123456789ABCDEF

يمكن توفير IRK بعدة صيغ:

الصيغةمثال
Hex عادي0123456789ABCDEF0123456789ABCDEF
مفصول بنقطتين01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF
مفصول بشرطة01-23-45-67-89-AB-CD-EF-01-23-45-67-89-AB-CD-EF
مسبوق بـ 0x0x0123456789ABCDEF0123456789ABCDEF

IRK من ملف

قم بتحميل مفتاح IRK واحد أو أكثر من ملف. يجب أن يحتوي كل سطر على IRK واحد بأي صيغة hex مدعومة. الأسطر التي تبدأ بـ # تُعامل كتعليقات:

btrpa-scan --irk-file keys.txt

مثال keys.txt:

# Alice's phone
0123456789ABCDEF0123456789ABCDEF
# Bob's watch
FEDCBA9876543210FEDCBA9876543210
تنزيل الأداة