Alle Beiträge von Björn Karpenstein

Diplom Informatiker, Programmierer, Musikbegeisterter

Mechanik: Übersetzung von Zahnrädern berechnen

Wenn ein kleines Zahnrad, welches von einem Motor angetrieben wird, ein großes Zahnrad antreibt, entsteht eine Untersetzung:

  • Das große Zahnrad dreht sich langsamer, aber mit viel mehr Drehmoment / Drehkraft.
  • Der Motor muss weniger Kraft aufbringen, weil sein Zahnrad mit kleinerem Radius einen mechanischen Vorteil erzeugt.
  • Man bekommt also mehr Zugkraft, aber weniger Geschwindigkeit.

Das ist exakt das gleiche Prinzip wie bei einem Fahrrad:

  • Kleines Ritzel vorne, großes Ritzel hinten → leicht zu treten, aber langsam.

Klein treibt groß = geringere Drehzahl, höherer Drehmoment. Das nutzt man, wenn man Drehmoment / Drehkraft braucht statt Geschwindigkeit.

Groß treibt klein = höhere Drehzahl, weniger Drehmoment. Das nutzt man, wenn man Geschwindigkeit braucht statt Kraft.

Beispiel zur Vorstellung

Angenommen:

  • Motorzahnrad: 10 Zähne
  • Lastzahnrad: 50 Zähne

Übersetzung:

5010=5

Das bedeutet:

  • Die Last bekommt 5× mehr Drehmoment
  • Der Motor muss nur 1/5 der Kraft aufbringen
  • Die Last dreht sich 5× langsamer

Animation

Über den Link gibt es Animationen mit 3 relevanten Beispielen für die eigene Vorstellung:

  • Ein kleines Zahnrad treibt ein großes an
  • Ein noch kleineres Zahnrad treibt ein noch größeres Zahnrad an
  • Ein großes Zahnrad treibt ein kleines Zahnrad an.

https://www.gearsket.ch/#b3ca64f5d4b87bf9

IKEA Skådis Hack: Skadis Lochplatten ohne Bohren mit 3D-Druck von MakerWorld befestigen / Desk Mount / Tischhalterung

Video

Modell für den 3D-Druck

In diesem Video zeige ich euch, wie ihr eine IKEA Skadis Lockplatte ohne Bohrungen befestigen könnt, indem ihr einen 3D Druck von Makerworld verwendet:

https://makerworld.com/de/models/91990-ikea-skadis-desk-mount

  • IKEA Skådis Hack
  • Skådis ohne Bohren
  • 3D‑Druck Modell
  • MakerWorld Skådis
  • Desk Mount / Tischhalterung

Gewinde-Kennbuchstaben und -arten, Bedeutung, Typ & typische Anwendungen

Was bedeutet bei Schrauben M3, M4, M3x4, E27 usw … ?

Der Buchstabe M steht für ein metrisches ISO-Gewinde, welches zylindrisch und mit 60° geneigt ist. die Zahl 3 (bei z.B. M3) für den Gewindedurchmesser von 3 mm. Die Schreibweise M3x4 bedeutet, dass die Gewindelänge einer M3-Schraube 4 mm beträgt.

Nachfolgend ist eine tabellarische Übersicht weiterer häufiger Gewinde-Kennbuchstaben und wo sie typischerweise verwendet werden.

Gewinde‑Kennbuchstaben, Bedeutung, Typ & typische Anwendungen

