الملاحق.
مسرد · أوامر · مشاريع · مراجع.
كل ما تحتاجه في صفحة واحدة للنسخ والاستشهاد. اطبعها أو ضعها في علامة مرجعية — هذا هو الـ cheat-sheet الذي ستعود إليه بعد أسابيع.
ملحق A — مسرد المصطلحات
00:25:00:FF:94:73.00:17:F2 (لـ AWDL).fe80::/10 — عناوين صالحة فقط داخل الرابط نفسه.ملحق 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 — مشاريع مقترحة (تدرّج صعوبة)
محلّل pcap لـ AWDL
اكتب أداة بايثون/Go تعزل إطارات AWDL من ملف pcap، تطبع الـ Master الحالي، جدول القنوات من Channel Sequence TLV، وقائمة الخدمات المُعلَنة من Service Response TLV.
محرك قفز قنوات بسيط
أداة تتتبّع توقيت Master موجود وتبدّل قناة بطاقتك عند بداية كل AW. لا حقن، لا انتخاب — فقط مزامنة قراءة. قِس نسبة الإطارات الملتقطة قبل وبعد.
عقدة AWDL سلبية (Slave فقط)
عقدة AWDL لا تتنافس على الـ Master أبداً، لكنها تتزامن، تستخرج عنوان IPv6 link-local، وتردّ على ping6 من جار Apple. تحقّق من الـ ACK من ath9k.
تطبيق /Discover + /Ask مبسّط
فوق OWL، شغّل خادم HTTPS صغيراً يطبّق /Discover و/Ask بشكل متوافق مع جهاز Apple حقيقي في وضع Everyone. أظهر إشعار «هل تريد قبول الملف؟» على Mac.
قياس انجراف الساعة
تجربة بحثية: قِس بدقّة كيف ينجرف الـ TSF المحلي عن الـ Master، وأثر ذلك على نسبة فقد الحزم في القفز المتزامن. ارسم العلاقة بياناً. ورقة قابلة للنشر.
ملحق D — المراجع والقراءات الإضافية
الأوراق المؤسِّسة
- Stute, Kreitschmann, Hollick (2018). "One Billion Apples' Secret Sauce: Recipe for the Apple Wireless Direct Link Ad hoc Protocol." MobiCom 2018. — الورقة المؤسِّسة لكل ما تعرفه.
- Stute et al. (2019). "A Billion Open Interfaces for Eve and Mallory: MitM, DoS, and Tracking Attacks on iOS and macOS Through Apple Wireless Direct Link." USENIX Security 2019.
- Heinrich, Stute, et al. (2021). "PrivateDrop: Practical Privacy-Preserving Authentication for Apple AirDrop." USENIX Security 2021.
- Bai et al. (2019). "Discovery of a Specification Bug in Apple AirDrop."
الكود والأدوات
github.com/seemoo-lab/owl— Open Wireless Link.github.com/seemoo-lab/opendrop— OpenDrop (Python).github.com/seemoo-lab/nexmon— Nexmon firmware patching framework.github.com/seemoo-lab/airdrop-keychain-extractor— أدوات تحليل ملحقة.
توثيق النواة والمعايير
- توثيق
nl80211في نواة Linux:include/uapi/linux/nl80211.h. - توثيق
ath9kوmac80211في النواة، وملاحظات إصدارات Linux wireless. - IEEE 802.11-2020 — المعيار الكامل (مرجع، ليس قراءة من البداية للنهاية).
- RFC 4291 — IPv6 Addressing Architecture (للـ EUI-64).
- RFC 6762, 6763 — mDNS و DNS-SD.
تتبّع الحالة الراهنة
- تقارير Asahi Linux الدورية حول حالة Wi-Fi على Apple Silicon.
- تغطية توافقية Quick Share ↔ AirDrop (2025–2026) في الصحافة التقنية.
- بيانات Google الأمنية ذات الصلة بـ Nearby Share / Quick Share.
- قوائم بريدية:
linux-wireless,ath9k-devel.
عرفت ما لم يُكتب رسمياً.
كل ما درسته هنا قد تم اكتشافه عبر هندسة عكسية صبور. لم تكن هناك وثيقة رسمية تشرحه. الآن أنت تعرفه. استخدمه بحكمة.
↻ العودة للفهرس