NetBuddy ist ein kleines Python-Konsolenprojekt, das während meiner Umschulung zum Fachinformatiker für Systemintegration entsteht.
Ich verbinde damit zwei Themen, an denen ich aktuell arbeite: Netzwerktechnik und Python. Das Projekt soll Netzwerkaufgaben nicht nur berechnen, sondern die einzelnen Schritte später auch verständlich erklären.
Bei Themen wie IPv4, Subnetting und Routing liegt die Schwierigkeit am Anfang häufig nicht nur in der Berechnung, sondern darin, den Ablauf und die Zusammenhänge zu verstehen.
NetBuddy soll dabei helfen, Fragen wie diese Schritt für Schritt nachzuvollziehen:
- Was bedeutet ein Präfix wie
/24,/27oder/30? - Wie entsteht daraus eine Subnetzmaske?
- Wo liegen Netzwerkadresse und Broadcast-Adresse?
- Welche Host-Adressen sind nutzbar?
- Warum wird beim Routing eine spezifischere Route bevorzugt?
NetBuddy befindet sich noch im Aufbau.
Aktuell umgesetzt sind:
- einfaches Konsolenmenü
- Auswahl der verschiedenen Programmbereiche
- Eingabe einer Adresse mit CIDR-Präfix
- Trennung von IP-Adresse und Präfix
- Prüfung, ob das Präfix numerisch ist und zwischen
0und32liegt
Die IPv4-Adresse selbst wird aktuell noch nicht vollständig validiert.
Die eigentliche Berechnung von Netzwerkadresse, Subnetzmaske, Broadcast-Adresse und Hostbereich ist ebenfalls noch nicht implementiert.
Übungsmodus und Routing-Modus sind im Menü bereits vorgesehen, enthalten momentan aber noch keine eigene Logik.
Als Nächstes möchte ich den IPv4-Subnetzrechner weiter aufbauen.
Dabei stehen zunächst folgende Schritte an:
- IPv4-Adresse prüfen
- CIDR-Eingabe vollständig validieren
- Netzwerkadresse bestimmen
- Subnetzmaske bestimmen
- Broadcast-Adresse bestimmen
- Hostbereich und Anzahl nutzbarer Adressen ermitteln
Die einzelnen Schritte möchte ich dabei nicht nur programmieren, sondern auch fachlich nachvollziehen können.
Wenn der IPv4-Subnetzrechner funktioniert, soll NetBuddy schrittweise erweitert werden.
Geplant sind unter anderem:
- verständliche Erklärungen zu den berechneten Werten
- Übungsaufgaben für IPv4-Subnetting
- Routing-Tabellen und Longest Prefix Match
- später eventuell grundlegende IPv6-Themen
Der Funktionsumfang soll mit meinem eigenen Lernstand wachsen.
Im Ordner docs/ befinden sich zusätzliche Unterlagen zum Projekt:
projektplan.md– Idee, Ziel und Abgrenzung des Projektsroadmap.md– geplante Entwicklungsschrittelernnotizen.md– fachliche Notizen zu den verwendeten Netzwerkthemen
NetBuddy soll für mich vor allem ein praktisches Lernprojekt sein.
Ich möchte damit Netzwerktechnik besser verstehen und gleichzeitig lernen, ein eigenes Python-Projekt schrittweise aufzubauen, zu erweitern und nachvollziehbar zu dokumentieren.