Kenn­buchstabeBedeutung / NormsystemTyp / ProfilBeispielTypische Verwendung / Anwendungsfälle
MMetrisches ISO‑Gewindezylindrisch, 60°M6Maschinenbau, Elektronik, Metallbau, Möbelbau, Automobil, 3D‑Druck, Gerätebau – das am weitesten verbreitete Gewinde weltweit
GWhitworth-Rohrgewinde (BSPP, parallel)zylindrisch, 55°G 1/4Sanitär‑ und Wasserinstallationen, Druckluftsysteme, Hydraulik (mit Dichtungen), Armaturen
RWhitworth-Rohrgewinde (BSPT, konisch)konisch, 55°R 1/8Metall‑Rohrverbindungen, Druckluft, Flüssigkeiten, Gasleitungen – abdichtet über das Gewinde
NPT / NPTFAmerikanisches Rohrgewindekonisch, 60°1/4‑NPTÖl & Gas, Hydraulik, Pneumatik, US‑Industrieanlagen, Kompressoren, Wasserfilter (USA)
UNC / UNF / UNEFUnified Thread Standard (USA)zylindrisch, 60°1/4‑20 UNCMaschinen aus den USA, Flugzeugbau, alte Harley‑Teile, Kamera‑/Stativgewinde (UNC), Militärnormen
TrISO‑Trapezgewindezylindrisch, 30°Tr 12×3Spindeln, Linearantriebe, Schraubstöcke, Hubvorrichtungen, CNC‑Z‑Achsen, mechanische Verstellungen
SSägengewindeasymmetrischS 20×5Einseitig hoch belastete Antriebe, z. B. Spritzgussmaschinen, Pressen, hohe Axiallasten
RdRundgewinderundes ProfilRd 40×1/6Feuerwehr‑Kupplungen, Glühlampenfassungen (historisch), Eisenbahn, Schlauchkupplungen, robuste Verbindungssysteme
PgPanzerrohr‑GewindezylindrischPg 16Alte Elektroinstallationen, Kabelverschraubungen (heute ersetzt durch metrisch M‑Gewinde)
EEdison‑GewindeSpezialprofilE27Lampenfassungen weltweit (E14, E27, E40), Haushalts‑ und Industrielampen

Schraubkopfarten mit Kategorie, Form & Verwendung

Kategorie Kopfart Form / Beschreibung Typische Verwendung
Nicht‑versenkende Köpfe Linsenkopf / Button Head Rund, flach, niedriger Kopf Sichtbare Schrauben, Elektronik, allgemeine Montage
Pan Head (Flachrundkopf) Leicht gewölbt, flache Unterseite Universalschrauben, Blech, Elektronik
Rundkopf / Round Head Vollständig rund gewölbt Sichtbare Verschraubungen, allgemeine Befestigungen
Kuppelkopf / Domed Head Stark gewölbt, dekorativ Möbelbau, Designschrauben
Truss / Mushroom Head Sehr breiter, flacher Kopf (große Auflage) Dünne Bleche, Kunststoff, Abdeckungen
Binding Head Breiter, niedriger Rundkopf Elektroarbeiten, Buchbindung, Kabelbefestigung
Mechanische Hochlastköpfe Flanschkopf / Flange Head Kopf mit integrierter „Washer“‑Auflage Maschinenbau, Metall, höhere Lastverteilung
Sechskantkopf / Hex Head Sechskant für Schlüssel/Werkzeug Kfz, Mechanik, Konstruktion – hohe Drehmomente
Cheese Head / Zylinderkopf Zylindrisch, breitere Seitenfläche Maschinenbau, Elektronik (klassische Maschinenschrauben)
Fillister Head Hoher, schmaler Zylinderkopf mit tiefem Schlitz Elektrogeräte, Präzisionsmechanik
Versenkende Köpfe Senkkopf / Flat Head (CSK) Flacher Kopf, konische Unterseite → bündig Holz, Möbel, Metall – bündige Montage
Linsen‑Senkkopf / Oval Head / Raised CSK Oben leicht gewölbt, unten konisch Dekorativ bündig, Innenausbau/Möbel
Bugle Head (Trompetenkopf) Sanfter, trompetenförmiger Übergang unter dem Kopf Trockenbau/Gipskarton – verhindert Aufplatzen
Spezial‑ & Sicherheitskopfarten Eye / Hook Head Öse oder Haken anstelle eines Kopfs Aufhängungen, Drahtseile, leichte Befestigungen
Grub / Headless (Madenschraube) Kopflos, meist Innensechskant Stell‑/Klemmschrauben, Wellen‑Naben‑Verbindungen
Carriage Head (Vierkant‑Kragen) Halbrund + Vierkant unterm Kopf (gegen Mitdrehen) Holzbau (z. B. Zäune, Möbel), verhindert Mitdrehen
Security Heads (Torx Security, Spanner, Tri‑Wing …) Manipulationssichere Köpfe/Antriebe Elektronik, öffentliche Geräte, Diebstahlschutz

