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

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

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)

عرض المستودع
35150منذ 6 أشهرتمت المراجعة من قبل 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.

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

root@kitploit:~
# Check that gpsd is listening
gpspipe -w -n 5
# Or use the curses monitor
cgps

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

التثبيت

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

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

root@kitploit:~
uvx btrpa-scan --all

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

root@kitploit:~
uvx --from git+https://github.com/hackingdave/btrpa-scan.git btrpa-scan --all

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

root@kitploit:~
uv tool install btrpa-scan

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

root@kitploit:~
uv tool install git+https://github.com/hackingdave/btrpa-scan.git

التثبيت عبر pip

root@kitploit:~
pip install btrpa-scan

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

root@kitploit:~
pip install btrpa-scan[gui]

من المصدر

root@kitploit:~
git clone https://github.com/hackingdave/btrpa-scan.git
cd btrpa-scan
pip install .

الاستخدام

root@kitploit:~
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 ثانية):

root@kitploit:~
btrpa-scan --all

بمهلة مخصصة:

root@kitploit:~
btrpa-scan --all -t 60

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

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

root@kitploit:~
btrpa-scan AA:BB:CC:DD:EE:FF

الوضع 3: حل IRK

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

root@kitploit:~
btrpa-scan --irk 0123456789ABCDEF0123456789ABCDEF

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

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

IRK من ملف

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

root@kitploit:~
btrpa-scan --irk-file keys.txt

مثال keys.txt:

root@kitploit:~
# Alice's phone
0123456789ABCDEF0123456789ABCDEF
# Bob's watch
FEDCBA9876543210FEDCBA9876543210

عند تحميل عدة مفاتيح IRK، يتم فحص كل RPA مكتشف مقابل جميع المفاتيح. يعرض الملخص إجمالي التطابقات عبر جميع المفاتيح.

IRK من متغير بيئة

عيّن متغير البيئة BTRPA_IRK لتجنب تمرير المفتاح عبر سطر الأوامر:

root@kitploit:~
export BTRPA_IRK=0123456789ABCDEF0123456789ABCDEF
btrpa-scan

الأولوية: --irk > --irk-file > BTRPA_IRK

تصفية RSSI

اعرض فقط الأجهزة التي تكون قوة إشارتها أعلى من حد معين:

root@kitploit:~
btrpa-scan --all --min-rssi -70

متوسط RSSI

إشارة RSSI في BLE مزعجة بطبيعتها. استخدم متوسط نافذة منزلقة لتقديرات مسافة أكثر استقرارًا ولتصفية الاكتشافات الضعيفة الزائفة:

root@kitploit:~
btrpa-scan --all --rssi-window 5

عند تفعيل النافذة، يعرض الشاشة كلاً من RSSI الخام والمتوسط (مثل RSSI: -65 dBm (avg: -62 dBm over 5 readings))، ويستخدم تقدير المسافة القيمة المتوسطة. يُطبق مرشح --min-rssi أيضًا على RSSI المتوسط، مما يمنع حدوث قمة مزعجة واحدة من إسقاط الجهاز.

تصفية الاسم

قم بتصفية الأجهزة بالاسم باستخدام مطابقة نصية جزئية غير حساسة لحالة الأحرف:

root@kitploit:~
btrpa-scan --all --name-filter "AirPods"

سيتم عرض الأجهزة التي يحتوي اسمها المُعلن على النمط المحدد فقط. تُستبعد الأجهزة التي ليس لها اسم عند تفعيل مرشح الاسم.

المسح النشط

المسح السلبي (الافتراضي) يرى الإعلانات فقط. يرسل المسح النشط SCAN_REQ ويحصل على SCAN_RSP، مما يمكن أن يكشف معرفات UUID إضافية للخدمات وأسماء الأجهزة:

root@kitploit:~
btrpa-scan --all --active

ملاحظة: على macOS، يقوم CoreBluetooth دائمًا بالمسح النشط بغض النظر عن هذا العلم. على Linux/BlueZ، قد يتطلب المسح النشط صلاحيات root أو CAP_NET_ADMIN.

الإعدادات البيئية المسبقة

