raspberry-pi-monitor-mode
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
raspberry-pi-monitor-mode [2018/11/10 13:36] – [VIM und die Mausunterstützung] benny | raspberry-pi-monitor-mode [2024/06/09 10:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Raspberry Pi 3 B+ mit Wireless Monitor Mode Unterstützung aufsetzen ====== | ====== Raspberry Pi 3 B+ mit Wireless Monitor Mode Unterstützung aufsetzen ====== | ||
- | In diesem Artikel wird beschrieben wie ein Raspberry Pi 3 B+ mit einem speziellen Wireless-USB-Stick verwendet wird um Aufzeichnungen von 80 MHz breiten Kanälen | + | In diesem Artikel wird beschrieben wie ein Raspberry Pi 3 B+ mit einem speziellen Wireless-USB-Stick verwendet wird um 80 MHz breite Kanäle |
+ | |||
+ | Der Großteil dieses Artikels basiert auf der Verwendung von diesem Wireless-LAN Adapter (für den es passende Treiber für Linux gibt, mit Monitoring Mode Unterstützung): | ||
===== MicroSD Karte vorbereiten ===== | ===== MicroSD Karte vorbereiten ===== | ||
Zeile 190: | Zeile 192: | ||
<WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
- | Vielen Dank an das aircrack-ng Team die dies möglich machen! Weitere Details sind hier zu finden: https:// | + | Vielen Dank an das **aircrack-ng** Team die dies möglich machen! Weitere Details sind hier zu finden: https:// |
</ | </ | ||
Zeile 213: | Zeile 215: | ||
==== rtl8812au Treiber mit DKMS kompilieren ==== | ==== rtl8812au Treiber mit DKMS kompilieren ==== | ||
+ | |||
+ | Den Treiber über diese DKMS-Funktion zu erstellen hat den Vorteil dass beim nächsten Kernel-Update der Treiber einfach neu gebaut werden kann ohne dass man dies manuell tun müsste. | ||
< | < | ||
Zeile 268: | Zeile 272: | ||
</ | </ | ||
+ | ==== udev Regel zur Bezeichnungs der Schnittstellen ==== | ||
+ | Mit dieser Regel ändern wir die Bezeichnung der Karten in der von uns festgelegten Form bei jedem Start des Raspberry Pi bzw. immer dann wenn die USB-Sticks verbunden werden. | ||
< | < | ||
- | TODO: | + | pi@raspberrypi:~ $ sudo vi /etc/udev/rules.d/10-wlan.rules |
- | - udev Rules für wlan1/wlan2 | + | SUBSYSTEM==" |
- | - DHCP & Co für die wlan1/wlan2 Interfaces vermeiden | + | SUBSYSTEM==" |
- | + | ||
- | - | + | |
</ | </ | ||
- | #### Alles ab hier ist outdated und wurde oberhalb überarbeitet #### | + | ==== DHCP auf den Interfaces wlan1 & wlan2 deaktivieren ==== |
+ | < | ||
+ | pi@raspberrypi: | ||
- | <WRAP center round tip 60%> | + | denyinterfaces wlan1 wlan2 |
- | An diesem Artikel wird noch gearbeitet und aktuell sind Erfahrungen mit BRCM on-board und TP-Link " | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | ===== Image auf MicroSD Karte schreiben ===== | + | |
- | + | ||
- | rdisk4 wg. dem Macbook, die Nummer weicht auf anderen Systemen ab - also bitte darauf achten dass man nicht versehentlich eine falsche Platte/ | + | |
- | < | + | |
- | BennyE$ sudo dd if=2018-06-27-raspbian-stretch-lite.img of=/ | + | |
- | Password: | + | |
- | 1776+0 records in | + | |
- | 1776+0 records out | + | |
</ | </ | ||
- | ===== Raspberry Pi einrichten ===== | + | ==== Die wlan1 & wlan2 Schnittstellen auf 80 MHz breite Kanäle einstellen |
- | + | Nehmen wir mal an dass Kanal 100 und 112 in 80 MHz mitgeschnitten werden sollen... | |
- | <WRAP center round alert 60%> | + | airmon-ng bietet uns an Prozesse aus dem Weg zu räumen die uns bei der Aufzeichnung stören könnten, daher machen |
- | Kein rpi-update durchführen! Dadurch fehlen einige Dateien für den Kernel (Stichwort: /build Verzeichnis) und wir können keine eigene Firmware bauen! | + | |
- | </ | + | |
< | < | ||
- | sudo raspi-config | + | pi@raspberrypi: |
- | -> Keyboard einstellen | + | |
- | -> Interfacing -> SSH einschalten | + | |
- | -> Land für die Wireless Schnittstelle festlegen (z.B. DE) | + | |
- | sudo apt-get update && sudo apt-get upgrade | + | Found 4 processes that could cause trouble. |
+ | If airodump-ng, aireplay-ng or airtun-ng stops working after | ||
+ | a short period of time, you may want to run ' | ||
- | root@raspberrypi:/ | + | PID Name |
+ | 319 avahi-daemon | ||
+ | 348 avahi-daemon | ||
+ | 401 wpa_supplicant | ||
+ | 516 dhcpcd | ||
- | root@raspberrypi:/ | + | pi@raspberrypi: |
- | root@raspberrypi: | + | |
- | TODO: wlan* in denyinterfaces von dhcpcd.conf eintragen, sonst zieht das die Interfaces hoch (ohne dass man dies möchte) | + | Killing these processes: |
- | pi@raspberrypi: | + | PID Name |
- | -> Eigenes Passwort festlegen! (Tastatur vorher auf korrektes Layout prüfen!) | + | 401 wpa_supplicant |
+ | 516 dhcpcd | ||
- | sudo reboot | + | pi@raspberrypi: |
- | </ | + | |
- | ===== Zusammenfassung: Was funktioniert und was nicht? ===== | + | pi@raspberrypi:~ $ sudo iw dev wlan1 set type monitor |
+ | pi@raspberrypi: | ||
- | Es gibt verschiedene Wahlmöglichkeiten für die Wireless-Schnittstelle, | + | pi@raspberrypi: |
+ | pi@raspberrypi: | ||
- | ==== Broadcom BCM43455 (onboard Raspberry Pi 3 B+) ==== | + | pi@raspberrypi: |
- | Mit " | + | pi@raspberrypi: |
- | Status: :-\ | + | pi@raspberrypi:~ $ sudo iw wlan1 info |
+ | Interface wlan1 | ||
+ | ifindex 4 | ||
+ | wdev 0x100000001 | ||
+ | addr 00:c0: | ||
+ | type monitor | ||
+ | wiphy 1 | ||
+ | channel 100 (5500 MHz), width: 80 MHz, center1: 5470 MHz | ||
+ | txpower 18.00 dBm | ||
+ | pi@raspberrypi: | ||
+ | Interface wlan2 | ||
+ | ifindex 5 | ||
+ | wdev 0x200000001 | ||
+ | addr 00: | ||
+ | type monitor | ||
+ | wiphy 2 | ||
+ | channel 112 (5560 MHz), width: 80 MHz, center1: 5530 MHz | ||
+ | txpower 18.00 dBm | ||
+ | </ | ||
- | ==== | + | ==== Optional: Eigenes " |
- | Ein schreckliches Stück Hardwaregeschichte das es nicht wert ist gekauft zu werden. Die Treiberunterstützung vom Hersteller ist traurig schlecht. In 2018 offiziell einen Treiber bis Kernel v3.16 anzubieten ist schon wirklich dreist | + | Im obigen Fenster ist es vielleicht aufgefallen, |
- | Es gibt modifizierte Treiber z.B. im GitHub Repository von [[https:// | + | |
- | + | ||
- | Status: m( | + | |
- | + | ||
- | ==== Alfa AWUS036ACH Dual Band USB Adapter AC1200 | + | |
- | https:// | + | |
- | + | ||
- | <wrap hi> | + | |
< | < | ||
- | root@raspberrypi:/ | + | pi@raspberrypi:~ $ iw --version |
- | Bus 001 Device 006: ID 0bda:8812 Realtek Semiconductor Corp. RTL8812AU 802.11a/b/g/n/ac 2T2R DB WLAN Adapter | + | iw version 4.9 |
- | Bus 001 Device 005: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory | + | pi@raspberrypi: |
- | Bus 001 Device 004: ID 0424:7800 Standard Microsystems Corp. | + | --2018-11-10 15:43:31-- https://git.kernel.org/pub/scm/linux/kernel/ |
- | Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub | + | Resolving git.kernel.org (git.kernel.org)... 2604:1380:4090:1700::1, 147.75.44.153 |
- | Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub | + | Connecting to git.kernel.org (git.kernel.org)|2604: |
- | Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub | + | HTTP request sent, awaiting response... 200 OK |
+ | Length: unspecified [application/ | ||
+ | Saving to: ‘iw-4.14.tar.gz’ | ||
- | $ dmesg | + | iw-4.14.tar.gz [ <=> ] 141.60K --.-KB/s in 0.09s |
- | ... | + | |
- | [ 1337.625879] usb 1-1.3: new high-speed USB device number 6 using dwc_otg | + | |
- | [ 1337.756767] usb 1-1.3: New USB device found, idVendor=0bda, | + | |
- | [ 1337.756780] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 | + | |
- | [ 1337.756788] usb 1-1.3: Product: 802.11n NIC | + | |
- | [ 1337.756797] usb 1-1.3: Manufacturer: | + | |
- | [ 1337.756806] usb 1-1.3: SerialNumber: | + | |
- | </code> | + | 2018-11-10 15:43:46 (1.51 MB/s) - ‘iw-4.14.tar.gz’ saved [144999] |
- | Dieser Treiber führt **nicht** zum Erfolg: git clone https://github.com/gnab/rtl8812au | + | pi@raspberrypi:~ $ |
- | Dieser Treiber könnte evtl. der richtige sein: git clone -b v5.3.4 https://github.com/aircrack-ng/rtl8812au.git | + | pi@raspberrypi:~ $ |
+ | pi@raspberrypi: | ||
+ | iw-4.14.tar.gz | ||
+ | pi@raspberrypi: | ||
+ | iw-4.14.tar.gz: | ||
+ | pi@raspberrypi: | ||
+ | pi@raspberrypi: | ||
+ | pi@raspberrypi: | ||
+ | iw-4.14/ | ||
+ | iw-4.14/.gitignore | ||
+ | iw-4.14/Android.mk | ||
+ | iw-4.14/CONTRIBUTING | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/README | ||
+ | iw-4.14/ap.c | ||
+ | iw-4.14/bitrate.c | ||
+ | iw-4.14/coalesce.c | ||
+ | iw-4.14/connect.c | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | iw-4.14/ | ||
+ | pi@raspberrypi: | ||
+ | pi@raspberrypi: | ||
+ | Android.mk | ||
+ | ap.c CONTRIBUTING | ||
+ | bitrate.c | ||
+ | coalesce.c | ||
- | < | + | (Damit iw-4.14 erfolgreich baut, brauchen wir libnl1 bzw. auch -dev.) |
- | pi@raspberrypi: | + | |
- | pi@raspberrypi: | + | pi@raspberrypi: |
- | Cloning into ' | + | |
- | remote: Enumerating objects: 113, done. | + | |
- | remote: Counting objects: 100% (113/113), done. | + | |
- | remote: Compressing objects: 100% (82/82), done. | + | |
- | remote: Total 5919 (delta 46), reused 67 (delta 31), pack-reused 5806 | + | |
- | Receiving objects: 100% (5919/ | + | |
- | Resolving deltas: 100% (4044/4044), done. | + | |
- | pi@raspberrypi: | + | |
- | pi@raspberrypi: | + | |
- | pi@raspberrypi: | + | |
- | pi@raspberrypi: | + | |
- | grep: core: Is a directory | + | |
- | grep: hal: Is a directory | + | |
- | grep: include: Is a directory | + | |
- | Makefile: | + | |
- | Makefile: | + | |
- | grep: os_dep: Is a directory | + | |
- | grep: platform: Is a directory | + | |
- | README.md:For Raspberry (RPI) | + | |
- | pi@raspberrypi: | + | |
Reading package lists... Done | Reading package lists... Done | ||
Building dependency tree | Building dependency tree | ||
Reading state information... Done | Reading state information... Done | ||
The following additional packages will be installed: | The following additional packages will be installed: | ||
- | | + | |
Suggested packages: | Suggested packages: | ||
- | | + | |
The following NEW packages will be installed: | The following NEW packages will be installed: | ||
- | | + | |
- | 0 upgraded, | + | 0 upgraded, |
- | Need to get 6,231 kB of archives. | + | Need to get 156 kB of archives. |
- | After this operation, | + | After this operation, |
Do you want to continue? [Y/n] | Do you want to continue? [Y/n] | ||
- | Get:1 http:// | + | Get:1 http:// |
- | Get:2 http://mirror.netcologne.de/ | + | Get:2 http://ftp.halifax.rwth-aachen.de/ |
- | Get:3 http:// | + | Fetched |
- | Fetched | + | Selecting previously unselected package |
- | Selecting previously unselected package | + | (Reading database ... 69642 files and directories currently installed.) |
- | (Reading database ... 67904 files and directories currently installed.) | + | Preparing to unpack .../libnl1_1.1-8_armhf.deb ... |
- | Preparing to unpack .../libgpm2_1.20.4-6.2_armhf.deb ... | + | Unpacking |
- | Unpacking | + | Selecting previously unselected package |
- | Selecting previously unselected package | + | Preparing to unpack .../libnl-dev_1.1-8_armhf.deb ... |
- | Preparing to unpack .../vim-runtime_2%3a8.0.0197-4+deb9u1_all.deb ... | + | Unpacking |
- | Adding ' | + | Setting up libnl1: |
- | Adding ' | + | Setting up libnl-dev (1.1-8) ... |
- | Unpacking | + | |
- | Selecting previously unselected package vim. | + | pi@raspberrypi:~/iw-4.14 $ make |
- | Preparing to unpack | + | |
- | Unpacking vim (2:8.0.0197-4+deb9u1) | + | |
- | Setting up libgpm2: | + | CC event.o |
- | Processing triggers for libc-bin (2.24-11+deb9u3) | + | |
- | Processing triggers for man-db (2.7.6.1-2) ... | + | |
- | Setting up vim-runtime (2:8.0.0197-4+deb9u1) | + | |
- | Setting up vim (2:8.0.0197-4+deb9u1) | + | |
- | update-alternatives: | + | |
- | update-alternatives: | + | CC |
- | update-alternatives: | + | |
- | update-alternatives: | + | |
- | update-alternatives: | + | |
- | update-alternatives: | + | CC mpath.o |
- | update-alternatives: using /usr/bin/vim.basic to provide | + | |
- | pi@raspberrypi: | + | |
- | CONFIG_PLATFORM_I386_PC = y durch CONFIG_PLATFORM_I386_PC ersetzen | + | |
- | CONFIG_PLATFORM_ARM_RPI = n durch CONFIG_PLATFORM_ARM_RPI = | + | |
+ | | ||
+ | CC | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | CC ps.o | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | CC roc.o | ||
+ | CC p2p.o | ||
+ | CC | ||
+ | CC mgmt.o | ||
+ | CC ap.o | ||
+ | CC | ||
+ | CC iw | ||
+ | |||
+ | Es ist nun wirklich einfach die Kanäle zu setzen. | ||
+ | |||
+ | pi@raspberrypi:~/iw-4.14 $ sudo ./iw wlan1 set channel 52 80MHz | ||
+ | pi@raspberrypi: | ||
- | pi@raspberrypi: | + | pi@raspberrypi: |
- | pi@raspberrypi:~/rtl8812au $ | + | Interface wlan1 |
- | pi@raspberrypi:~/rtl8812au $ make | + | ifindex 4 |
+ | wdev 0x100000001 | ||
+ | addr 00:c0: | ||
+ | type monitor | ||
+ | wiphy 1 | ||
+ | channel 52 (5260 MHz), width: 80 MHz, center1: 5230 MHz | ||
+ | txpower 18.00 dBm | ||
+ | pi@raspberrypi: | ||
+ | Interface wlan2 | ||
+ | ifindex 5 | ||
+ | wdev 0x200000001 | ||
+ | addr 00: | ||
+ | type monitor | ||
+ | wiphy 2 | ||
+ | channel 100 (5500 MHz), width: 80 MHz, center1: 5470 MHz | ||
+ | txpower 18.00 dBm | ||
</ | </ | ||
- | Status: :?: FIXME | + | ==== Wireshark installieren ==== |
+ | Mit der Installation von Wireshark ist der Raspberry Pi wieder einen Moment beschäftigt. Die Frage ob Benutzer in der Lage sein sollen die Daten mitzuschneiden, | ||
+ | < | ||
+ | pi@raspberrypi: | ||
+ | (dies dauert erstmal wieder) | ||
+ | pi@raspberrypi: | ||
+ | Adding user `pi' to group `wireshark' | ||
+ | Adding user pi to group wireshark | ||
+ | Done. | ||
+ | </ | ||
+ | |||
+ | ==== Zugriff aus der Ferne (z.B. von einem Laptop) ==== | ||
+ | Mein Plan von meinem Firmen Laptop per MobaXterm über SSH mit X-Forwarding auf Wireshark zuzugreifen wurde von ziemlichen Verzögerungen geplagt. Daher nun ein Versuch mit VNC ... | ||
+ | |||
+ | < | ||
+ | pi@raspberrypi: | ||
+ | (Das dauert jetzt wieder etwas) | ||
+ | |||
+ | Erstmal ein VNC-Passwort festlegen (maximal acht Zeichen, nichts wertvolles) | ||
+ | pi@raspberrypi: | ||
+ | Using password file / | ||
+ | Password: | ||
+ | Verify: | ||
+ | Would you like to enter a view-only password (y/n)? n | ||
+ | |||
+ | pi@raspberrypi: | ||
+ | (Dort in die letzte Zeile folgendes eintragen) | ||
+ | fluxbox & | ||
+ | |||
+ | pi@raspberrypi: | ||
+ | |||
+ | </ | ||
+ | |||
+ | Bessere Alternative könnte wohl sein RealVNC zu verwenden. Das wird direkt über "sudo raspi-config" | ||
+ | < | ||
+ | sudo systemctl enable vncserver-virtuald.service | ||
+ | sudo systemctl enable vncserver-x11-serviced.service | ||
+ | </ | ||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | Bis hier bin ich bisher gekommen, wirklich hübsch sieht dieser Wireshark jetzt noch nicht aus - aber ein Anfang :) | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Erfahrungen mit anderen Wireless-Adaptern ===== | ||
+ | |||
+ | ==== Erfahrungen/ | ||
+ | Mit " | ||
+ | |||
+ | Status: Wer mit dem Pi 3 B+ nur Beacons mitschneiden will, ist hiermit schon gut aufgehoben - aber für erweiterte Analyse ist es mir bisher nicht gut genug. | ||
+ | |||
+ | ==== Erfahrungen/ | ||
+ | Ein schreckliches Stück Hardwaregeschichte das es nicht wert ist gekauft zu werden. Die Treiberunterstützung vom Hersteller ist traurig schlecht. In 2018 offiziell einen Treiber bis Kernel v3.16 anzubieten ist schon wirklich dreist (und sich dafür mit Linux-Unterstützung zu rühmen). | ||
+ | Es gibt modifizierte Treiber z.B. im GitHub Repository von [[https:// | ||
+ | |||
+ | Status: m( | ||
- | ===== Broadcom BCM43455 (onboard Raspberry Pi 3 B+) für Wireless Monitor Mode vorbereiten ===== | + | ===== Anleitung: |
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
Zeile 449: | Zeile 582: | ||
< | < | ||
- | |||
pi@raspberrypi: | pi@raspberrypi: | ||
root@raspberrypi:/ | root@raspberrypi:/ |
raspberry-pi-monitor-mode.1541857004.txt.gz · Zuletzt geändert: 2024/06/09 10:29 (Externe Bearbeitung)