Bei einem sudo apt update, kommt es mit einem piaware Repo von flightaware.com zu dieser
Fehlermeldung: „flightaware update: öffentlicher Schlüssel nicht verfügbar: NO_PUBKEY B931BB28DE85F0DD und gpg anstatt apt-key“ weiterlesen
Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, Statistik, Krypto und Blockchain
Alles rund um Linux
Bei einem sudo apt update, kommt es mit einem piaware Repo von flightaware.com zu dieser
Fehlermeldung: „flightaware update: öffentlicher Schlüssel nicht verfügbar: NO_PUBKEY B931BB28DE85F0DD und gpg anstatt apt-key“ weiterlesen
WebP (sprich engl. „weppy“) ist ein modernes Bildformat, das von Google entwickelt wurde, um hochwertige Bilder mit geringerer Dateigröße im Vergleich zu anderen Bildformaten wie JPEG und PNG zu liefern. Das WebP-Tool unter Linux bietet eine leistungsstarke Lösung für die Konvertierung und Optimierung von Bildern.
Mit dem Tool cwebp können PNG, JPEG, TIFF Bilder in das WebP Format und zurück umgeformt werden.
Diese Datei hat z.B. eine Größe von 1,4 MByte und nach der Umformung nur noch 18 KByte. Da lohnt sich doch der Aufruf,
cwebp 1.png -o 1.webp
Ausgabe: „Speicher sparen mit dem WebP Format mit cwebp auf dem Raspberry Pi“ weiterlesen
Manchmal fragt man sich, welche Version des Betriebssystem habe ich den auf meinen Raspberry Pi laufen? 64-Bit oder 32-Bit?
Wie kann ich die installierte Betriebssystem Version abfragen? Ab dem Pi 3 kann man ja wählen. Das geht mit uname. Was ist uname? „64-Bit oder 32-Bit Betriebssytem erkennen mit uname“ weiterlesen
Hidden Onion Services sind eine Art von Tor-Service, die es Benutzern ermöglichen, anonym und sicher mit anderen zu kommunizieren. Um einen Hidden Onion-Service einzurichten, ist es erforderlich, einen privaten und öffentlichen Schlüssel zu generieren (Also vanity address generator for tor onion v3 (ed25519) hidden services).
Dank an Dr.Kleinhirn.eu für die Mindmap.
Curve25519 … eine elliptische Kurve, die für asymmetrische Kryptosysteme genutzt wird. Sie wird üblicherweise für digitale Signaturen und Schlüsselaustauschprotokolle genutzt und gilt als besonders schnell. Sie ist von der IETF als RFC 7748 standardisiert. Die Kurve ist nicht durch bekannte Patente geschützt. Sie ist Public Domain. „Curve25519 private/public Key generieren für Hidden Onion-Services inkl. sprechenden Domainnamen mit mkp224o“ weiterlesen
In der Informationssicherheit und Verschlüsselung steht „CA“ für Certification Authority. Eine Zertifizierungsstelle ist eine vertrauenswürdige Organisation, die digitale Zertifikate ausstellt und verwaltet. Diese Zertifikate werden verwendet, um die Identität von Websites, Servern und Benutzern in verschlüsselten Kommunikationen zu überprüfen, z. B. bei der SSL/TLS-Verschlüsselung im Web. Hier ein Bild der XCA GUI unter Linux:
Gestern wurde eine neue Version 2.5.0 der XCA veröffentlicht. Dafür gibt es auf dem Raspberry Pi 4 noch kein Package.
Aber man kann es ja auch selbst compilieren und zwar so für den aktuellen dev 2.5.3 Stand:
Die wichtigsten Unterschiede zwischen Trust Stores und Key Stores für Java und HTTPS.
Der Key Store speichert private Schlüssel und zugehörige Zertifikate zur Identifizierung und Authentifizierung.
Der Trust Store speichert Zertifikate von vertrauenswürdigen Zertifizierungsstellen zur Überprüfung der Glaubwürdigkeit von Remote-Entitäten.
Beide Speicher sind wichtig, um eine sichere Kommunikation über HTTPS und andere verschlüsselte Protokolle zu gewährleisten. Der Key Store ermöglicht die Identifizierung und Authentifizierung, während der Trust Store das Vertrauen in die Gegenstelle sicherstellt. Hier die Unterschiede als Mindmap und als Tabelle:
„Die wichtigsten Unterschiede zwischen Trust Stores und Key Stores für Java und HTTPS“ weiterlesen
Ein wichtiger Aspekt bei der Planung und Installation von Funk- oder Mobilfunknetzwerken ist die Bewertung der theoretischen Reichweite des Antennenempfangs. Die Reichweite einer Antenne hängt von verschiedenen Faktoren ab, darunter die Sendeleistung, die Empfängereigenschaften und das Höhenprofil der Umgebung. In diesem Artikel betrachten wir genauer, wie das Höhenprofil die theoretische Reichweite des Antennenempfangs beeinflusst.
Das Höhenprofil einer bestimmten Umgebung gibt Auskunft über die Variation der Geländehöhe entlang einer bestimmten Strecke. Es kann Anstiege, Abstiege, Hügel, Täler und andere topografische Merkmale umfassen. Diese Merkmale können sich erheblich auf die Signalübertragung und somit auf die Reichweite des Antennenempfangs auswirken. „Anzeige der theoretische Reichweite des Antennenempfang basierend auf dem Höhenprofil mit integration in tar1090“ weiterlesen
Das gleiche Kommando für die Instalation ist auch für ein update nötig. Einfach ein:
1 |
sudo bash -c "$(wget -nv -O - https://github.com/wiedehopf/tar1090/raw/master/install.sh)" |
ausführen: „tar1090: Ein leistungsstarkes Werkzeug zur ADS-B-Flugverfolgung – Wie updaten?“ weiterlesen
In der Welt der Webentwicklung ist es oft notwendig, mit Daten zu arbeiten, die über eine REST-API bereitgestellt werden. Bei der Entwicklung von Frontend-Anwendungen müssen Entwickler häufig mit Mock-APIs arbeiten, um ihre Anwendungen unabhängig von der tatsächlichen Backend-Implementierung zu testen. JSON-Server ist eine großartige Lösung für dieses Problem. In diesem Artikel werden wir uns mit JSON-Server befassen und erfahren, wie er verwendet werden kann, um einen einfachen Mock-Server für die Entwicklung von Webanwendungen bereitzustellen. Zuerst zeige ich, wie Node und NPM auf dem PI Zero installiert werden kann.
Was ist JSON-Server?
JSON-Server ist ein einfaches, aber leistungsstarkes Werkzeug, mit dem Entwickler in kürzester Zeit einen voll funktionsfähigen RESTful-API-Mock-Server erstellen können. Es basiert auf Node.js und verwendet eine JSON-Datei als Datenquelle. Mit JSON-Server können Entwickler API-Endpunkte erstellen, Daten hinzufügen, aktualisieren, löschen und abfragen, ohne eine eigentliche Backend-Implementierung schreiben zu müssen.
Wie in diesem Beitrag beschrieben, kann leicht ein REST-Server in 5 Minuten erstellt werden. Auch die Sicherheit kann in 5 Minuten mit Helmet erweitert werden, wie hier beschrieben. Wer weitere 5 Minuten hat, kann auch auf ein Verzeichnis mit statischen Resourcen zugreifen.
Eine statische Webseite ist eine Art von Webseite, bei der die Inhalte für jede Seite im Voraus erstellt werden und nicht dynamisch auf Anfrage generiert werden. Dies bedeutet, dass der Inhalt jeder Seite statisch ist und sich nicht ändert, es sei denn, jemand bearbeitet manuell die HTML-Dateien, die die Seiten darstellen.
Statische Webseiten werden oft verwendet, wenn der Inhalt der Seite selten oder nie aktualisiert wird, z.B. bei Landingpages, Informationsseiten oder Blogs mit selten aktualisierten Inhalten. Sie sind einfach zu erstellen und zu verwalten und erfordern keine spezielle Software oder Programmierkenntnisse. „REST-Server mit statischen HTML Seiten bzw. Bildern in 5 Minuten erstellen“ weiterlesen
Heute von Flightradar24 diese E-Mail bekommen:
1 2 3 4 5 6 7 8 9 10 |
Dear Host, We have noticed that you are using an older version of Flightradar24 data sharing software (1.0.25-3) that we are phasing out. We would therefore like you to upgrade to the latest version (1.0.34-0) before Feb 28, 2023. Follow the procedure given below to upgrade: SSH into your pi and login to it. Run the following commands - one at a time: sudo chmod +x /usr/lib/fr24/fr24feed_updater.sh sudo /usr/lib/fr24/fr24feed_updater.sh |
So klappt das bei mir aber nicht, da ich das Programm per deb Archive installiert habe, wie hier beschrieben. Also ein update wie folgt durchgeführt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// per SSH anmelden und zu root werden, dann das Archive laden wget https://repo-feed.flightradar24.com/linux_x86_64_binaries/fr24feed_1.0.34-0_amd64.deb // installieren dpkg -i fr24feed_1.0.34-0_amd64.deb // Restart systemctl restart fr24feed // Ergebnis systemctl status fr24feed // oder fr24feed-status // bei mir war auch noch ein reboot nötig reboot |
Checken der aktuellen Version, wie oben im Foto. 1.0.34-0 oder auch auf der FR24 Seite:
REST (Representational State Transfer) Server sollten genutzt werden, wenn es darum geht, eine Web-API (Application Programming Interface) bereitzustellen, die es ermöglicht, Daten zwischen verschiedenen Systemen auszutauschen.
REST ist ein Architekturstil, der sich auf die Verwendung von HTTP-Methoden wie GET, POST, PUT und DELETE konzentriert, um Ressourcen zu erstellen, abzufragen, zu ändern und zu löschen. Ein REST-Server kann in fast jeder Programmiersprache entwickelt werden und ist eine gute Wahl für die Erstellung von Microservices oder für die Integration von Anwendungen mit anderen Systemen.
Express.js ist ein web Application Framework für Node.js, das es Entwicklern erleichtert, eine HTTP-Server zu erstellen und Routing-Funktionalitäten bereitzustellen. Es ist eines der am weitesten verbreiteten Framework für Node.js und wird oft für die Erstellung von Webanwendungen und REST-APIs verwendet. „REST-Server in 5 Minunten erstellen mit Node.js and Express.js“ weiterlesen
Flightradar24 Feed muss ja nicht immer auf einem Raspberry Pi laufen. Das hatte ich in diesem Blog schon mehrfach beschrieben (auch hier). Der S920 ist preiswerter und es läuft da auch wie folgt:
„Flightradar24 Feed auf S920 Debian amd64 einrichten“ weiterlesen
exa ersetzt den default Dateilister ls auf dem Raspberr pi in Farbe und mit Git Support und Tree anzeige. So sieht z.B. ein Verzeichnis aus, mit Git Spalte:
Es ist schnell installiert mit „exa der moderne Ersatz für ls auf dem Pi und Linux Systeme“ weiterlesen
Neuer Version von Portainer.io veröffentlicht. Was gibt es neu?
Was gleich auffällt, es muss jetzt ein neues Passwort verwendet werden. Admin geht also nicht mehr 😉 Also jetzt mind. 12 Zeichen. „Portainer.io 2.13.1 veröffentlicht für Docker auf Pi“ weiterlesen
Manchmal möchte man mal schnell eine Mindmap ohne großen Aufwand erzeugen. Wenn so was reicht …
kann die Mindmap leicht aus diesen Markdown Code erzeugt werden:
1 2 3 4 5 6 7 8 9 10 |
# A Mind Map ... - <http://www.wenzlaff.info/> ## draw processes of the brain in action ## cuts through jargon and artifice ## goes to the heart of a Matter ## is an open-minded thinking tool ## doesn't rely on deduction or reduction ## you can understand and explain your topic to a newbie more easily ## can help you overcome the curse of Knowledge |
Auf dem Raspberry Pi muss npm installiert sein, dann einmalig die markmap-cli installieren mit: „Markdown to Mindmap mit markmap-cli auf Raspberry Pi“ weiterlesen
Die neue git Version 2.36 ist heute veröffentlicht worden (Releasenotes). In der Package Verwaltung von Debian gibt es das noch nicht.
Also mal eben auf dem Raspberry Pi selbst compilieren (auf dem Pi Zero dauert es ca. 1,5 Stunde) mit diesen Schritten …
Die neue git Version 2.35 ist gestern veröffentlicht. In der Package Verwaltung von Debian gibt es das noch nicht. Also mal eben auf dem Raspberry Pi selbst compilieren (auf dem Pi Zero dauert es ca. 1 Stunde) mit diesen Schritten …
„Versionsverwaltung Git 2.35 ist da, und es läuft auch auf dem Raspberry Pi“ weiterlesen
httpie ist auch auf dem Raspberry Pi in 5 Minuten installiert, es muss ja nicht immer curl sein. Um httpie auf dem Raspberry Pi zu installieren, ist nur ein Befehl nötig. Und schon hat man einen curl Ersatz mit intuitiver UI, JSON support, Syntax Hervorhebung und mehr. Alles wird in nur 8 Minuten in diesem Video gezeigt.
Folgende Befehle werden verwendet…
„Wie kann das Wetter oder der Bitcoin Kurs leicht mit httpie auf einem Raspberry Pi abgefragt werden?“ weiterlesen
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