Wie kann ein Raspberry Pi auf den neuesten Software Stand gebracht werden? Das zeig diese Video in nur 2 Minuten:
Diese Befehle werden verwendet: „Wie kann ein Raspberry Pi auf den neuesten Software Stand gebracht werden?“ weiterlesen

Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
Alles rund um Linux
Wie kann ein Raspberry Pi auf den neuesten Software Stand gebracht werden? Das zeig diese Video in nur 2 Minuten:
GO ist eine Programmiersprache von Google und läuft auch auf dem Raspberry PI. Sie ist schnell installiert mit
sudo apt-get install golang

Ein Test mit go version gib die Version aus, und zeigt an, das go installiert wurde. Z.b.
go version go1.15.9 linux/arm
Heute, mal ein „Hallo Welt“ und ein REST-Server um zu zeigen, wie einfach der Start ist.
Also dann mal die Datei erstes-go-programm.go mit diesem Inhalt anlegen: … „Es muss ja nicht immer Java sein, GO ist eine Programmiersprache von Google und läuft auch auf dem Raspberry PI“ weiterlesen
Hatte noch einen Raspberry Pi rumliegen, der Headless mit Raspian 11 bullseye bespielt wurde. Hier ein screenfetch:

Auf den wollen wir nun packet analyzer oder packet sniffer installieren (man braucht dazu kein Kali 😉 ). Hatte in der Vergangenheit schön öfters davon berichtet (1, 2, 3). Tshark ist das Kommandozeilen API für Wireshark. „Penetrationstest: Sniffer tshark auf dem Raspberry nutzen“ weiterlesen

Millionen von Websites werden mit WordPress betrieben und belegen mit ca. 62% des Marktanteils in der CMS-Welt die Nummer eins. Vor 6 Jahren hatte ich hier schon mal berichtet, wie WPScan mit Kali Linux genutzt werden kann. Dort ist es schon vorinstalliert. Aber man kann es auch auf einem Debian Linux auf einen Raspberry Pi installieren und laufen lassen.
Hier mal ein Beispiel auf einem Pi Zero. Es gibt kein Package für wpscan. Aber es läuft unter Ruby, und das kann man leicht installieren.
Also wer ein WordPress am laufen hat, könnte seine eigene (und nur die!) Installation auf Lücken überprüfen, und nicht nur das. WPScan ist eine kostenlose Software, mit der die sicherheitsrelevanten Probleme auf einer WordPress-Site identifiziert werden können. WPScan kann ua.:
Die Installation kann in ca. 1 Stunde wie folgt durchgeführt werden:
OpenSSL ist ein in C entwickeltes Kryptographiewerkzeug für das Secure Socket Layer (SSL). Es enthält das Mehrzweck-Befehlszeilenwerkzeug /usr/bin/openssl. Das Programm eignet sich für kryptographische Operationen wie:

Welche Version ist auf dem Raspberry Pi installiert? Ein „OpenSSL nicht nur mit dem Raspberry Pi oder wie können Zertifikate selbst signiert werden mit eigener selbst-signierter Root-CA?“ weiterlesen

Eine minimale Single Page App (495 Byte) mit React und Babel. Das ganze Projekt ist hier zu finden. Einfach das git Repo in einem leeren Verzeichnis clonen
„Mal was anderes als Fussball: SPA mit React und Babel oder TOP 10 Gründe für Anti- Pattern „Big Ball of Mud““ weiterlesen
„Black Box Test“ mit Wapiti. Es prüft Webseiten und Web-Applikationen auf Schwachstellen, indem es die Seitenstruktur ermittelt und daraufhin versucht, Daten und Payloads an Skripte und Formulare zu übergeben. Cool, dann mal den eigenen Server überprüfen. Hier schon mal der Ergebnis-Report vorweg:

Installieren mit: „„Black Box Test“ mit Wapiti“ weiterlesen
SSH Brute-Force mit Java. Gar nicht so schwierig.

Wir lesen eine Passwort- und eine Userdatei ein und machen ein connect zu einem SSH-Server mit jeder Kombination bis wir eine gültige Verbindung gefunden haben. Hier die Architektur inkl. JUnit-Testklassen: … „SSH Brute-Force mit Java, picocli und TWHackSSH“ weiterlesen
Eine Firewall ist auf dem Raspberry Pi schnell mit dem UFW eingerichtet und kann die Sicherheit verbessern.
Die Firewall UFW muss nur installiert werden mit:
|
1 2 3 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install ufw |
Nun schalten wir zuerst den ipv6 auf no in der Datei /etc/default/ufw, da er bei mir nicht verwendet wird. „Firewall in 10 Minuten einrichen mit UFW (Uncomplicated firewall) nicht nur auf dem Raspberry Pi“ weiterlesen