Mixing und Mastering Seminar mit Holgar Steinbrink

Alle meine Mitschriften

In der Seitenleiste hatte ich folgendes notiert:

Welche Effekt werden überhaupt für Send-Effekte genutzt (De-Esser?), Hall oder Delay?

Q-Link

Mitt Q-Link im Mixer werden alle Fader verknüpft, so dass diese gemeinsam runtergezogen werden können.

  • Am Anfag soll man aufpassen, dass die Main-Stimme deutlich zu hören ist
  • RAW-Mix-Lautstärkeregler ist das „wichtigste Instrument“ für das Mixing
  • Die Stimme muss deutlich zu hören sein
  • Danach kommt erst Bass und Schlagzeug
  • Im Panorama unangetastet: Bass+ Kick stets in der Mitte
  • Die Signal-Chain ist stets die gleiche:
    • Pre-Sektion im e-Strip
      • Kompressor: -20 dB -° Oberhalb -20 dB arbeitet der Kompressor
      • Ratio: Wie stark wird das Signal abgesenkt z.B. 4:1 oder unendlich:1

Zwei Netzwerkverbindungen gleichzeitig unter Windows trotz Policy erlauben

Problem

Sie arbeiten in einer administrierten Organisation mit einer Windows-Domäne und verlieren bei zwei Netzwerkverbindungen eine Verbindung, weil eine Netzwerk-Policy nur eine Verbindung erlaubt.

Korrekterweise wäre der richtige Weg, dies über ein Ticket mit ihrer IT zu regeln, nur leider ist es Administrator-seitig nicht so einfach möglich diese Policy zu ändern, da man vermutlich zu Gunsten der IT-Sicherheit diese Policy bewusst eingerichtet hat. Daher ist die Resonanz Ihrer IT oft die Ablehnung und das unbearbeitete Schließen.

Dennoch gibt es Situationen, in denen das Vorhandensein von 2 Netzwerkverbindungen notwendig ist und ich arbeite in einer solchen Konstilation:

  • Ich befinde mich hauptsächlich im Homeoffice
  • Ich brauche die RJ45-Schnittstelle meines Notebooks um mit einer Peripherie, welche ich als Softwareentwickler programmiere, zu kommunizieren. Bei der Kommunikation kommt ein eigenes Protokoll zum Einsatz, welches nicht auf TCP/IP basiert.
  • Ich nutze neben der eigentlichen Programmiertätigkeit das Notebook um mit meinen Kollegen über Microsoft Teams zu kommunizieren oder neue Programmversionen in eine Cloud hochzuladen.
  • Ich nutze das firmeninterne Ticketsystem auf Basis von JIRA um meine täglichen Aufgaben zu erhalten, zu bearbeiten und zu kommentieren.
  • Ich commite meine Änderungen in ein Quellcode-Verwaltungssystem (GIT), welches sich in der Cloud befindet und Pflege meine Änderungen harmonisch in das Gesamtkonstrukt der Anwendung ein (Team-Programmierung).

Analyse

Im Allgemeinen liegt das Problem darin, dass der Rechner die folgende Policy immer wieder ändert:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WcmSvc\GroupPolicy]
"fBlockNonDomain"=dword:00000001
"fMinimizeConnections"=dword:00000000

Diese Änderungen werden periodisch von der Organisation über Azure-Mechanismen auf meinen Firmenrechner übertragen, was dazu führt, dass ich entweder nicht mehr arbeiten kann, oder dass ich nicht mehr über Microsoft-Teams erreichbar bin und meine Quellcode-Änderungen commiten kann.

Lösung

Für Windows 11 (und auch Windows 10) führe ich die folgende Batch-Datei als Administrator aus (Rechtsklick auf .bat-Datei -> Als Administrator ausführen):

@echo off
chcp 65001

:Start
echo Importiere Registry-Einstellungen...
regedit.exe /s change_group_policy.reg
echo Fertig.

