AWDL://CRSE APPENDIX A · B · C · D FORMAT QUICK_REFERENCE SIGNAL_LIVE
// APPENDICES QUICK_REFERENCE SEARCHABLE

الملاحق.
مسرد · أوامر · مشاريع · مراجع.

كل ما تحتاجه في صفحة واحدة للنسخ والاستشهاد. اطبعها أو ضعها في علامة مرجعية — هذا هو الـ cheat-sheet الذي ستعود إليه بعد أسابيع.

ملحق A — مسرد المصطلحات

AWDL
Apple Wireless Direct Link — بروتوكول الاتصال المباشر الخاص بـ Apple.
AW · Availability Window
نافذة زمنية (16 TU ≈ 16.384 ms) يكون فيها الجهاز حاضراً على قناة AWDL.
TU · Time Unit
وحدة زمن 802.11 = 1024 µs.
TSF
Timing Synchronization Function — عدّاد التوقيت في 802.11 بدقّة الميكروثانية.
PSF · MIF
Periodic Synchronization Frame / Master Indication Frame — إطارا مزامنة وإعلان Master في AWDL.
TLV
Type-Length-Value — عنصر بيانات قابل للتوسعة داخل إطارات AWDL.
SIFS
Short Interframe Space (≈16 µs في 5 GHz) — الفجوة بين الإطار والـ ACK.
DIFS
DCF Interframe Space — الفجوة قبل بدء التنافس في DCF (SIFS + 2 slots).
ACK
Acknowledgment — إطار تحكّم يؤكّد الاستلام. يجب أن يصل قبل انقضاء SIFS.
DCF · CSMA-CA
Distributed Coordination Function — آلية الوصول الموزّع التنافسي للوسط في 802.11.
Active Monitor
وضع مراقبة يردّ فيه العتاد ACK تلقائياً لإطارات موجّهة لعنوانه — رغم غياب association.
Frame Injection
حقن إطارات 802.11 اعتباطية في الهواء. شرط أساسي لمحاكاة AWDL.
nl80211
واجهة netlink بين userspace وطبقة cfg80211 في النواة.
cfg80211
طبقة إعداد لاسلكية موحّدة في نواة Linux، فوق كل السائقين.
mac80211
إطار SoftMAC لسائقي 802.11 — معظم منطق MAC في الكود.
NL80211_MNTR_FLAG_ACTIVE
راية يضبطها السائق فقط إن دعم العتاد active monitor — اختبار التوافق الذهبي.
SoftMAC
شريحة Wi-Fi معظم منطق MAC فيها في النواة (Linux) — تحكّم دقيق.
FullMAC
شريحة Wi-Fi منطق MAC فيها مدمج في الـ firmware — تحكّم محدود.
BSSID
Basic Service Set Identifier — معرّف الشبكة. ثابت في AWDL = 00:25:00:FF:94:73.
OUI
Organizationally Unique Identifier — معرّف المصنّع (24 bit). Apple = 00:17:F2 (لـ AWDL).
EUI-64
صيغة اشتقاق معرّف 64-bit من MAC لتوليد IPv6 link-local.
IPv6 link-local
نطاق fe80::/10 — عناوين صالحة فقط داخل الرابط نفسه.
ND · Neighbor Discovery
بروتوكول IPv6 لاكتشاف الجيران على الرابط (يحلّ محلّ ARP في IPv4).
mDNS · Bonjour
multicast DNS — اكتشاف الخدمات على الرابط المحلي بدون خادم.
TUN
واجهة شبكة افتراضية في النواة — تتلقى/تسلّم رزم IP من userspace.
AF_PACKET
عائلة sockets في Linux لاستقبال/إرسال إطارات خام مباشرة.
OWL
Open Wireless Link — تطبيق AWDL مفتوح المصدر (SEEMOO Lab).
OpenDrop
تطبيق AirDrop مفتوح المصدر بايثون فوق OWL.
Nexmon
إطار ترقيع firmware لشرائح Broadcom لتفعيل monitor/injection.
cpio
صيغة الأرشيف التي تُحزَم بها ملفات AirDrop قبل ضغطها بـ gzip.
plist
Apple Property List — صيغة XML/binary لتسلسل البيانات في AirDrop.
mTLS
Mutual TLS — مصافحة TLS الطرفان فيها يقدّمان شهادات.
PSI
Private Set Intersection — بروتوكول تشفيري لكشف العناصر المشتركة دون كشف القائمتين.
DFS
Dynamic Frequency Selection — اشتراط «الاستماع للرادار» على بعض قنوات 5 GHz.
DMA
Digital Markets Act — تشريع أوروبي للمنافسة الرقمية. أجبر Apple على فتح Wi-Fi P2P في 2025.
NAN · Wi-Fi Aware
معيار Wi-Fi Alliance للاتصال المباشر — أقرب فلسفياً لـ AWDL، يستخدمه Android.
Quick Share
نظام مشاركة Google. منذ 2025 يتوافق مع AirDrop عبر هندسة عكسية.

ملحق B — مرجع الأوامر السريع

تشخيص العتاد

hardware audit
# قدرات الـ PHY كاملة
$ iw phy
$ iw list

# ابحث عن active monitor تحديداً
$ iw list | grep -i "active monitor"

# معلومات السائق المحمّل
$ lspci -k | grep -A3 -i network
$ ethtool -i wlan0

# الإصدار وقدرات النواة
$ uname -r
$ dmesg | grep -i "ath\|iwl\|brcm"

تجهيز واجهة active monitor

bringup
# تخلّص من مديري الشبكة
$ sudo airmon-ng check kill

# احذف الواجهة الافتراضية
$ sudo iw dev wlan0 del

# أنشئ واجهة active monitor (ath9k مثال)
$ sudo iw phy phy0 interface add mon0 type monitor flags active
$ sudo ip link set mon0 up

# اضبط القناة
$ sudo iw dev mon0 set channel 44

# أو القناة + عرض الباند
$ sudo iw dev mon0 set channel 44 HT40+

# اضبط المجال التنظيمي
$ sudo iw reg get
$ sudo iw reg set US

# اختبار الحقن
$ sudo aireplay-ng --test mon0

التقاط وتحليل

capture
# التقاط خام إلى pcap
$ sudo tcpdump -i mon0 -w awdl.pcap

# التقاط مع تصفية فورية
$ sudo tcpdump -i mon0 -nn 'ether host 00:25:00:ff:94:73' -w awdl.pcap

# فلاتر Wireshark display:
wlan.bssid == 00:25:00:ff:94:73           # كل حركة AWDL
wlan.fc.type == 1                          # Control frames (ACK, RTS, CTS)
wlan.fc.type_subtype == 0x1d              # ACK فقط
wlan.fc.type_subtype == 0x0d              # Action frames
wlan.fixed.publicaction == 0x09           # Vendor-specific Public Action
ipv6.dst == ff02::1                       # ND multicast

تشغيل OWL و OpenDrop

OWL + OpenDrop
# تبعيات البناء
$ sudo apt install libpcap-dev libnl-3-dev libnl-genl-3-dev cmake build-essential

# بناء OWL من المصدر
$ git clone https://github.com/seemoo-lab/owl
$ cd owl && mkdir build && cd build && cmake .. && make

# تشغيل OWL على واجهة active monitor
$ sudo ./owl -i mon0 -v

# OpenDrop
$ pip install opendrop
$ opendrop find
$ opendrop send -r 0 -f payload.bin
$ opendrop receive

# IPv6 على واجهة AWDL
$ ip -6 addr show awdl0
$ ping6 -I awdl0 ff02::1

تشخيص

diagnostics
# تتبّع أحداث nl80211 لحظياً
$ iw event -f

# إحصائيات المحطة
$ iw dev mon0 station dump

# رسائل النواة الأخيرة
$ dmesg --human --follow

# بصمات السائق
$ modinfo ath9k

# أعد تحميل السائق (آخر حلّ)
$ sudo modprobe -r ath9k
$ sudo modprobe ath9k

ملحق C — مشاريع مقترحة (تدرّج صعوبة)

01

محلّل pcap لـ AWDL

اكتب أداة بايثون/Go تعزل إطارات AWDL من ملف pcap، تطبع الـ Master الحالي، جدول القنوات من Channel Sequence TLV، وقائمة الخدمات المُعلَنة من Service Response TLV.

BEGINNER · 1 weekend
02

محرك قفز قنوات بسيط

أداة تتتبّع توقيت Master موجود وتبدّل قناة بطاقتك عند بداية كل AW. لا حقن، لا انتخاب — فقط مزامنة قراءة. قِس نسبة الإطارات الملتقطة قبل وبعد.

INTERMEDIATE · 1–2 weeks
03

عقدة AWDL سلبية (Slave فقط)

عقدة AWDL لا تتنافس على الـ Master أبداً، لكنها تتزامن، تستخرج عنوان IPv6 link-local، وتردّ على ping6 من جار Apple. تحقّق من الـ ACK من ath9k.

ADVANCED · 1 month
04

تطبيق /Discover + /Ask مبسّط

فوق OWL، شغّل خادم HTTPS صغيراً يطبّق /Discover و/Ask بشكل متوافق مع جهاز Apple حقيقي في وضع Everyone. أظهر إشعار «هل تريد قبول الملف؟» على Mac.

EXPERT · 2–3 months
05

قياس انجراف الساعة

تجربة بحثية: قِس بدقّة كيف ينجرف الـ TSF المحلي عن الـ Master، وأثر ذلك على نسبة فقد الحزم في القفز المتزامن. ارسم العلاقة بياناً. ورقة قابلة للنشر.

RESEARCH · open-ended

ملحق D — المراجع والقراءات الإضافية

الأوراق المؤسِّسة

الكود والأدوات

توثيق النواة والمعايير

تتبّع الحالة الراهنة

// END_OF_REFERENCE

عرفت ما لم يُكتب رسمياً.

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

↻ العودة للفهرس