
Ein Python-Tool, das interaktive React-basierte HTML-Visualisierungen aus masscan-JSON-Ausgabe generiert, mit einem D3.js-Kraft-gesteuerten Netzwerkgraphen.
Ein Python-Tool, das interaktive, React-basierte HTML-Visualisierungen aus Masscan-JSON-Ausgaben erstellt – mit einem D3.js-Kraft-basierten Netzwerkgraphen.

:, um nur nach Ports zu suchen (z. B. :443)* für Mustersuche (z. B. :*443, :80*, :*8*)# Repository klonen oder herunterladen
cd masscan_report
# Abhängigkeiten installieren (optional, nur für PDF-Erstellung in der Entwicklung benötigt)
pip install pyinstaller # Nur, wenn eine EXE gebaut werden soll
Lade masscan_report.exe aus dem dist/-Ordner herunter – keine Python-Installation erforderlich.
# Mit Python
python masscan_report.py <input_json> [-o output.html]
# Mit der ausführbaren Datei
masscan_report.exe <input_json> [-o output.html]
# Bericht mit Standardausgabe erstellen (report.html)
python masscan_report.py scans/home.json
# Benutzerdefinierte Ausgabedatei festlegen
python masscan_report.py scans/network_scan.json -o network_report.html
# Mit der ausführbaren Datei
.\dist\masscan_report.exe .\scans\home.192.168.10000.json
Das Tool erwartet das JSON-Ausgabeformat von masscan:
[
{"ip": "192.168.1.1", "timestamp": "1234567890", "ports": [
{"port": 80, "proto": "tcp", "status": "open", "reason": "syn-ack", "ttl": 64}
]},
{"ip": "192.168.1.1", "timestamp": "1234567891", "ports": [
{"port": 443, "proto": "tcp", "status": "open", "reason": "syn-ack", "ttl": 64}
]}
]
Dies mit masscan erzeugen:
masscan 192.168.1.0/24 -p1-65535 --rate 1000 -oJ scan_results.json
masscan_report/
├── masscan_report.py # Hauptskript
├── port_descriptions.py # Portdatenbank (6700+ Zeilen)
├── scans/ # Beispiel-Scandateien
│ ├── home.json
│ └── home.192.168.10000.json
├── dist/
│ └── masscan_report.exe # Standalone-Ausführbare Datei
├── report.html # Generierte Ausgabe
└── README.md
## Portbeschreibungsdatenbank
Die `port_descriptions.py` enthält detaillierte Informationen zu über 130 gängigen Ports, darunter:
- Dienstname und -beschreibung
- Technische Details
- Sicherheitsrisikobewertung
- Dokumentationslinks
## Erstellen der ausführbaren Datei
```bash
pip install pyinstaller
pyinstaller --onefile --name masscan_report --add-data "port_descriptions.py;." masscan_report.py
Die ausführbare Datei wird in dist/masscan_report.exe erstellt.
MIT-Lizenz
Beiträge sind willkommen! Du kannst gerne Issues und Pull-Requests einreichen.
| Aktion | Effekt |
|---|
| Knoten klicken (Graph) | Info-Modal öffnen |
| Host klicken (Seitenleiste) | Host und Ports hervorheben |
| Knoten ziehen | Knoten positionieren |
| Mausrad | Herein-/Herauszoomen |
| Klicken + ziehen (Hintergrund) | Ansicht verschieben |
| 🔄 Ansicht zurücksetzen | Zoom und Position zurücksetzen |
| ⚡ Neustarten | Kraftsimulation neu aktivieren |
| 📄 PDF exportieren | PDF-Bericht erstellen |
| Muster | Ergebnisse |
|---|
192.168 | IPs, die "192.168" enthalten |
:443 | Exakt Port 443 |
:*443 | Ports, die mit 443 enden (z. B. 8443) |
:443* | Ports, die mit 443 beginnen |
:*8* | Ports, die 8 enthalten (z. B. 80, 8080, 443) |