:Frage
set /p Antwort=Moechten Sie den Vorgang wiederholen? (j/n): 
if /I "%Antwort%"=="j" goto Start
if /I "%Antwort%"=="n" exit
echo Ungueltige Eingabe. Bitte geben Sie "j" oder "n" ein.
goto Frage

Der unter Abschnitt „Analyse“ gezeigte Registry-Key, den ich unter dem Namen change_group_policy.reg gespeichert habe, lege ich in das gleiche Verzeichnis.

Diese Konsoleneingabe lasse ich geöffnet, da nach ein paar Stunden die Policy neu übertragen wird und ich eine Verbindung verliere.

Wenn jemand eine bessere Lösung dafür hat wäre ich für einen Kommentar unter dem Beitrag dankbar.

Die beiden Dateien hänge ich hier an:

Auf der Batch-Datei einfach „Rechtsklick -> Als Administrator ausführen“ machen.

C : List all network devices with their properties / attributes like GUID, adapter name, MAC address, Description

Problem

In some cases mighty libs like NPCap or WinPCap are used to get a list of all network devices with common properties like GUID and so on.

Approach

#pragma comment(lib, "iphlpapi.lib")
This links the IP Helper API library, which provides functions for retrieving network configuration and statistics, such as:

  • Network adapter information
  • IP address tables
  • Routing tables

#pragma comment(lib, "ws2_32.lib")
This links the Winsock 2 library, which is essential for network programming on Windows. It provides:

  • Socket APIs for TCP/UDP communication
  • DNS resolution
  • Network initialization and cleanup functions

Solution

#include <stdio.h>
#include <stdlib.h>
#include <winsock2.h>
#include <iphlpapi.h>
#include <ws2tcpip.h>

#pragma comment(lib, "iphlpapi.lib")
#pragma comment(lib, "ws2_32.lib")

int main() {
    DWORD dwSize = 0;
    DWORD dwRetVal = 0;

    IP_ADAPTER_ADDRESSES *pAddresses = NULL;
    IP_ADAPTER_ADDRESSES *pCurrAddresses = NULL;

    ULONG flags = GAA_FLAG_INCLUDE_PREFIX;
    ULONG family = AF_UNSPEC;

    // Erste Abfrage zur Bestimmung der Puffergröße
    dwRetVal = GetAdaptersAddresses(family, flags, NULL, pAddresses, &dwSize);
    if (dwRetVal == ERROR_BUFFER_OVERFLOW) {
        pAddresses = (IP_ADAPTER_ADDRESSES *) malloc(dwSize);
        if (pAddresses == NULL) {
            printf("Speicher konnte nicht reserviert werden.\n");
            return 1;
        }
    }

    // Zweiter Aufruf mit gültigem Puffer
    dwRetVal = GetAdaptersAddresses(family, flags, NULL, pAddresses, &dwSize);
    if (dwRetVal == NO_ERROR) {
        pCurrAddresses = pAddresses;
        while (pCurrAddresses) {
            printf("Adapter GUID: %s\n", pCurrAddresses->AdapterName);
            printf("Adaptername: %ws\n", pCurrAddresses->FriendlyName);
            printf("Beschreibung: %ws\n", pCurrAddresses->Description);
            if (pCurrAddresses->PhysicalAddressLength != 0) {
                printf("MAC-Adresse: ");
                for (DWORD i = 0; i < pCurrAddresses->PhysicalAddressLength; i++) {
                    printf("%02X", pCurrAddresses->PhysicalAddress[i]);
                    if (i < pCurrAddresses->PhysicalAddressLength - 1)
                        printf(":");
                }
                printf("\n");
            }
            
            printf("--------------------------------------------------\n");
            pCurrAddresses = pCurrAddresses->Next;
        }       
    } else {
        printf("GetAdaptersAddresses fehlgeschlagen mit Fehler: %lu\n", dwRetVal);
    }

    if (pAddresses) {
        free(pAddresses);
    }

    return 0;
}

Output

