
مثل nmap لرسم خرائط شبكات wifi التي لست متصلاً بها، بالإضافة إلى تتبع الأجهزة
مثل nmap لرسم خرائط شبكات الواي فاي التي لست متصلاً بها. يقوم برسم وتتبع شبكات وأجهزة الواي فاي من خلال مراقبة 802.11 الخام.
صفحة PyPI: https://pypi.python.org/pypi/trackerjacker
pip3 install trackerjacker
المنصات المدعومة: لينكس (تم اختباره على Ubuntu و Kali و RPi) و macOS (مرحلة ما قبل ألفا)

يمكن لـ trackerjacker المساعدة في ما يلي:
اعثر على الاستخدام المفصل هكذا:
trackerjacker -h
يوجد وضعان رئيسيان لاستخدام trackerjacker: وضع الرسم (map) و وضع التتبع (track):
أمر الرسم:
trackerjacker -i wlan1337 --map
بشكل افتراضي، ينتج هذا ملف YAML باسم wifi_map.yaml، وهو خريطة لجميع شبكات الواي فاي القريبة وجميع مستخدميها. إليك مثال لملف wifi_map.yaml:
TEST_SSID:
00:10:18:6b:7a:ea:
bssid: 00:10:18:6b:7a:ea
bytes: 5430
channels:
- 11
devices:
3c:07:71:15:f1:48:
bytes: 798
signal: 1
vendor: Sony Corporation
78:31:c1:7f:25:43:
bytes: 4632
signal: -52
vendor: Apple, Inc.
signal: -86
ssid: TEST_SSID
vendor: Broadcom
BRANSONS_WIFI:
90:48:9a:e3:58:25:
bssid: 90:48:9a:e3:58:25
bytes: 5073
channels:
- 1
devices:
01:00:5e:96:e1:89:
bytes: 476
signal: -62
vendor: ''
30:8c:fb:66:23:91:
bytes: 278
signal: -46
vendor: Dropcam
34:23:ba:1c:ba:e7:
bytes: 548
signal: 4
vendor: SAMSUNG ELECTRO-MECHANICS(THAILAND)
signal: -80
ssid: BRANSONS_WIFI
vendor: Hon Hai Precision Ind. Co.,Ltd.
hacker_network:
80:2a:a8:e5:de:92:
bssid: 80:2a:a8:e5:de:92
bytes: 5895
channels:
- 11
devices:
80:1f:02:e6:44:96:
bytes: 960
signal: -46
vendor: Edimax Technology Co. Ltd.
80:2a:a8:8a:ec:c8:
bytes: 472
signal: 4
vendor: Ubiquiti Networks Inc.
80:2a:a8:be:09:a9:
bytes: 5199
signal: 4
vendor: Ubiquiti Networks Inc.
d8:49:2f:7a:f0:8f:
bytes: 548
signal: 4
vendor: CANON INC.
signal: -46
ssid: hacker
vendor: Ubiquiti Networks Inc.
80:2a:a8:61:aa:2f:
bssid: 80:2a:a8:61:aa:2f
bytes: 5629
channels:
- 44
- 48
devices:
78:88:6d:4e:e2:c9:
bytes: 948
signal: -52
vendor: ''
e4:8b:7f:d4:cb:25:
bytes: 986
signal: -48
vendor: Apple, Inc.
signal: -48
ssid: null
vendor: Ubiquiti Networks Inc.
82:2a:a8:51:32:25:
bssid: 82:2a:a8:51:32:25
bytes: 3902
channels:
- 48
devices:
b8:e8:56:f5:a0:70:
bytes: 1188
signal: -34
vendor: Apple, Inc.
signal: -14
ssid: hacker
vendor: ''
82:2a:a8:fc:33:b6:
bssid: 82:2a:a8:fc:33:b6
bytes: 7805
channels:
- 10
- 11
- 12
devices:
78:31:c1:7f:25:43:
bytes: 4632
signal: -52
vendor: Apple, Inc.
7c:dd:90:fe:b4:87:
bytes: 423223
signal: 4
vendor: Shenzhen Ogemray Technology Co., Ltd.
80:2a:a8:be:09:a9:
bytes: 5199
signal: 4
vendor: Ubiquiti Networks Inc.
signal: -62
ssid: null
vendor: ''
لاحظ أنه نظرًا لأن هذا ملف YAML، يمكنك بسهولة استخدامه كمدخل لبرامج نصية أخرى من تصميمك الخاص. لدي مثال لبرنامج نصي لتحليل "قاعدة بيانات YAML" هذه هنا: parse_trackerjacker_wifi_map.py.
يتيح لك وضع التتبع تحديد عدد من عناوين MAC لمراقبتها، وإذا تجاوز أي جهاز معين الحد (بالبايت)، المحدد هنا باستخدام --threshold 4000 (تحديد حد تنبيه قدره 4000 بايت) فسيتم تشغيل تنبيه.
trackerjacker --track -m 3c:2e:ff:31:32:59 --threshold 4000 --trigger-command "./alert.sh" --channels-to-monitor 10,11,12,44
Using monitor mode interface: wlan1337
Monitoring channels: {10, 11, 12, 44}
[@] Device (3c:2e:ff:31:32:59) threshold hit: 4734
[@] Device (3c:2e:ff:31:32:59) threshold hit: 7717
[@] Device (3c:2e:ff:31:32:59) threshold hit: 7124
[@] Device (3c:2e:ff:31:32:59) threshold hit: 8258
[@] Device (3c:2e:ff:31:32:59) threshold hit: 8922
في هذا المثال بالذات، كنت أراقب كاميرا أمنية لتحديد وقت تحميلها فيديو (مما يشير إلى اكتشاف حركة) حتى أتمكن من تشغيل صفارات الإنذار لنظام الأمان الخاص بي (وهو أصل هذا المشروع).
trackerjacker -i wlan1337 --track --trigger-plugin foxhunt
يظهر شاشة curses هكذا:
POWER DEVICE ID VENDOR
======= ================= ================================
-82dBm 1c:1b:68:35:c6:5d ARRIS Group, Inc.
-84dBm fc:3f:db:ed:e9:8e Hewlett Packard
-84dBm dc:0b:34:7a:11:63 LG Electronics (Mobile Communications)
-84dBm 94:62:69:af:c3:64 ARRIS Group, Inc.
-84dBm 90:48:9a:34:15:65 Hon Hai Precision Ind. Co.,Ltd.
-84dBm 64:00:6a:07:48:13 Dell Inc.
-84dBm 00:30:44:38:76:c8 CradlePoint, Inc
-86dBm 44:1c:a8:fc:c0:53 Hon Hai Precision Ind. Co.,Ltd.
-86dBm 18:16:c9:c0:3b:75 Samsung Electronics Co.,Ltd
-86dBm 01:80:c2:62:9e:36
-86dBm 01:00:5e:11:90:47
-86dBm 00:24:a1:97:68:83 ARRIS Group, Inc.
-88dBm f8:2c:18:f8:f3:aa 2Wire Inc
-88dBm 84:a1:d1:a6:34:08
foxhunt ملحق مدمج، ولكن يمكنك تعريف ملحقاتك الخاصة باستخدام نفس واجهة برمجة التطبيقات (Plugin API).$ trackerjacker --track -m 3c:2e:ff:31:32:59 --threshold 10 --trigger-plugin examples/plugin_example1.py --channels-to-monitor 10,11,12,44 --trigger-cooldown 1
Using monitor mode interface: wlan1337
Monitoring channels: {10, 11, 12, 44}
[@] Device (device 3c:2e:ff:31:32:59) threshold hit: 34 bytes
3c:2e:ff:31:32:59 seen at: [1521926768.756529]
[@] Device (device 3c:2e:ff:31:32:59) threshold hit: 11880 bytes
3c:2e:ff:31:32:59 seen at: [1521926768.756529, 1521926769.758929]
[@] Device (device 3c:2e:ff:31:32:59) threshold hit: 18564 bytes
3c:2e:ff:31:32:59 seen at: [1521926768.756529, 1521926769.758929, 1521926770.7622838]
يقوم هذا بتشغيل examples/plugin_example1.py في كل مرة يتم فيها رؤية 3c:2e:ff:31:32:59 يرسل/يستقبل 10 بايت أو أكثر.
ملحقات trackerjacker هي ببساطة ملفات بايثون تحتوي على:
Trigger يعرّف طريقة __call__(**kwargs) (مثال: examples/plugin_example1.py)trigger(**kwargs) (مثال: examples/plugin_example2.py)وبشكل اختياري سطر __apiversion__ = 1 (للتوافق المستقبلي مع الإصدارات السابقة)
trackerjacker.py -c my_config.json
وإليك مثال ملف الإعدادات المسمى my_config.json:
{
"iface": "wlan1337",
"devices_to_watch": {"5f:cb:53:1c:8a:2c": 1000, "32:44:1b:d7:a1:5b": 2000},
"aps_to_watch": {"c6:23:ef:33:cc:a2": 500},
"threshold_window": 10,
"channels_to_monitor": [1, 6, 11, 52],
"channel_switch_scheme": "round_robin"
}
بعض الملاحظات حول هذا:
threshold_bytes هو الحد الافتراضي للبايتات الذي إذا تمت رؤيته، يؤدي إلى استدعاء دالة التنبيهthreshold_window هو النافذة الزمنية التي يتم فيها تحليل threshold_bytes.devices_to_watch هو قائمة يمكن أن تحتوي إما على سلاسل (تمثل عناوين MAC) أو قواميس (تسمح بتحديد name و threshold)
name هو ببساطة تسمية تريد طباعتها عند رؤية هذا الجهاز.threshold في "كاميرا الأمان" هو عدد البايتات التي يجب رؤيتهاchannels_to_monitor - قائمة بقنوات 802.11 لاسلكية لمراقبتها. يتم طباعة قائمة القنوات التي تدعمها بطاقة الواي فاي عند بدء تشغيل trackerjacker. افتراضيًا، تتم مراقبة جميع القنوات المدعومة.channel_switch_scheme - إما default أو round_robin أو . يقوم بتحديد القنوات ذات الحركة المرورية الأعلى، ويراقبها بشكل احتمالي أكثر.يأتي Trackerjacker مع بعض وظائف الأدوات المساعدة الأخرى المتعلقة باختراق الواي فاي. إحداها هي القدرة على تشغيل وضع المراقبة على واجهة معينة.
تمكين وضع المراقبة:
trackerjacker --monitor-mode-on -i wlan0
تعطيل وضع المراقبة:
trackerjacker --monitor-mode-off -i wlan0mon
لاحظ أن trackerjacker سيقوم تلقائيًا بتمكين/تعطيل وضع المراقبة إذا لزم الأمر. هذه الوظيفة مفيدة فقط إذا كنت تريد تمكين وضع المراقبة على واجهة لاستخدامها مع تطبيقات أخرى (أو لبدء تشغيل trackerjacker بشكل أسرع، إذا كنت تخطط للبدء والخروج لاختبار الأشياء).
trackerjacker --set-channel 11 -i wlan0
لاحظ أن trackerjacker سيقوم تلقائيًا بتبديل القنوات حسب الحاجة أثناء إجراءات الرسم/التتبع العادية. هذا الخيار مفيد فقط إذا كنت تريد ضبط القناة على واجهة لاستخدامها مع تطبيقات أخرى.
sudo iw reg set US - للوصول إلى جميع القنوات المتاحة باستخدام محول الواي فاي، قد تحتاج إلى تشغيل هذا الأمر (أو متغير منه).ifconfig - لعرض أسماء محولات الواي فاي.traffic_basedtraffic_based