Da Dateinamen mit Umlauten und Leerzeichen manchmal Probleme machen, können solche mit detox einfach entfernt bzw. ersetzt werden. Das geht auch rekrusiv für ganze Verzeichnisse wie Musiksammlungen oder Bilddateien usw.
Detox ist 5 Minuten installiert:… „5 Minuten Detox: Dateinamen von Sonderzeichen, Umlauten und Leerzeichen befreien“ weiterlesen
Heute gehts mal kurzt um die Praxis. Im letzten Artikel ging es um kryptographisch sicherer Zufallszahlengenerator mit dem Raspberry Pi und Hardware Random Number Generator (RNG).
Man unterscheidet übrigens grundsätzlich zwischen nicht-deterministischen und deterministischen Zufallszahlengeneratoren. Nicht-deterministisch ist ein Zufallszahlengenerator, wenn er auch bei gleichen Ausgangsbedingungen unterschiedliche Werte liefert, so wie der hier vorgestellte. Da die Implementierung einer Software-Prozedur in der Regel deterministisch arbeitet, muss zur Realisierung eines nicht-deterministischen Zufallszahlengenerators ein externer (beispielsweise physikalischer per Hardware) Vorgang der auf dem Raspberry Pi läuft einbezogen werden.
Nun eine Anwendung als NodeRed-Flow um kryptographisch sichere Zufallszahlen zu generieren die dann als Seed ua. auch für Bitcoin verwendet werden können.
Der Flow läuft übrigens auch erfolgreich auf einem NodeRed das in einem Docker-Kontainer läuft. Es wird übrigens die Schnittstelle mit head -c 128 /dev/hwrng abgefragt und der Timeout auf 2 Sekunden gesetzt. Wer größere oder kleinere Zahlen braucht, kann die 128 anpassen. Die 512 Bit kann man übrigens auch für Bitcoin gut gebrauchen 😉
Hier eine kleine Gui dazu: … „Kryptographisch sicherer Zufallszahlengenerator NodeRed-Flow mit dem Raspberry Pi und Hardware Random Number Generator (RNG) und GUI“ weiterlesen
Wer mal sehen will, wie lange sein Raspberry Pi läuft, hier mal dazu ein kleiner Flow:
Hier die Gui dazu. … „small but mighty: NodeRed uptimer mit Gui“ weiterlesen
Nmap gibt es seit dem 9.10.2020 schon in Version 7.91. Wenn man Nmap wie im letzten Beitrag installiert mit apt-get install nmap wird nur die Version 7.7 aus dem Jahr 2018 installiert. Wer die neue Version 7.91 braucht kann sie auch in ein paar Minuten selbst compiliern.
Das geht so:
Es muss nicht immer Kali sein. Auch FFP2-Masken schützen keine Rechner, da muss man schon aktiv nach Sicherheitslücken suchen und stopfen. Auch ein Raspberry Pi mit Debian geht für das Scannen von Netzwerken mit nmap. Heute wollen wir das Ergebnis des Sicherheits-Scanns mal in eine lesbare HTML-Form mit xsltproc transformieren. Das geht in ein paar Minuten.
Der Aufbau soll sein:
Dann mal los, es sind nur 5 Schritte nötig:
1. Installieren von nmap und xsltproc „nmap scan von xml to html mit xsltproc auf Raspberry Pi mit Debian (Kali)“ weiterlesen
YaCy (von Yet another Cyberspace, homophon zu englisch ya see) ist eine Suchmaschine, die nach dem Peer-to-Peer-Prinzip – kurz P2P – arbeitet. Dabei gibt es keinen zentralen Server, sondern alle Teilnehmer sind gleichwertig.
Und sie läuft auf einem Raspberry Pi 4 B im Docker Container in 10 Minuten.
Hier der Eintrag für die docker-compose.yml, oder hier die ganze Datei: „YaCy oder das eigene Google nur anonymer“ weiterlesen
In der aktuellen Version von git auf dem Pi fehlt z.B. der git switch Befehl. Der ist zwar im Status: THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
Deshalb will ich mal eben die aktuelle Version von Git auf einem Raspberry Pi 4 B installieren. Ich nehme mal die 2.30.0-rc1.
|
1 2 3 |
sudo apt update sudo apt install git git --version |
Das reicht für die meisten. Dann hat man aber nicht die aktuellste Version, die derzeit v2.30.0-rc1 ist. Wer aber z.B. experimentelle Befehle wie switch ausprobieren will, kann sich in 2 Stunden selbst auf einen Raspberry Pi Zero oder auf einem Pi 4 B in 10 Minuten eine Version zusammen bauen.
Hier kann man die aktuellste Version sehen https://github.com/git/git/tags:
Wie kann die aktuelles Git Version auf einem Raspberry Pi installiert werden? Hier die Schritte: „Git switch auf dem Raspberry Pi 4 B installieren – oder wie compiliere ich GIT“ weiterlesen
Eine kleine Demo zeigt, dass es gar nicht so kompliziert ist, ein professionelles Web-Application-Framework auf dem Raspberry Pi zum Laufen zu bekommen. Und das in 10 Minuten! Ok, dann los.