PS C:\Betriebssysteme\Übung 6> .\ListNetworkDevices  
Adapter GUID: {E01CE7A3-099B-4184-8C16-1F5054A8317F}
Adaptername: Ethernet
Beschreibung: Intel(R) Ethernet Connection (7) I219-LM
MAC-Adresse: 34:48:ED:61:86:BA
--------------------------------------------------
Adapter GUID: {4012AE18-3341-4541-892C-BC0286FA6504}
Adaptername: Ethernet 2
Beschreibung: Check Point Virtual Network Adapter For Endpoint VPN Client
MAC-Adresse: 54:DF:6F:F5:98:06
--------------------------------------------------
Adapter GUID: {6EFE57EA-027E-45AA-9BFD-8071CE36C5FD}
Adaptername: Ethernet 7
Beschreibung: VirtualBox Host-Only Ethernet Adapter
MAC-Adresse: 0A:00:27:00:00:0F
--------------------------------------------------
Adapter GUID: {1A8FA3D8-A753-4453-8362-78FA3A6B314C}
Adaptername: Local Area Connection* 1
Beschreibung: Microsoft Wi-Fi Direct Virtual Adapter
MAC-Adresse: B8:9A:2A:2F:51:8F
--------------------------------------------------
Adapter GUID: {4BE430BD-CB19-4CBB-BA70-0D4EE0F6AECE}
Adaptername: Local Area Connection* 2
Beschreibung: Microsoft Wi-Fi Direct Virtual Adapter #2
MAC-Adresse: BA:9A:2A:2F:51:8E
--------------------------------------------------
Adapter GUID: {DFDC464C-3487-4D61-B1AE-28733CA18E2E}
Adaptername: Wi-Fi
Beschreibung: Intel(R) Wi-Fi 6 AX200 160MHz
MAC-Adresse: B8:9A:2A:2F:51:8E
--------------------------------------------------
Adapter GUID: {BAA489E2-AF2D-4A75-A99C-2E4C19B04F44}
Adaptername: Bluetooth Network Connection
Beschreibung: Bluetooth Device (Personal Area Network)
MAC-Adresse: B8:9A:2A:2F:51:92
--------------------------------------------------
Adapter GUID: {88CB09EB-7A9D-11EF-986B-806E6F6E6963}
Adaptername: Loopback Pseudo-Interface 1
Beschreibung: Software Loopback Interface 1
--------------------------------------------------
PS C:\Betriebssysteme\Übung 6>

REST-Client für Visual Studio Code (Extension: „REST Client“)

Intention

Zum Testen / Aufrufen von REST-API’s benötigt man am Besten einen Client, der nicht unbedingt im Webspace der selben Domain gehostet ist, da man Testen möchte ob die Cross-Origin Resource Policy (CORP) / Cross Site Policy korrekt konfiguriert ist.

Problem

Würde man einen Javascript-REST-Client im Web-Root / wwwroot / inetpub der selben Domain hosten, könnte dieser ohne Verletzung der Policy auf die REST-Services der selben Domain zugreifen. Würde man die Endpoints / Endpunkte an einen Konsumenten weitergeben, könnte dieser bei einer Fehlkonfiguration diese trotzdem nicht aufrufen.

Beispiel für einen Javascript-REST-Client, der durch den Response-Body ein JSON-Array iteriert (für Tests nicht empfohlen):

<button id="loadData">Get Rides</button>
<div id="rideData"></div>

<script>
    async function fetchRideData() {
        const response = await fetch("/Ride");
        if (!response.ok) {
            document.getElementById("rideData").innerText = "Fehler beim Laden der Daten.";
            return;
        }
        const data = await response.json();
        let html = "<ul>";
        data.forEach(item => {
            html += `<li>ID: ${item.id}, Datum: ${item.timestamp}, GPS Position: ${item.gpS_Position}, Kennzeichen: ${item.kennzeichen}</li>`;
        });
        html += "</ul>";
        document.getElementById("rideData").innerHTML = html;
    }

    document.getElementById("loadData").addEventListener("click", fetchRideData);
</script>

Lösung

Die Extension „REST Client“ kann als autarker REST-Client, der nicht in der Domäne des Webspaces läuft, sondern lokal vom Rechner aus den Aufruf tätigt, genutzt werden:

Im Screenshot oben wurde die Extension „REST Client“ installiert und eine neue Datei mit dem Namen „restapi.http“ angelegt.

Die Datei hat den folgenden Inhalt (im Body wird ein JSON-Array übermittelt, dieses müsste dem Service entsprechend ersetzt werden):

POST https://www.domain.info/GenericRequest
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-WS-RateLimit-Limit: 1000
X-WS-RateLimit-Remaining: 999
Server: Microsoft-IIS/10.0
X-Powered-By: ASP.NET
Date: Wed, 07 May 2025 10:27:38 GMT

[ {
"ts": 1530536430,
"lat":-34.1868759,
"lng":-56.9065776,
"head": 30,
"speed": 50,
"id": "SBV3399",
"temp": "20",
"motor":"on"

},
{
"ts": 1530536430,
"lat":-34.1868759,
"lng":-56.9065776,
"head": 0,
"speed": 50,
"id": "MAV4099",
"temp": "8",
"motor":"off"
}]

Fazit

REST API’s lassen sich am Besten mit einem REST-Client testen / aufrufen, der nicht auf dem Domain-Space läuft, auf dem die Endpunkte gehostet sind um CORP zu testen. Dies verhindert unangenehme Überraschungen zwischen der aufrufenden und aufzurufenden Seite.

MBR (Master Boot Record) ansehen / anzeigen lassen | View MBR

MBR, Schutz-MBR und GPT

Zum Verständnis ein kurzer Exkurs von 4 Überschriften …

In aktuellen und älteren Betriebssystemen befindet sich in den ersten 512 Byte von Sektor 0 der Master Boot Record. Der MBR endet immer an den letzten 2 Bytes mit 0x55 0xAA.

In modernen Betriebssystemen existiert dieser nur noch, damit ältere Betriebssysteme die Platte als beschriebene Partition erkennen und dann wird dieser als Schutz-MBR bezeichnet.

GPT ist der Nachfolger vom MBR. Alte Betriebssysteme booten über das BIOS den MBR. Moderne Betriebssysteme booten über UEFI den GPT.

UEFI (Unified Extensible Firmware Interface) hat das traditionelle BIOS (Basic Input/Output System) weitgehend ersetzt

Struktur des MBR

  1. Bootloader-Code: Die ersten 446 Bytes enthalten den Bootloader-Code, der für das Starten des Betriebssystems verantwortlich ist.
  2. Partitionstabelle: Die nächsten 64 Bytes enthalten die Partitionstabelle, die Informationen über die Partitionen auf dem Speichermedium enthält.
  3. Signatur: Die letzten 2 Bytes (55 AA) sind die Boot-Signatur, die das Ende des MBR markiert und vom BIOS überprüft wird.

MBR (Master Boot Record)

  • Alter: MBR ist ein älteres Partitionsschema, das erstmals 1983 eingeführt wurde.
  • Größe: Der MBR belegt die ersten 512 Bytes eines Speichermediums.
  • Partitionen: Unterstützt bis zu vier primäre Partitionen oder drei primäre und eine erweiterte Partition.
  • Kapazität: Kann Festplatten bis zu 2 TB verwalten.
  • Boot-Prozess: Enthält den Bootloader-Code, der das Betriebssystem startet.

Schutz-MBR (Protective MBR)

  • Zweck: Wird auf GPT-formatierten Festplatten verwendet, um ältere Systeme daran zu hindern, die Festplatte als unpartitioniert zu erkennen.
  • Inhalt: Enthält eine einzige Partition, die den gesamten Speicherplatz des Mediums abdeckt.
  • Kompatibilität: Hilft bei der Kompatibilität mit älteren BIOS-Systemen.

GPT (GUID Partition Table)

  • Alter: GPT ist ein moderneres Partitionsschema, das mit UEFI eingeführt wurde.
  • Größe: GPT verwendet global eindeutige Bezeichner (GUIDs) für Partitionen.
  • Partitionen: Unterstützt eine nahezu unbegrenzte Anzahl von Partitionen.
  • Kapazität: Kann Festplatten größer als 2 TB verwalten.
  • Sicherheit: Bietet eine höhere Ausfallsicherheit durch redundante Kopien der Partitionstabelle.