يستخدم تقدير المسافة أس فقدان مسار يختلف حسب البيئة. الافتراضي (free_space, n=2.0) يفترض عدم وجود عوائق. لتقديرات أكثر واقعية في الداخل:

root@kitploit:~
btrpa-scan --all --environment indoor
الإعداد المسبقأس فقدان المسار (n)حالة الاستخدام
free_space2.0الهواء الطلق، خط الرؤية المباشر

تنتج قيم n الأعلى تقديرات مسافة أكبر لنفس RSSI، مما يعكس توهين الإشارة من الجدران والعوائق.

معايرة RSSI المرجعي

افتراضيًا، يستنتج btrpa-scan قيمة RSSI المتوقعة عند متر واحد من قوة الإرسال المُعلنة TX Power باستخدام إزاحة 59 ديسيبل مُتحقق منها تجريبيًا (معيار iBeacon). للحصول على دقة أفضل، يمكنك توفير قيمة معايرة مقاسة في بيئتك الخاصة:

  1. ضع الجهاز المستهدف على مسافة متر واحد بالضبط من الماسح.
  2. قم بتشغيل فحص قصير ولاحظ متوسط RSSI.
  3. مرّر تلك القيمة باستخدام --ref-rssi:
root@kitploit:~
btrpa-scan --all --ref-rssi -55

عند تعيين --ref-rssi، يتم تجاهل TX Power تمامًا. وهذا يتيح أيضًا تقديرات المسافة للأجهزة التي لا تُعلن عن TX Power.

تنبيهات القرب

قم بتشغيل جرس صوتي وتنبيه مرئي عند تقدير وجود جهاز ضمن مسافة معينة. يتطلب أن يُعلن الجهاز المستهدف عن TX Power:

root@kitploit:~
btrpa-scan AA:BB:CC:DD:EE:FF --alert-within 5.0

يعمل في جميع الأوضاع بما في ذلك حل IRK:

root@kitploit:~
btrpa-scan --irk <key> --alert-within 3.0

TUI مباشر

استبدل مخرجات التمرير بجدول طرفية مباشر التحديث، مرتب حسب قوة الإشارة:

root@kitploit:~
btrpa-scan --all --tui

يعرض TUI جميع الأجهزة المكتشفة في جدول مضغوط مع العنوان والاسم وRSSI ومتوسط RSSI والمسافة التقديرية وعدد الاكتشافات ووقت آخر ظهور. تظهر تطابقات IRK المحلولة بخط عريض، ويتم تمييز الأجهزة ضمن حد --alert-within.

يمكن دمجه مع أعلام أخرى:

root@kitploit:~
btrpa-scan --irk <key> --tui --rssi-window 5 --environment indoor --alert-within 5.0

واجهة الويب الرسومية

شغّل واجهة رادار قائمة على المتصفح مع مسح متحرك وتتبع الأجهزة في الوقت الفعلي وخريطة GPS:

root@kitploit:~
btrpa-scan --all --gui

تتضمن الواجهة الرسومية:

  • عرض الرادار — خط مسح متحرك مع حلقات مسافة متحدة المركز (1م، 5م، 10م، 20م). تظهر الأجهزة كنقاط ملوّنة حسب المسافة التقديرية (أخضر = قريب، أصفر = متوسط، أحمر = بعيد). تخطيط بارتفاع كامل مع خلفية أمطار بيانات مصفوفية وتأثيرات وميض MAC شبحي
  • قائمة الأجهزة — لوحة جانبية يمينية تسرد جميع الأجهزة المكتشفة، ملوّنة حسب قوة الإشارة. انقر على أي جهاز لتثبيته للتتبع
  • الأجهزة المثبتة — لوحة جانبية يسارية تعرض عناوين MAC المثبتة مع تحديثات مباشرة لـ RSSI والمسافة. ثبّت عدة أجهزة في وقت واحد؛ انقر × لإلغاء التثبيت
  • خريطة GPS — خريطة Leaflet.js مع بلاطات OpenStreetMap تعرض موقع الماسح ومواقع الأجهزة. تُخفى تلقائيًا إذا لم تتوفر GPS
  • تلميحات التمرير — مرر فوق أي جهاز (نقطة الرادار، أو إدخال القائمة، أو إدخال مثبت) لرؤية تفاصيل الجهاز الكاملة (العنوان، الاسم، RSSI، طاقة الإرسال، المسافة، GPS، بيانات الشركة المصنعة، الخدمات)
  • المظهر الداكن — جمالية هاكر خضراء بتقنية المصفوفة مصممة للعمل الميداني

يقوم وضع الواجهة الرسومية بالمسح بشكل مستمر افتراضيًا (بدون مهلة 30 ثانية). اضغط Ctrl+C للإيقاف. استخدم -t لتحديد مدة فحص محددة:

root@kitploit:~
# Scan for 60 seconds with indoor path-loss model
btrpa-scan --all --gui -t 60 --environment indoor

# Custom port
btrpa-scan --all --gui --gui-port 8080

# Combine with RSSI averaging and proximity alerts
btrpa-scan --all --gui --rssi-window 5 --alert-within 5.0

ملاحظة: يتطلب --gui تثبيت Flask و flask-socketio (pip install btrpa-scan[gui]). لا يمكن دمجه مع --tui أو --quiet.

سجل CSV في الوقت الفعلي

قم ببث كل اكتشاف إلى ملف CSV عند حدوثه (مفيد للفحوصات طويلة الأمد حيث تريد بيانات تدريجية):

root@kitploit:~
btrpa-scan --all --log scan.csv

يمكن دمج ذلك مع --output لتصدير دفعة منفصلة:

root@kitploit:~
btrpa-scan --all --log live.csv --output json -o results.json

تصدير دفعة

قم بتصدير جميع النتائج في نهاية الفحص بصيغة CSV أو JSON أو JSONL (أسطر JSON):

root@kitploit:~
btrpa-scan --all --output json -o results.json -t 30
btrpa-scan --all --output csv -t 30
btrpa-scan --all --output jsonl -o results.jsonl -t 30

يكتب JSONL كائن JSON واحد لكل سطر، مما يسهل تمريره عبر jq:

root@kitploit:~
btrpa-scan --all --output jsonl -o results.jsonl -t 10
cat results.jsonl | jq .

اكتب الإخراج إلى stdout للتمرير:

root@kitploit:~
btrpa-scan --all --output json -o - -t 10 -q | jq .

المسح بمحولات متعددة (لينكس)

قم بالمسح بعدة محولات بلوتوث في وقت واحد لتغطية أوسع:

root@kitploit:~
btrpa-scan --all --adapters hci0,hci1

يشغل كل محول مثيل الماسح الخاص به مع مشاركة نفس استدعاء الاكتشاف. تُدمج جميع الاكتشافات في إخراج واحد.

ختم موقع GPS

GPS مفعل افتراضيًا. يتم وضع علامة على كل اكتشاف بإحداثيات GPS الحالية من gpsd. يتتبع الماسح أيضًا أفضل تحديد GPS لكل جهاز — الإحداثيات من الاكتشاف بأقوى RSSI (أقرب قرب = الموقع الأكثر دقة).

إذا لم يكن gpsd قيد التشغيل، يطبع الماسح ملاحظة ويستمر بشكل طبيعي بدون GPS:

root@kitploit:~
# With gpsd running — detections include lat/lon
btrpa-scan --all --output json

# Without gpsd — works fine, GPS fields are empty
btrpa-scan --all

# Explicitly disable GPS (skips connection attempt)
btrpa-scan --all --no-gps

تظهر إحداثيات GPS في:

  • إخراج وحدة التحكم — سطر "Best GPS" لكل جهاز
  • شريط إعدادات TUI — إحداثيات التحديث الحالية
  • الواجهة الرسومية — لوحة خريطة تفاعلية مع علامات الأجهزة وموقع الماسح
  • الترويسة — حالة اتصال GPS
  • جداول الملخص — عمود "Best GPS" لكل جهاز
  • جميع التصديرات (CSV, JSON, JSONL, السجل في الوقت الفعلي) — حقول latitude وlongitude وgps_altitude

الأوضاع الهادئة والمفصلة

شغّل في الوضع الهادئ (ملخص فقط، بدون إخراج لكل جهاز — مفيد مع --output أو --log):

root@kitploit:~
btrpa-scan --all -q --output json -t 30

شغّل في الوضع المفصل (يعرض RPAs غير المتطابقة في وضع IRK):

root@kitploit:~
btrpa-scan --irk 0123456789ABCDEF0123456789ABCDEF -v

كيف يعمل حل RPA

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

يتكون RPA من:

  • prand (3 بايت) - قيمة عشوائية مع تعيين البتتين الأعلى إلى 01
  • hash (3 بايت) - تُحسب كـ AES-128-ECB(IRK, padding || prand) مقتطعة إلى 3 بايتات

ينفذ btrpa-scan دالة ah() من مواصفات البلوتوث الأساسية (المجلد 3، الجزء H، القسم 2.2.2) لحل هذه العناوين في الوقت الفعلي.

ملاحظة حول AES-ECB: استخدام AES بوضع ECB لدالة ah() منصوص عليه في مواصفات البلوتوث الأساسية. نظرًا لأنه يتم تشفير كتلة واحدة فقط بحجم 16 بايت دائمًا، فإن نقص انتشار ECB عبر الكتل غير ذي صلة — هذه ليست ثغرة أمنية.

اعتبارات أمنية

  • IRK في سطر الأوامر: وسائط سطر الأوامر مرئية للمستخدمين الآخرين على النظام عبر ps. لتجنب كشف IRK، استخدم --irk-file للقراءة من ملف، أو عيّن متغير البيئة BTRPA_IRK. يخفي إخراج وحدة التحكم مفاتيح IRK افتراضيًا (يعرض فقط أول وآخر 4 أحرف hex).
  • إحداثيات GPS في التصديرات: تتضمن جميع صيغ التصدير (CSV, JSON, JSONL) وإخراج وحدة التحكم إحداثيات GPS عند توفرها. إذا كنت تشارك نتائج الفحص، كن على علم أن موقعك قد يُكشف. استخدم --no-gps لتعطيل GPS تمامًا.
  • مسارات ملفات الإخراج: يكتب الخياران --output-file و--log إلى المسار المحدد. تأكد من أن الوجهة لها الصلاحيات المناسبة لحالة الاستخدام الخاصة بك.

تشغيل الاختبارات

root@kitploit:~
pip install pytest
python -m pytest test_btrpa_scan.py -v

مثال على الإخراج

root@kitploit:~
Mode: DISCOVER ALL - showing every broadcasting device
Scanning: passive
GPS: connected (37.774929, -122.419418)
Timeout: 30s  |  Press Ctrl+C to stop
------------------------------------------------------------

============================================================
  DEVICE #1  -  seen 1x
============================================================
  Address      : AA:BB:CC:DD:EE:FF
  Name         : MyDevice
  RSSI         : -45 dBm
  TX Power     : -59 dBm
  Est. Distance: ~0.4 m
  Manufacturer : 0x004C -> 0215abcdef
  Best GPS     : 37.774929, -122.419418
  Timestamp    : 14:32:07
============================================================

------------------------------------------------------------
Scan complete - 30.0s elapsed
  Total detections : 142
  Unique devices   : 12
  Results written to btrpa-scan-results.json

إيقاف الفحص

اضغط Ctrl+C في أي وقت لإيقاف الفحص بسلاسة وعرض إحصائيات الملخص.

تنزيل الأداة
المنصةالتثبيتالتشغيل
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 أعلاه
المنصةملاحظات
macOSيستخدم CoreBluetooth. يستفيد وضع IRK من واجهة برمجة تطبيقات غير موثقة لاسترجاع عناوين البلوتوث الحقيقية بدلاً من UUIDs. --active ليس له أي تأثير — يقوم CoreBluetooth دائمًا بالمسح النشط.
لينكسقد يتطلب صلاحيات root أو خاصية CAP_NET_ADMIN للمسح.
ويندوزواجهة WinRT Bluetooth الأصلية — عناوين MAC الحقيقية متاحة أصلاً. يتطلب TUI تثبيت pip install windows-curses.
مفصول بشرطة01-23-45-67-89-AB-CD-EF-01-23-45-67-89-AB-CD-EF
مسبوق بـ 0x0x0123456789ABCDEF0123456789ABCDEF
outdoor2.2الحدائق، مواقف السيارات
indoor3.0المكاتب، المنازل، المباني