Aus Raspberry Pi Geek 04/2020

Pi Zero als universeller USB-Stick (Seite 3)

Im Gadget-Modus hat der Pi Zero nur ein Problem: Das einfache Abziehen fährt ihn nicht sauber herunter. Als Lösung dafür bietet es sich an, den Pi Zero im sogenannten Read-only-Modus zu betreiben. Eine detaillierte Anleitung, wie das geht, finden Sie in einem früheren Artikel [7].

Aufgetischt

Mit den Default-Einstellungen in der /etc/raspi2go.conf übernimmt der Pi Zero drei Rollen: Er meldet sich als USB-Laufwerk, als USB-Ethernet-Adapter und als serieller USB-Adapter. Je nach den Einstellungen des Hosts hängt dann ein Windows- oder Linux-System das Laufwerk automatisch ein.

Es wäre wenig sinnvoll, den ganzen Aufwand für einen normalen USB-Stick zu treiben. Die Funktion als USB-Laufwerk eignet sich jedoch ideal für das Aufspielen von Treibern und Anwendungssoftware. Beispielsweise benötigt Windows für den Zugriff auf die serielle Schnittstelle ein passendes Programm, und es wäre möglich, auf dem emulierten Laufwerk des Pi Zero Putty mitzuliefern. Das Verfahren kennt man von kommerziellen UMTS/LTE-Sticks: Sie melden sich beim ersten Einstecken als CD-Laufwerk mit der Treibersoftware. Nach der Installation des Treibers erkennt Windows den Stick dann als WAN-Dongle.

Physisch ist der vom Zero emulierte Massenspeicher eine Image-Datei. Der Zugriff darf dabei nicht gleichzeitig vom Host und vom RasPi aus erfolgen – es handelt sich ja nicht um ein Netzwerklaufwerk. Ein solches kann der Zero aber ebenfalls per NFS oder Samba anbieten, denn er spielt als zweite Rolle noch die eines Ethernet-Adapters mit zwei Enden.

Mini-Netzwerk

Ein normaler USB-Ethernet-Adapter hat auf der einen Seite einen USB-Stecker, auf der anderen Seite eine Buchse für ein LAN-Kabel. Die Strippe führt meist zu einem Router oder Switch, könnte aber auch direkt an einem anderen Rechner stecken. Beim Pi Zero als Netzwerk-Gadget ist genau das der Fall – mit dem einzigen Unterschied, dass das Kabel nur virtuell existiert und der Rechner auf der anderen Seite der Zero selbst ist.

Windows und Linux erkennen den Adapter als Netzwerkschnittstelle. Damit die Kommunikation mit dem Pi Zero tatsächlich funktioniert, müssen beide Rechner Adressen in demselben Netzwerksegment haben. Am einfachsten klappt das über Zeroconf/Avahi: Läuft der Dienst auf beiden Seiten, handeln die beteiligten Rechner die technischen Parameter selbstständig aus. Ansonsten hilft einfach die manuelle Konfiguration. Dazu weisen Sie beiden Rechnern eine feste IP-Adresse aus einem eigenen Bereich zu.

Einmal konfiguriert bilden beide Geräte ein Mini-Netzwerk, und Sie haben die Möglichkeit, auf dem Pi Zero beliebige Server-Dienste zu starten und für den Host bereitzustellen, etwa Speicher oder einen Webserver. Die Transferraten liegen dabei im Bereich von Fast-Ethernet; je nach Richtung spuckt Iperf 80 bis 120 Mbit/s als Durchsatz aus.

Konsolen und mehr

Als dritte Emulation gibt der Pi Zero vor, eine serielle Schnittstelle zu sein. Startet der RasPi eine virtuelle Konsole auf der Schnittstelle (das Skript raspi2go.sh macht das automatisch), haben Sie vom Host per Terminalemulation (Putty unter Windows, Screen oder Tio unter Linux) Zugriff auf den RasPi. Das erweist sich besonders dann als nützlich, wenn die Konfiguration des Netzwerks hakt.

Ein anderer möglicher Einsatzzweck ist die Simulation von Sensordaten (bei Sensoren mit UART-Schnittstelle). Ein Programm auf dem Pi Zero simuliert in diesem Fall die Daten und sendet sie über die serielle Schnittstelle zum Host. Dieses Szenario eignet sich ideal für die Software-Entwicklung, weil es nicht nur das Verarbeiten konkreter Daten sehr einfach macht, sondern auch das von Fehlern.

Angriffswerkzeug

Vorbereitet, aber nicht standardmäßig aktiviert ist die Emulation einer Tastatur (HID für Human Interface Device). Als USB-Sticks verkleidete Tastaturen sind ein beliebtes Werkzeug für Hacker. Auf dem Firmenparkplatz scheinbar verloren herumliegend, stecken neugierige Finder den Stick arglos an den PC und merken nicht, dass er munter per Tastatur Befehle an den PC sendet.

Nicht nur der Tastatur-Modus, auch das emulierte Netzwerk machen den mobilen Pi Zero zum idealen Werkzeug für Pen-Tester, denn der Zugriff auf PCs erfolgt so an allen Firewalls und Sicherheitsmechanismen vorbei. Admins in Firmen schalten daher vorsorglich die USB-Ports an den PCs der Mitarbeiter im BIOS oder per Software ab. Eine komplette Implementation eines Werkzeugkastens stellt das Github-Projekt [8] bereit. Wer es nutzt, sollte wissen, was er tut und wo er es tut.

Fazit

Der Pi Zero demonstriert in diesem Projekt wieder seine universelle Nützlichkeit bei verschiedenen Einsatzgebieten. Mit einem mobilen PC haben Sie als Anwender eine Server-Umgebung nach Wahl dabei, nützlich etwa als Demo oder um den Host nicht mit eigentlich unnötiger Software zu belasten.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 7 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben