Zurück zu den Updates
New releaseSep 9, 2026

unimap v0.8.0

Nur einmal pro IP-Adresse scannen und Scanzeiten mit Nmap für große Datenmengen reduzieren.

Teilen

Unimap

Scanne nur einmal pro IP-Adresse und reduziere die Scanzeiten mit Nmap bei großen Datenmengen. Unimap ist eine Abkürzung für „Unique Nmap Scan“. Das Tool läuft problemlos unter Linux, OSX, Windows oder Android (Termux).

Warum?

Wenn du planst, mit Nmap eine gesamte Organisation zu scannen, musst du bedenken, dass sicherlich dutzende, hunderte oder sogar tausende Subdomains auf dieselbe IP-Adresse zeigen werden, und es kommt ein Punkt, an dem es fast unmöglich wird, weiterzuscannen. Außerdem kann deine IP gesperrt werden, unter anderem aufgrund mehrerer Scans auf dieselbe Remote-Host-Adresse.

Wie?

Unimap verwendet seine eigene Technologie, um zunächst die IP-Adressen aller Subdomains aufzulösen. Sobald dieser Prozess abgeschlossen ist, erstellt es einen Vektor mit den eindeutigen IP-Adressen und startet einen parallelen Scan mit Nmap entsprechend der Anzahl der Threads, die der Benutzer konfiguriert hat. Gleichzeitig analysiert es die Daten aus den mit Nmap erstellten Dateien, um herauszufinden, welche Informationen zu welcher IP gehören. Schließlich verknüpft Unimap die Informationen jeder der IPs, die mit den Subdomains verbunden sind. Wenn du also zum Beispiel 50 Subdomains hast, die auf dieselbe IP zeigen, führst du nur einen Nmap-Scan durch, hast aber gleichzeitig alle Daten, die mit jeder der Subdomains verbunden sind. Bei einem großen Scan spart das Tage oder Wochen.

Installation

Aus dem Quellcode

Du benötigst Rust (1.88 oder neuer) und Nmap auf deinem Computer installiert, dann führe Folgendes aus:

1. git clone https://github.com/Edu4rdSHL/unimap.git && cd unimap
# Alternativ kannst du eine Version von https://github.com/Edu4rdSHL/unimap/releases/latest herunterladen,
# sie extrahieren und mit dem nächsten Schritt fortfahren.
2. cargo build --release
# Jetzt befindet sich die Binärdatei in ./target/release/unimap
# Der nächste Befehl funktioniert nur unter Linux und MacOS. Windows-Benutzer müssen den Zielpfad in der Umgebungsvariable angeben.
3. cp ./target/release/unimap /usr/local/bin
# Jetzt kannst du den Befehl `unimap` von überall verwenden.

Docker-Unterstützung

Das Image edu4rdshl/unimap wird für linux/amd64 und linux/arm64 bei jeder Veröffentlichung unter latest und der Versionsnummer veröffentlicht:

docker pull edu4rdshl/unimap:latest
docker run --rm edu4rdshl/unimap:latest -t hackerone.com --fast-scan
# Behalte die CSV- und die Nmap-XML-Dateien: Mounte ein Verzeichnis auf /opt/unimap
docker run --rm -v "$(pwd):/opt/unimap" edu4rdshl/unimap:latest -f targets.txt --fast-scan -u results.csv

Siehe docker/README.md, um das Image selbst zu erstellen.

Verwendung vorkompilierter Binärdateien

Lade die neueste Version für dein Betriebssystem herunter und verwende sie.

Verwendung der AUR-Pakete. (Arch Linux)

unimap kann aus verfügbaren AUR-Paketen mit einem AUR-Helfer installiert werden. Zum Beispiel,

$ paru -S unimap

Wenn du es bevorzugst, kannst du die AUR-Pakete klonen und sie dann mit makepkg kompilieren. Zum Beispiel,

git clone https://aur.archlinux.org/unimap.git && cd unimap && makepkg -si

Verwendung

Unimap benötigt Root-/Administratorrechte, um den Nmap TCP SYN (Stealth) Scan zu starten. Wir verwenden ihn aus Gründen der Genauigkeit und Leistung. Wenn du unter Linux oder Linux-basierten Systemen arbeitest, verwende einfach eine Root-Shell oder führe das Tool mit sudo aus. Unter Windows kannst du eine Eingabeaufforderung (CMD) als Administrator öffnen und das Tool wie gewohnt ausführen.

Beispiele

  1. unimap -f targets.txt -u log.csv führt einen vollständigen Scan durch und schreibt die Ausgabe in log.csv.
  2. unimap -f targets.txt --fast-scan -o führt einen schnellen Scan durch und speichert die Logdatei im Ordner logs/.
  3. sudo unimap -f targets.txt --ports "1-1000" --min-rate 5000 scannt Ports von 1-1000 mit Service- und Versionserkennung (wenn du einen schnellen Scan möchtest, verwende das Flag --fast-scan) mit einer min-rate von 5000.

Überlegungen

  • Unimap ist für schnellere Netzwerke (Cloud-VPS) vorkonfiguriert. Wenn du einen Scan in einem Heimnetzwerk durchführst, das nicht viel Kapazität hat, wirst du aufgrund von Netzwerk-Drosselung getrennt.
  • Das bedeutet nicht, dass du Unimap nicht von zu Hause aus verwenden kannst. Passe einfach die Anzahl der --threads und --min-rate an (letzteres ist am wichtigsten).
  • Wir umgehen Nmap in keiner Weise und scannen auch keine Ports selbst. Wir verwenden die richtigen Nmap-Optionen, um die beste Leistung zu erzielen. Nmap ist großartig und der schnellste Portscanner, der derzeit existiert.
  • Wir analysieren die Nmap-Ausgabedaten und geben dir verständlichere Ausgaben, während wir gleichzeitig verhindern, dass du dieselbe IP mehrmals scannst. Das ist unser Hauptziel.

Entwicklung

Führe die Unit- und Integrationstests aus (kein Netzwerk, Root oder Nmap erforderlich):

cargo test

Führe einen kurzen End-to-End-Check aus, der das Docker-Image erstellt und echte Scans gegen scanme.nmap.org startet (benötigt Docker und Internetzugang):

scripts/container-test.sh

Einen Fehler gefunden?

Öffne ein Issue.

Kategorien