Eine vaadin Anwendung Version 16.0.0 und Jetty Server 9.4.15 in 10 Minuten erstellen. Das ist mit dem Archetype möglich. Als Version wird latest angegeben. Diesen Aufruf auf der Kommandozeile in einem leeren Verzeichnis aufrufen:
|
1 2 3 4 5 6 7 |
mvn -B archetype:generate \ -DarchetypeGroupId=com.vaadin \ -DarchetypeArtifactId=vaadin-archetype-application \ -DarchetypeVersion=LATEST \ -DgroupId=de.wenzlaff.twvaadinprojekt.app \ -DartifactId=twvaadinprojekt-app \ -Dversion=1.0-SNAPSHOT |
Das ist beim 2. Mal in 10 Sekunden erledigt. Beim 1. Mal müssen noch die Maven Artefakte ins lokale Repo geladen werden, das dauert etwas. „Vaadin Anwendung auf dem Raspberry Pi 4 B in 10 Minuten mit Jetty-Server und Archetype erstellen als Vorbereitung für den richtiger Lockdown ab Mittwoch!“ weiterlesen
Manchmal möchte man aus einem PDF den Text extrahieren oder Infos aus dem PDF gewinnen. Das geht mit den poppler Utils auf dem Raspberry Pi.

Wir laden uns die poppler.pdf als Beispiel in ein Verzeichnis.
Dann rufen wir die pdftotext Anwendung auf:
pdftotext poppler.pdf
und wir erhalten eine neue Datei poppler.txt mit dem Text aus der PDF: „PDFtoText (Pdf2Text), PDF to Fonts, PDF to Info“ weiterlesen
Auf dem Rasberry Pi 4 ist ja default Java 11 installiert. Nun wollen wir mal schnell ein kleines Java Projekt mit Maven erstellen. Da ist schnell gemacht mit Archetype vom Maven.
Danke Dr.Kleinhirn.eu für die Bereitstellung der Mindmap
Also nur noch Maven 3.6.0 installieren mit: sudo apt-get install maven
Dann checken ob alles richtig installiert ist mit: mvn -version
Dann in einem leeren Verzeichnis „Mal was anderes als COVID-19 Impfstoff BNT162b2: Maven install auf einem Raspberry Pi 4 B mit Beispielprojekt in 10 Minuten mit Archetype“ weiterlesen
Um PDF-Dokumente in ein Bildformat wie PNG zu überführen, und auch zum skalieren kann das Tool pdftoppm auf einem Raspberry Pi verwendet werden. Aber auch noch andere Funktionen sind mit den poppler-utils möglich.

Installiert sind sie auf einem Raspberry Pi schnell mit: „PDF to PNG, JPG oder TIFF auf einem Raspberry Pi mit pdftoppm“ weiterlesen
Um mit Apple-Rechner (Mac OS X, Big Sur oder Monterey) per Freigaben mit dem Finder auf dem Raspberry Pi 4 B zugreifen zu können, kann Netatalk verwendet werden. Auf dem aktuellen Raspberry Pi wird Netatalk 3.1.12 installiert. So würde eine Freigabe z.B. aussehen:

Was ist nötig? 10 Minuten Zeit und … „Apple Freigabe (Zugriff) für den Finder in Big Sur, Monterey oder Ventura einrichten für Raspberry Pi 4 B (oder auch 3 BPlus, Zero, S920) mit Netatalk installieren“ weiterlesen
Kryptowährungen wie z.B. Bitcoin sind in aller Munde. Es gibt heute ca. 9000 Kryptowährungen, wie z.B. Bitcoin, Ethereum, Tether, XPR, Chainlink, Litercoin und Monero um mal 7 zu nennen.
Kann man mit einem alten Raspberry Pi Model B oder W Zero Krypto-Geld schürfen? Ja, warum nicht, das geht sogar ziemlich einfach, wie dieser Artikel zeigt. Rechnet es sich? Dazu später mehr.

Vorraussetzung ist ein aktuell installiertes Debian und zugriff auf die Kommandozeile.
Dann brauchen wir noch eine Anmeldung bei Minig-Pool, da man alleine es nicht schaft. Z.b. bei Minergate.com und die E-Mail-Adresse, womit wir uns dort angemeldet haben. Die Anmeldung bei diesem Mining-Pool ist kostenlos. Minergate ist ein Open-Source-Multi-Kryptowährungs-Mining-Pool.
So, jetzt wollen wir mal Krypto-Geld erzeugen. Wir werden die Währung Monero erzeugen. Wikipedia sagt zu Monero: „Monero (XMR) ist eine dezentrale, Blockchain-basierte Kryptowährung, vergleichbar mit Bitcoin. Im Gegensatz zu Bitcoin setzt Monero jedoch einen stärkeren Fokus auf die Privatsphäre bzw. Anonymität seiner Nutzer (Privacy Coin) und verfolgt einen anderen Ansatz in Bezug auf die Skalierbarkeit. Das Wort „monero“ ist der Sprache Esperanto entnommen und bedeutet „Münze“. Monero (XMR) ist auf bis zu 12 dezimale Nachkommastellen teilbar, d. h. die kleinste Währungseinheit beträgt 0,000 000 000 001 XMR = 10 hoch −12 XMR.
Ok, dann mal los, es dauert ca. 1-2 Stunden ( 15 Min, auf einem Raspberry Pi 4) um den Miner zu bauen und das erste Geld zu erzeugt. Es sind nur diese 4 Schritte nötig und es ist mal etwas anderes als Co2-Ampeln bauen … „Kryptowährung schürfen mit einem Raspberry Pi“ weiterlesen
Hier mal eine Zusammenfassung eines CO2-Messsystems (CO2-Ampel) mit dem Raspberry Pi an dem der MH-Z19b, OLED Anzeige, LED-Rgb-Ampel hängen. Auch werden die Daten Online an Thinkspeak, MQTT, NodeRed, Alexa ausgabe von Warnungen und abfrage der Co2 Werte, Pushover nachrichten ans Handy, REST Java-Client, Docker Container und an einen History Browser gesendet. Wie hier auch schon einzeln veröffentlicht.
Einen REST Service in 15 min mit Quarkus, OpenAPI, Swagger UI und JUnit-Test erstellen und um CO2-Ampel Service erweitern ist nicht kompliziert.

Vorraussetzungen Java 11 und Maven. Test mit:
mvn -version
auf der Kommandozeile:
|
1 2 3 4 5 6 |
➜ ~ mvn -version Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: /opt/local/share/java/maven3 Java version: 11.0.9, vendor: AdoptOpenJDK, runtime: /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home Default locale: de_DE, platform encoding: UTF-8 OS name: "mac os x", version: "10.15.7", arch: "x86_64", family: "mac" |
Dann fangen wir in einem leeren Verzeichnis an
|
1 2 |
mkdir rest-co2ampel cd rest-co2ampel |
jetzt rufen wir mit dem Maven Quarkus Plugin das create Goal auf:
|
1 |
mvn io.quarkus:quarkus-maven-plugin:1.9.0.Final:create -DprojectGroupId=de.wenzlaff.co2ampel -DprojectArtifactId=info-kleinhirn -DclassName="de.wenzlaff.Co2AmpelResource" -Dpath="/co2ampel" |
Zwei Sekunden später, ist das Projekt angelegt: „REST Service in 15 min mit Quarkus, OpenAPI, Swagger UI und JUnit-Test erstellen und um CO2-Ampel Service erweitern“ weiterlesen
Wie können bash Scripte auf dem Raspberry Pi automatisch nach dem reboot gestartet werden?

