كشف التتبّع (trackme) — الدليل الكامل
⚠️ تجريبي:
trackmeأداة أفضل-جهد وقد تُنتج إنذارات كاذبة. لا تُثبِت الإشارات اللاسلكية وحدها تتبّعًا فعليًّا — استخدم النتائج مؤشّرًا عامًّا لا دليلًا قاطعًا. وتحسّن بيانات حركة GPS (لـ T-Deck Plus فقط) الدقّة كثيرًا.
CMD> trackme # مع تنبيهات صوتية
CMD> trackme silent # صامت — بلا نغمات
CMD> tm [silent]
trackme كاشف تتبّع سلبي. يستخدم مسح BLE و(على T-Deck Plus) ترصّد فحص WiFi لكشف الأجهزة التي قد تتبعك فعليًّا. والتحدّي الأساسي: هاتفك وساعتك وبلوتوث سيّارتك وهواتف الرفاق تبدو كلّها مطابقةً لجهاز تتبّع — فهي تتبعك تمامًا لأنها معك. والخوارزمية مصمّمة خصّيصًا لمعالجة ذلك.
نصيحة لـ T-Deck Plus: شغّل gps on قبل بدء trackme. فإن كان لمهمّة GPS تحديد بالفعل، تخطّى trackme إحماء الـ 90 ثانية وبدأ المسح فورًا وبيانات الموقع جاهزة.
الخطوة 1 — الحالة المرجعية (أوّل 60 ثانية)
عند بدء trackme، تكون أوّل 60 ثانية فترة تعلّم. وكل جهاز يُكتشَف خلالها — ساعتك، هاتفك، بلوتوث السيّارة، هواتف الرفاق — يُوسَم رفيقًا ويُعرَض بالرمادي الداكن. والرفاق لا يُقيَّمون ولا يُنبَّه عليهم أبدًا. وتُعامَل فقط الأجهزة التي تظهر بعد انتهاء الحالة المرجعية كأجهزة تتبّع محتملة.
يعرض المؤشّر عدًّا تنازليًّا: BASELINE 47s — learning your devices...
نصيحة: ابدأ trackme قبل مغادرة المنزل أو ركوب سيّارتك لتُرصَد أجهزتك أوّلًا.
الخطوة 2 — خطّ أنابيب الكشف
بعد الحالة المرجعية، يُعالَج كل جهاز جديد عبر خطّ أنابيب من 3 بوّابات. ويُنعَّم RSSI بمرشّح كالمان قبل أي قرار.
البوّابة 1 — فحص التوقيع
تُطابَق إعلانات BLE مع توقيعات أجهزة التتبّع المعروفة بـ طريقتين، محاكاةً لكيفية إعلانها في وضع “الانفصال عن المالك” (البحث):
- Apple Find My / AirTag — ببيانات المصنّع: معرّف الشركة
0x004C+ نوع الحمولة0x12. وتُستثنى أجهزة Apple غير المتتبِّعة (iPhone و Mac و AirPods) حسب نوع الحمولة، فمطابقة معرّف Apple وحده لا يُنبِّه عليها أبدًا. - Tile و Samsung SmartTag و Chipolo و Pebblebee و Google Find My Device — بـ معرّف خدمة UUID من 16 بت (
0xFEEDو0xFD5Aو0xFE33و0xFA25و0xFEAAعلى الترتيب). (ويشترط0xFEAAمن Google إضافةً بايت إطار FMDN0x40حتى لا تُوسَم منارات Eddystone العادية.) وهذه الثوابت مُتحقَّق منها مقابل مرجع AirGuard. وعلامات Google Find My الأخرى (Eufy و Motorola و Hama و Jio و Rolling Square) تركب شبكة0xFEAAفتُلتقَط بذلك الصفّ.
البوّابة 2 — تقييم السلوك (أجهزة BLE المجهولة فقط)
تُراكِم الأجهزة المجهولة درجة اشتباه بناءً على: وقت الرؤية (+25)، وعدد المشاهدات (+20)، وثبات RSSI (+35)، وأحداث الاختفاء والعودة (+25). ولا تُحسَب الفجوة إلّا إن غاب الجهاز 30 ثانية على الأقلّ — فإعلان BLE واحد فائت لا يُطلِق فجوة كاذبة.
| الدرجة | النتيجة |
|---|---|
| < 60 | NONE |
| ≥ 60 | NOTICE (إن لم تُجتَز البوّابة 3 بعد) |
| 60–79 + البوّابة 3 | WARNING |
| ≥ 80 + البوّابة 3 | ALERT |
البوّابة 3 — التأكيد (مطلوبة لـ WARNING أو ALERT)
لا يُطلَق أي إنذار قبل اجتياز البوّابة 3. ومساران للتأكيد:
- مسار GPS (T-Deck Plus): تحرّكت 200 متر فأكثر وكان الجهاز حاضرًا طوال الوقت مع اختفاء وعودة حقيقيَّين مرّة على الأقلّ. الحركة الفعلية دليل مباشر — بلا حدّ زمني.
- المسار الزمني: رُئي الجهاز 5 دقائق فأكثر، و RSSI أعلى من −80 dBm، و3 اختفاءات/مشاهدات فأكثر، وغير مفسّر بحشد عند الوصول.
كشف فحص WiFi (T-Deck Plus فقط)
يكشف ترصّد فحص WiFi الهواتف والحواسيب التي تبثّ طلبات فحص. ولأن الراوترات ونقاط الوصول تفحص أيضًا، يُقيَّد جهاز WiFi فقط (لم يُرَ عبر BLE) عند NOTICE ولا يمكنه إطلاق نغمة. ولا يبلغ NOTICE إلّا إن تحرّكت 100 متر فأكثر هذه الجلسة وتبعك — أمّا الراوتر الثابت فيبقى THREAT_NONE دائمًا.
يُعطَّل ترصّد فحص WiFi على T-Deck القياسي (بلا GPS) لأن كل كشف WiFi بلا بيانات حركة سيكون إنذارًا كاذبًا.
توافق wguard — إن كان
wguardيعمل في الخلفية، يُتخطّى طور فحص WiFi تلقائيًّا لتلك الجلسة. ويستمرّ مسح BLE. شغّلwg stopأوّلًا إن احتجت كشف WiFi الكامل.
حالة GPS
| الحالة | المعنى |
|---|---|
GPS:none | بلا وحدة GPS (T-Deck القياسي) |
GPS:srch | الوحدة تستجيب، بانتظار تحديد قمر |
GPS:142m | تمّ التحديد، تحرّكت 142 مترًا هذه الجلسة |
مستويات الأجهزة
| المستوى | السعة | المعيار |
|---|---|---|
| المستوى 1 | 20 جهازًا | RSSI أعلى من −70 dBm — تحليل ثلاثي البوّابات كامل |
| المستوى 2 | 100 جهاز | RSSI −70 إلى −85 dBm أو جهاز Apple غير متتبِّع — تتبّع خفيف فقط |
تُسقَط الأجهزة دون −85 dBm فورًا. وقد تُرقّى أجهزة المستوى 2 إلى المستوى 1 إن تحسّن RSSI أو بلغت المشاهدات 3.
اضغط v للتبديل بين جدول المستوى 1 (أعمدة درجة/إنذار كاملة) وجدول المستوى 2 (المجموعة الخلفية).
مستويات الإنذار
| المستوى | الإطلاق | المكبّر | العرض |
|---|---|---|---|
| NONE | غير مشبوه | صامت | صفّ رمادي أو أبيض |
| NOTICE | جهاز تتبّع معروف رُئي 60 ثانية + مشاهدتان، أو درجة ≥ 60 قبل البوّابة 3 | صامت | صفّ أصفر |
| WARNING | تأكيد البوّابة 3، درجة 60–79 | نغمة كل 30 ثانية | صفّ برتقالي |
| ALERT | تأكيد البوّابة 3، جهاز تتبّع معروف أو درجة ≥ 80 | 3 نغمات كل 30 ثانية | صفّ أحمر |
لا يُطلَق WARNING و ALERT إلّا بعد البوّابة 3. فالدرجة وحدها لا تُطلِق نغمة.
المفاتيح
| المفتاح | الإجراء |
|---|---|
a / l | الصفحة السابقة / التالية |
v | تبديل عرض المستوى 1 / المستوى 2 |
o | تدوير الفرز: none → score → RSSI → none |
f | تبديل مرشّح الإنذارات فقط على المستوى 1 |
h | عرض المساعدة (مفتاح الألوان، الأعمدة، المفاتيح) — أي مفتاح يُغلق |
w | إضافة أعلى جهاز تهديد غير رفيق للقائمة البيضاء (يُحفَظ إلى SD) |
s | حفظ سجلّ الجلسة إلى SD |
c | مسح بيانات الجلسة |
q | الخروج |
القائمة البيضاء الدائمة
إن أفلت جهاز (مثلًا اتّصل هاتفك بعد الحالة المرجعية)، اضغط w لإضافته للقائمة البيضاء دائمًا. يُحفَظ الـ MAC في /apps/trackme/known.csv ويُعرَف في كل الجلسات المقبلة.
توقيعات تتبّع مخصّصة
قائمة التتبّع المدمجة نشطة دائمًا. ضع /apps/trackme/signatures.csv لـ إضافة توقيعاتك فوقها — يُدمَج الملفّ مع المدمجة (لا يستبدلها). توقيع واحد في كل سطر:
name , companyId , payloadByte , minLen , level
| الحقل | المعنى |
|---|---|
name | التسمية (≤23 حرفًا) |
companyId | معرّف مصنّع BLE، هيكس — مثل 0x004C (مطلوب) |
payloadByte | اشترط أن يساوي mfr-data[2] هذا البايت؛ فارغ/any = أي |
minLen | أدنى طول لبيانات المصنّع؛ فارغ/0 = بلا فحص |
level | NONE | NOTICE | WARNING | ALERT (فارغ = WARNING) |
الـ CSV قائم على المصنّع/معرّف الشركة. أمّا أجهزة التتبّع بمعرّف الخدمة (Tile و Samsung و Chipolo و Google) فيكتشفها البرنامج تلقائيًّا ولا تُضاف عبر هذا الملفّ.
تخطيط SD
| المسار | المحتوى |
|---|---|
/apps/trackme/session.csv | سجلّ إنذارات الجلسة |
/apps/trackme/known.csv | القائمة البيضاء الدائمة |
/apps/trackme/signatures.csv | توقيعات تتبّع مخصّصة |
حدود معروفة
- عشوائية MAC: هواتف iPhone و Android تبدّل عناوين BLE كل نحو 15 دقيقة. وأجهزة التتبّع التجارية (AirTag و Tile) تستخدم عناوين ثابتة وتُكتشَف بموثوقية. والعناوين العشوائية تصفّر سجلّها عند التبديل — سلوك متوقّع لا خلل.
- الراديو المشترك: يتقاسم BLE و WiFi هوائيًّا واحدًا ولا يمسحان معًا. قد يُفوَّت إعلان وجيز أحيانًا — وحدّ الفجوة 30 ثانية يمنع احتسابه اختفاءً وعودة.
- بدء GPS البارد: تحتاج الوحدة نحو 4 دقائق للتحديد البارد في العراء. شغّل
gps onمسبقًا ليكون التحديد جاهزًا.
مصادر
روابط مرجعية خارجية (بالإنجليزية) لبروتوكولات أجهزة التتبّع وأبحاث الكشف:
بروتوكولات عتاد التتبّع
- Apple AirTag — Find My network specification
- Tile BLE protocol reverse-engineering (OpenHaystack)
- Chipolo · Pebblebee
أبحاث كشف التتبّع
- AirGuard — “Who Can Find My Devices?” (2022, PETS)
- “Tag, You Can See Me!” (2023, IEEE S&P)
- Apple’s AirTag anti-stalking design