Der Bau eines Sicherheitstools zeigt Entscheidungen hinter ausgereiften Scannern: Eingaben, Timeouts, Parallelität, Protokollfelder, Fehler und Filter. Dieser Praxiskurs entwickelt mit Python fokussierte Aufklärungswerkzeuge und verbindet deren Ergebnisse.
Du baust einen Multithread-TCP-Scanner, konstruierst ICMP/TCP-Pakete mit Scapy und entwickelst einen parallelen Webpfad-Enumerator. Die Challenge scannt lokale Webports, prüft Wortlistenpfade je offenem Dienst und schreibt einen Bericht.
Was du lernen wirst
- Eine CLI mit
argparsefür Ziel und Portbereich erstellen - Offene TCP-Ports mit
socket.connect_ex, Timeouts und Exceptions erkennen - Sequenzielles Scannen und Thread-Parallelität vergleichen
- IP-, ICMP- und TCP-Schichten in Scapy stapeln und Felder prüfen
- Eine ICMP-Sonde mit
sr1senden und Antwort oder Timeout behandeln - Pfadkandidaten einlesen und parallele HTTP-Anfragen senden
- Endpunkte nach HTTP-Codes filtern und Fehler behandeln
- Portscan und Verzeichnissuche zu einem lokalen Berichtstool verbinden
Für wen dieser Kurs geeignet ist
Dieser Kurs auf mittlerem Niveau richtet sich an Cybersecurity-Lernende, Netzwerkingenieure und Python-Entwickler, die Scanner intern verstehen möchten. Er vermittelt Implementierung und sichere Labtests, ersetzt aber weder Nmap noch ffuf.
Voraussetzungen: Python-Funktionen, Module, Collections, Exceptions und Dateien sowie Grundlagen zu TCP-Ports, HTTP-Codes, IP/ICMP/TCP-Headern und Linux-Terminal.
Lernumgebung: Ubuntu 22.04 mit Python 3, Scapy, requests, lokalen Webservern und Wortlisten. Scan und Fuzzing nutzen 127.0.0.1; das Paketlab sendet abhängig von Netzrichtlinien ein ICMP Echo an 8.8.8.8.
Häufig gestellte Fragen
Darf ich beliebige Hosts anvisieren?
Nur eigene oder ausdrücklich autorisierte Systeme. Die Scans nutzen 127.0.0.1; Scapy sendet einmal ein Standard-ICMP-Echo an Google Public DNS zur Antwortübung.
Was passiert ohne Scapy-Antwort?
Das ist bei blockiertem ICMP oder Raw Traffic normal. Das Skript nutzt zwei Sekunden Timeout und behandelt fehlende Antworten; Internet-Erreichbarkeit ist nicht Lernziel.
Sind die Tools produktionsreif?
Nein. Reife Tools ergänzen begrenzte Parallelität, Rate Limits, Diensterkennung, Retries, Wildcard-Antworten, TLS, Validierung, deterministische Ausgabe und Tests.
Bedeutet „Fuzzer“ hier fehlerhafte Payloads?
Nein. Er enumeriert Wortlistenpfade mit normalen GET-Anfragen und HTTP-Codefiltern. Protokollmutation, Payload-Injektion und Speicherkorruption sind nicht enthalten.


