updated README.ms and added sv_ttk for darkTheme

This commit is contained in:
2025-09-11 13:02:31 +02:00
parent 4025353855
commit 0edcc108bc
2 changed files with 33 additions and 12 deletions

View File

@@ -17,6 +17,12 @@ Benutze dieses Tool nur in isolierten Testumgebungen oder auf einem dedizierten
- **Leichte Konfiguration**: - **Leichte Konfiguration**:
- liest IP & Subnetz des gewählten Interface automatisch aus - liest IP & Subnetz des gewählten Interface automatisch aus
- vergibt Adressen aus einem dynamischen Pool (ab Start-IP) - vergibt Adressen aus einem dynamischen Pool (ab Start-IP)
- **Neu:** Eingabefelder für Primary/Secondary DNS (DHCP Option 6)
- **DHCP-Optionen:**
- Option 1: Subnetzmaske
- Option 3: Router/Gateway (setzt automatisch auf Server-IP)
- Option 6: DNS-Server (aus GUI)
- Option 51: Lease-Time
- **Log-Panel & Statusleiste**: zeigt DHCP-Events in Echtzeit - **Log-Panel & Statusleiste**: zeigt DHCP-Events in Echtzeit
- **Echte DHCP-Pakete**: DISCOVER → OFFER, REQUEST → ACK, RELEASE → Lease-Freigabe - **Echte DHCP-Pakete**: DISCOVER → OFFER, REQUEST → ACK, RELEASE → Lease-Freigabe
@@ -46,7 +52,7 @@ pip install psutil sv-ttk
### 1) GUI starten ### 1) GUI starten
> **Root-Rechte sind erforderlich**, da Port 67 (<1024) privilegiert ist. > **Root-Rechte sind erforderlich**, da Port 67 (< 1024) privilegiert ist.
```bash ```bash
sudo -E python3 main.py sudo -E python3 main.py
@@ -56,12 +62,13 @@ sudo -E python3 main.py
* Wähle das Interface (z. B. `eth0`) aus der Dropdown-Liste. * Wähle das Interface (z. B. `eth0`) aus der Dropdown-Liste.
* IP & Subnetz werden automatisch eingetragen (kann angepasst werden). * IP & Subnetz werden automatisch eingetragen (kann angepasst werden).
* ⚠️ **Warnmeldung** bestätigen. * Primary DNS wird standardmäßig auf die Interface-IP gesetzt (typisch fürs Lab).
* Optional Secondary DNS eintragen (z. B. `8.8.8.8`).
### 3) Server starten ### 3) Server starten
* **Start** klicken → Log zeigt „Listening on UDP/67“. * **Start** klicken → Warnmeldung bestätigen → Log zeigt „Listening on UDP/67“.
* DHCP-Clients können jetzt Adressen beziehen. * DHCP-Clients können jetzt Adressen und DNS-Settings beziehen.
--- ---
@@ -74,7 +81,7 @@ sudo dhclient -v -i -4 -d -sf /bin/true eth0
``` ```
* `-sf /bin/true` verhindert Änderungen an `/etc/resolv.conf` * `-sf /bin/true` verhindert Änderungen an `/etc/resolv.conf`
* Du solltest in der GUI sehen, wie der Client einen Lease bekommt. * GUI sollte zeigen, dass ein Lease vergeben wurde.
### Mit `nmap` ### Mit `nmap`
@@ -94,11 +101,26 @@ Zeigt DISCOVER/OFFER/REQUEST/ACK Pakete live.
--- ---
## 🌐 Internet-Sharing (optional)
Wenn der PC per WLAN im Internet ist, kann man den Traffic ins Labnetz weiterleiten:
```bash
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o wlp61s0 -j MASQUERADE
sudo iptables -A FORWARD -i wlp61s0 -o enp0s31f6 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i enp0s31f6 -o wlp61s0 -j ACCEPT
```
Dann können Clients im Labnetz Internetzugang nutzen.
---
## 🔒 Sicherheit & Best Practices ## 🔒 Sicherheit & Best Practices
* **Nur in isolierten Netzen verwenden** (Lab, VLAN, Test-Switch). * **Nur in isolierten Netzen verwenden** (Lab, VLAN, Test-Switch).
* Auf Produktivsystemen immer **statische IP** für den Server selbst setzen, sonst könnte er seine eigene IP verlieren. * Server-IP statisch setzen, damit sie stabil bleibt.
* Bei Mehr-Interface-Hosts genau überlegen, auf welchem Interface der Server laufen soll. * Aufpassen bei Mehr-Interface-Systemen: Immer bewusst auswählen, welches Interface beschallt wird.
--- ---
@@ -114,13 +136,11 @@ Leases werden nur im Speicher gehalten (kein persistentes Lease-File).
* [ ] Lease-Persistenz (JSON oder SQLite) * [ ] Lease-Persistenz (JSON oder SQLite)
* [ ] Statische MAC-Reservierungen * [ ] Statische MAC-Reservierungen
* [ ] Konfigurierbarer Pool (Start/End-Adresse) * [ ] Konfigurierbarer Pool (Start/End-Adresse)
* [ ] Unterstützung für Option 3 (Router) & Option 6 (DNS) konfigurierbar * [ ] Mehr Optionen (NTP, PXE, benutzerdefiniert)
--- ---
## ⚠️ Haftungsausschluss ## ⚠️ Haftungsausschluss
Dies ist ein **Entwicklungs- und Lern-Tool**. Es ist *nicht* als Ersatz für produktive DHCP-Server gedacht. Dies ist ein **Entwicklungs- und Lern-Tool**. Es ist *nicht* als Ersatz für produktive DHCP-Server gedacht.
Benutzung auf eigene Gefahr prüfe deine Netzumgebung sorgfältig, bevor du den Server startest! Benutzung auf eigene Gefahr prüfe deine Netzumgebung sorgfältig, bevor du den Server startest!
```

View File

@@ -1,2 +1,3 @@
scapy scapy
psutil psutil
sv_ttk