Darstellung eines bootfähigen Speichermediums nach Andrew S. Tanenbaum

Linux

Unter Linux ist es mit dem Kommando dd möglich den MBR (Master Boot Record) eines Speichermediums anzeigen zu lassen, wenn man über Administratorrechte / Super-User-Rechte verfügt.

Dafür kann der Befehl genutzt werden:
sudo dd if=/dev/sda bs=512 count=1 | hexdump -C

sudo: Super-Userrechte für den Befehl dd
dd if=/dev/sda: Ausgabe der Datei, die im DEV-Ordner die erste Festplatte darstellt
count=1: Nur einen Input-Block einlesen
| hexdump -C: Ausgabe in Hexadezimal

karpbjde@BBRAUN:/$ sudo dd if=/dev/sda bs=512 count=1 | hexdump -C
00000000  eb 63 90 00 00 00 00 00  00 00 00 00 00 00 00 00  |.c..............|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000050  00 00 00 00 00 00 00 00  00 00 00 80 00 08 00 00  |................|
00000060  00 00 00 00 ff fa 90 90  f6 c2 80 74 05 f6 c2 70  |...........t...p|
00000070  74 02 b2 80 ea 79 7c 00  00 31 c0 8e d8 8e d0 bc  |t....y|..1......|
00000080  00 20 fb a0 64 7c 3c ff  74 02 88 c2 52 bb 17 04  |. ..d|<.t...R...|
00000090  f6 07 03 74 06 be 88 7d  e8 17 01 be 05 7c b4 41  |...t...}.....|.A|
000000a0  bb aa 55 cd 13 5a 52 72  3d 81 fb 55 aa 75 37 83  |..U..ZRr=..U.u7.|
000000b0  e1 01 74 32 31 c0 89 44  04 40 88 44 ff 89 44 02  |..t21..D.@.D..D.|
000000c0  c7 04 10 00 66 8b 1e 5c  7c 66 89 5c 08 66 8b 1e  |....f..\|f.\.f..|
000000d0  60 7c 66 89 5c 0c c7 44  06 00 70 b4 42 cd 13 72  |`|f.\..D..p.B..r|
000000e0  05 bb 00 70 eb 76 b4 08  cd 13 73 0d 5a 84 d2 0f  |...p.v....s.Z...|
000000f0  83 d0 00 be 93 7d e9 82  00 66 0f b6 c6 88 64 ff  |.....}...f....d.|
00000100  40 66 89 44 04 0f b6 d1  c1 e2 02 88 e8 88 f4 40  |@f.D...........@|
00000110  89 44 08 0f b6 c2 c0 e8  02 66 89 04 66 a1 60 7c  |.D.......f..f.`||
00000120  66 09 c0 75 4e 66 a1 5c  7c 66 31 d2 66 f7 34 88  |f..uNf.\|f1.f.4.|
00000130  d1 31 d2 66 f7 74 04 3b  44 08 7d 37 fe c1 88 c5  |.1.f.t.;D.}7....|
00000140  30 c0 c1 e8 02 08 c1 88  d0 5a 88 c6 bb 00 70 8e  |0........Z....p.|
00000150  c3 31 db b8 01 02 cd 13  72 1e 8c c3 60 1e b9 00  |.1......r...`...|
00000160  01 8e db 31 f6 bf 00 80  8e c6 fc f3 a5 1f 61 ff  |...1..........a.|
00000170  26 5a 7c be 8e 7d eb 03  be 9d 7d e8 34 00 be a2  |&Z|..}....}.4...|
00000180  7d e8 2e 00 cd 18 eb fe  47 52 55 42 20 00 47 65  |}.......GRUB .Ge|
00000190  6f 6d 00 48 61 72 64 20  44 69 73 6b 00 52 65 61  |om.Hard Disk.Rea|
000001a0  64 00 20 45 72 72 6f 72  0d 0a 00 bb 01 00 b4 0e  |d. Error........|
000001b0  cd 10 ac 3c 00 75 f4 c3  00 00 00 00 00 00 00 00  |...<.u..........|
000001c0  02 00 ee ff ff ff 01 00  00 00 ff ff 1f 03 00 00  |................|
000001d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|

Windows

Unter Windows kann man den kostenlosen HEX-Editor HxD benutzen um sich den MBR anzeigen zu lassen. Bei folgendem System handelt es sich nur noch um einen Schutz-MBR.

Ein Schutz-MBR (Protective MBR) wird verwendet, um sicherzustellen, dass ältere Programme und Betriebssysteme, die nur das traditionelle MBR-Partitionsschema kennen, ein Speichermedium nicht fälschlicherweise als leer oder uninitialisiert erkennen. Dies ist besonders wichtig bei der Verwendung der GUID-Partitionstabelle (GPT), die bei modernen Systemen und großen Festplatten üblich ist 

Der Schutz-MBR enthält eine einzige Partition, die den gesamten Speicherplatz des Mediums abdeckt und so verhindert, dass ältere Systeme versuchen, das Medium neu zu partitionieren oder zu formatieren.

Nach der Installation von HxD kann man über Extras -> Datenträgerabbild öffnen die ersten 512 Bytes des primären Mediums anzeigen lassen.

Wifi-Passwort von WLAN’s herausfinden, mit denen man bereits verbunden war | Get wifi passwords of wireless networks to which already a wifi connection has been established

Problem

Man hat das Kennwort / Passwort von WLAN’s vergessen und möchte diese auf einem anderen Gerät einrichten.

Ansatz

Verwendung von netsh über die Eingabeaufforderung / CMD / Kommandozeile

Lösung

  • Öffne eine MS-DOS-Eingabeaufforderung / eine Konsole / ein Terminal (z.B. nach cmd suchen)
  • Gebe den folgenden Befehl ein um WLAN’s aufzulisten, mit denen man bereits verbunden war:
C:\Users\karpbjde>netsh wlan show profile

Profile auf Schnittstelle Wi-Fi:

Gruppenrichtlinienprofile (schreibgeschützt)
---------------------------------
BBraun (GPO)

Benutzerprofile
---------------
Profil für alle Benutzer : Karpenstein2
Profil für alle Benutzer : karpenstein
Profil für alle Benutzer : eduroam
  • Um das Wifi-Password für eines der aufgelisteten Profile zu sehen, geben folgendes ein:
C:\Users\karpbjde>netsh wlan show profile "Karpenstein2" key=clear

Das Profil "Karpenstein2" auf Schnittstelle Wi-Fi:
=======================================================================

Angewendet: Profil für alle Benutzer

Profilinformationen
-------------------
Version : 1
Typ : Drahtlos-LAN
Name : Karpenstein2
Steuerungsoptionen :
Verbindungsmodus : Automatisch verbinden
Netzwerkübertragung : Verbinden, nur wenn dieses Netzwerk überträgt
Automatisch wechseln : Nicht zu anderen Netzwerken wechseln.
MAC-Randomisierung : Deaktiviert

Konnektivitätseinstellungen
---------------------
Anzahl von SSIDs : 1
SSID-Name : "Karpenstein2"
Netzwerktyp : Infrastruktur
Funktyp : [ Beliebiger Funktyp ]
Herstellererweiterung : Nicht vorhanden

Sicherheitseinstellungen
------------------------
Authentifizierung : WPA2-Personal
Verschlüsselung : CCMP
Authentifizierung : WPA2-Personal
Verschlüsselung : GCMP
Sicherheitsschlüssel : Vorhanden
Schlüsselinhalt : SAG_ICH_NED

Kosteneinstellungen
-------------------
Kosten : Uneingeschränkt
Überlastet : Nein
Datenlimit bald erreicht: Nein
Über Datenlimit : Nein
Roaming : Nein
Kostenquelle : Standard


C:\Users\karpbjde>
  • Das Kennwort steht unter „Sicherheitseinstellungen -> Sicherheitsschlüssel“ (hier „SAG_ICH_NED“)