Mit einem Service systemctl. Was ist nötig? Nicht viel …
1. Erstellen einer Datei: „Autostart: systemd zum script starten als service mit systemctl am Beispiel der co2ampel“ weiterlesen
Wir wollen mal alle Bluetooth Geräte im Umkreis Scannen, ohne sich mit mit den Geräten zu pairen. Es werden so schon genug Infos geliefert um ein Device zu tracken. Also nur an eigenen Geräten testen. Wir verwenden dazu den btscanner. Der wird wie folgt beschrieben:
|
1 2 3 4 5 6 7 |
btscanner is a tool designed specifically to extract as much information as possible from a Bluetooth device without the requirement to pair. A detailed information screen extracts HCI and SDP information, and maintains an open connection to monitor the RSSI and link quality. btscanner is based on the BlueZ Bluetooth stack, which is included with recent Linux kernels, and the BlueZ toolset. btscanner also contains a complete listing of the IEEE OUI numbers and class lookup tables. Using the information gathered from these sources it is possible to make educated guesses as to the host device type |
Wenn das nichts ist. Infos ohne pair! Aber nur für die Weiterbildung!

Wenn der noch nicht installiert ist:
sudo apt-get install btscanner
Dann brauchen wir eine USB-Bluetooth-Adapter im Raspberry Pi, wie auch hier schon beschrieben. Dann schauen wir, ob alles richtig konfiguriert ist.
hciconfig
Ergebnis ungefähr:
|
1 2 3 4 5 |
hci0: Type: Primary Bus: USB BD Address: 00:00:xx:xx:xx:xx ACL MTU: 1017:8 SCO MTU: 64:8 UP RUNNING PSCAN RX bytes:15760 acl:20 sco:0 events:1238 errors:0 TX bytes:8047 acl:20 sco:0 commands:723 errors:0 |
Dann noch mal … „Bluetooth Scann mit btscanner von einem Raspberry Pi mit Debian buster, es muss ja nicht immer Kali sein“ weiterlesen
Git kann einfach in ein paar Minuten auf einem Raspberry Pi installiert werden mit:
|
1 2 3 |
sudo apt update sudo apt install git git --version |
Das reicht für die meisten. Dann hat man aber nicht die aktuellste Version, die derzeit 2.26.2 ist. Wer aber z.B. experimentelle Befehle wie switch ausprobieren will, kann sich in 2 Stunden selbst auf einen Raspberry Pi Zero eine Version zusammen bauen.
Hier kann man die aktuellste Version sehen https://github.com/git/git/releases:
Wie kann die aktuelles Git Version auf einem Raspberry Pi installiert werden? Hier die Schritte: „Wie kann die aktuelle Git Version auf einem Raspberry Pi installiert werden?“ weiterlesen
Wenn Ruby mit dem Package-Manager installiert wird, dann wird diese Version 2.3.3p222 installiert:
ruby -v # Ergebnis: ruby 2.3.3p222 (2016-11-21) [arm-linux-gnueabihf]
Wer die aktuelle Version 2.7.1. braucht, kann sie wie folgt installieren: „Raspberry Pi Zero: Aktuelle Ruby Version 2.7.1 in 1-2 Stunden selbst bauen und installieren“ weiterlesen
Ein neuer User kann mit adduser angelegt werden.

Der User der das tut muss root Rechte haben. Also legen wir mal einen neuen User an: kleinhirn.eu
|
1 |
sudo adduser kleinhirn.eu |
Das hat nicht geklappt, weil in dem Namen ein Punkt enthalten ist. In der Datei: „Neuen Sudo User auf einem Raspberry Pi anlegen und wieder löschen“ weiterlesen
Auch auf dem Raspberry Pi können leicht Verzeichnisse oder Dateien überwacht werden. Dazu muss einmalig die inotify-tools mit
sudo apt-get install inotify-tools
installiert werden.

Das geht ohne neustart und ist in 3 Minuten erledigt. Schon kann dann z.B. mit
inotifywait -mrq -e create –format %w%f /home/pi
das /home/pi Verzeichnis überwacht werden. Nach dem Start können wir in einem anderen Terminal Fenster eine Datei oder zwei anlegen: „Raspberry Pi: Veränderungen an Dateien oder Verzeichnissen mit inotify überwachen“ weiterlesen