Masscan ist ein Netzwerk-Scanning-Tool, das für die schnelle Erkundung von Netzwerken eingesetzt wird. Es arbeitet ähnlich wie Nmap, fokussiert sich jedoch auf sehr hohe Scan-Geschwindigkeiten. Der Beitrag zeigt die Möglichkeiten des Tools.
Zur Absicherung von Netzwerken gehört auch der regelmäßige Check auf offene Ports. Das Tool Masscan kann hier helfen.
(Bild: bitano - stock.adobe.com / KI-generiert)
Masscan kann Millionen von IP-Adressen innerhalb kurzer Zeit scannen, was es für große Netzwerke oder das Auffinden von offenen Ports in globalen IP-Bereichen geeignet macht. Es sendet rohe Pakete direkt über den Netzwerkstack und nutzt asynchrone Scanning-Methoden, um eine hohe Effizienz zu erzielen. Das Tool lässt sich manuell installieren, steht aber auch in Kali direkt zur Verfügung.
Bildergalerie
Verwendung von Masscan
Ein typisches Anwendungsbeispiel für Masscan ist das Scannen eines bestimmten IP-Bereichs auf offene Ports. Dies wird wie folgt durchgeführt:
masscan -p80,443 192.168.1.0/24
Dieser Befehl scannt das gesamte Subnetz 192.168.1.0/24 auf offene Ports 80 und 443. Das Tool gibt für jede gefundene offene Verbindung die IP-Adresse und den offenen Port aus. Die Ausführung muss mit Root-Rechten erfolgen.
Masscan bietet umfassende Möglichkeiten zur Steuerung der Scan-Geschwindigkeit. Dies ist insbesondere bei Netzwerken mit begrenzter Bandbreite oder bei der Vermeidung von Überlastungen wichtig. Der folgende Befehl zeigt, wie die Scan-Rate eingestellt werden kann:
masscan -p22 10.0.0.0/8 --rate 1000
Dieser Scan führt 1000 Pakete pro Sekunde aus, was eine moderate Geschwindigkeit darstellt. Ohne eine explizite Rate-Einstellung scannt Masscan mit der maximal möglichen Geschwindigkeit, was in vielen Netzwerken jedoch zu Paketverlusten führen kann.
Ausgaben von Masscan speichern und IP-Bereiche ausschließen
Masscan erlaubt die Ausgabe in verschiedenen Formaten, zu Beispiel im XML-Format, um die Ergebnisse später weiterzuverarbeiten:
masscan -p80 192.168.1.0/24 -oX output.xml
In diesem Beispiel werden die Scan-Ergebnisse in eine XML-Datei gespeichert. Ein weiteres häufiges Anwendungsszenario ist der Ausschluss bestimmter IP-Bereiche, um Fehlalarme oder den Scan von unerwünschten Zielen zu vermeiden:
Dieser Befehl schließt die IP-Adressen 192.168.1.5 und 192.168.1.10 aus dem Scan aus.
Masscan ermöglicht zudem den Scan von TCP-Flags, um spezifische Zustände von Hosts zu identifizieren. Ein Beispiel dafür ist der Scan auf SYN-ACK-Flags:
masscan -p80 192.168.1.0/24 --banners
Dieser Befehl ermöglicht es, neben dem einfachen Scan auch zusätzliche Informationen, wie zum Beispiel Banner oder Dienstversionen, zu erhalten.
Masscan ermöglicht es auch, einen Scan zeitlich zu limitieren. Dies ist nützlich, wenn nur eine bestimmte Zeit für die Netzwerkerkundung zur Verfügung steht oder wenn die Netzwerkbelastung in einem eng definierten Zeitrahmen minimiert werden soll. Das Zeitlimit kann wie folgt gesetzt werden:
Hier wird ein Netzwerk mit einem Adressbereich von 10.0.0.0/8 auf SSH-Port 22 gescannt. Die maximale Geschwindigkeit beträgt 10.000 Pakete pro Sekunde, und der Scan stoppt nach genau einer Stunde (3600 Sekunden).
Vermeidung von Erkennungen durch IDS/IPS-Systeme
Masscan erlaubt es, die Paketrate auf ein Maß zu drosseln, das von Intrusion Detection Systemen (IDS) oder Intrusion Prevention Systemen (IPS) schwieriger zu erkennen ist. Das folgende Beispiel zeigt, wie eine geringe Rate für diesen Zweck eingestellt wird:
Dieser Befehl scannt das Netzwerk 192.168.0.0/16 auf Ports 80 und 443, jedoch mit einer reduzierten Geschwindigkeit von 100 Paketen pro Sekunde. Die Option --randomize-hosts sorgt dafür, dass die Hosts zufällig statt sequenziell gescannt werden, was die Wahrscheinlichkeit verringert, dass die Scans durch Abwehrsysteme erkannt werden.
In Netzwerken mit aktiven Intrusion Detection oder Prevention Systemen kann die Erkennung von Scans durch fragmentierte Pakete erschwert werden. Masscan erlaubt es, Pakete zu fragmentieren, um solche Systeme zu umgehen:
masscan -p80 192.168.1.0/24 --fragment
Durch die Option --fragment werden die Pakete in kleinere Teile aufgeteilt, was es IDS- und IPS-Systemen erschwert, die Scan-Aktivitäten zu erkennen.
Scannen mit mehreren IP-Adressen als Quell-IP
Für erweiterte Szenarien, in denen die Quell-IP beim Scan verändert werden soll, um nicht als einzelner Absender erkannt zu werden, kann Masscan so konfiguriert werden, dass es unterschiedliche Quell-IP-Adressen verwendet:
Dieser Befehl setzt die Quell-IP-Adresse des Scans auf 192.168.2.1 und verwendet den Quellport 60000. Diese Funktion ist nützlich, um Lasten gleichmäßig zu verteilen oder Sicherheitsmechanismen zu umgehen, die auf bestimmte Quelladressen oder Ports fokussiert sind.
Masscan ermöglicht das gleichzeitige Scannen mehrerer Ports bei unterschiedlichen Geschwindigkeiten, indem für jeden Port individuelle Ratenbeschränkungen festgelegt werden. So kann man kritische Ports langsamer scannen, während weniger riskante Ports schneller gescannt werden:
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Dieser Befehl scannt das Netzwerk 192.168.0.0/16 auf Port 80 mit 1000 Paketen pro Sekunde, auf Port 22 mit 100 Paketen pro Sekunde und auf Port 25 mit 500 Paketen pro Sekunde. Dies erlaubt es, die Netzwerklast für kritische Ports zu minimieren, während andere Ports schneller gescannt werden.
Verwendung von spezifischen Netzwerk-Interfaces
In komplexen Netzwerken mit mehreren Netzwerkschnittstellen kann Masscan so konfiguriert werden, dass es ein bestimmtes Interface verwendet. Dies ist nützlich, um sicherzustellen, dass der Scan über das richtige Netzwerksegment durchgeführt wird:
masscan -p22 10.0.0.0/8 --interface eth1
Dieser Befehl scannt den Port 22 im Netzwerk 10.0.0.0/8 unter Verwendung der Netzwerkschnittstelle eth1. Dies ist besonders in Umgebungen relevant, in denen mehrere Netzwerkschnittstellen vorhanden sind, etwa in DMZs oder bei Multi-Homed-Servern.
Scannen mit angepasster TTL (Time to Live)
Masscan erlaubt es, die TTL (Time to Live) für die gesendeten Pakete anzupassen, was zur Manipulation von Paketwegen oder zur Analyse von Netzwerkgeräten genutzt werden kann:
masscan -p80 192.168.1.0/24 --ttl 128
Dieser Befehl setzt die TTL der Pakete auf 128, was bedeutet, dass Pakete maximal 128 Hops durchlaufen können, bevor sie verworfen werden. Durch die Anpassung der TTL kann man gezielt untersuchen, wie weit Pakete in einem Netzwerk gelangen oder wie Netzwerkgeräte auf Pakete mit bestimmten TTL-Werten reagieren.
Scannen bestimmter IP-Protokolle
Neben dem Scannen von TCP-Ports unterstützt Masscan auch das Scannen von IP-Protokollen, was nützlich ist, um Netzwerkgeräte und deren Reaktion auf spezielle Protokolle zu testen:
masscan --protocols 1,6,17 192.168.1.0/24
In diesem Beispiel wird das Subnetz 192.168.1.0/24 auf die IP-Protokolle ICMP (1), TCP (6) und UDP (17) gescannt. Dies ist hilfreich, um herauszufinden, welche Protokolle in einem Netzwerk erlaubt sind oder blockiert werden.
Broadcast-Scanning für lokale Netze
In einem LAN kann Masscan auch verwendet werden, um Broadcast-Adressen zu scannen und so Geräte zu identifizieren, die auf Broadcast-Anfragen reagieren:
Dieser Befehl scannt die Broadcast-Adresse auf den Ports 67 und 68 (DHCP), um zu prüfen, welche Geräte im Netzwerk auf DHCP-Anfragen reagieren. Die Verwendung von Broadcast-Scanning kann zur Identifizierung von Netzwerkgeräten ohne explizite IP-Zuweisung genutzt werden.
Scannen mit IP- und Port-Range
Masscan erlaubt die Kombination von IP- und Port-Bereichen, um gezielte Scans über mehrere Netzwerke und Portgruppen hinweg durchzuführen. Dies ist nützlich in Umgebungen, in denen sowohl große Adressbereiche als auch viele Ports gleichzeitig gescannt werden müssen:
Dieser Befehl scannt den gesamten Adressbereich von 192.168.0.0 bis 192.168.255.255 auf die Ports 20 bis 25, 80 und 443. Diese Art von Scan eignet sich für Netzwerke mit dynamisch vergebenen IP-Adressen, bei denen eine umfassende Port-Erkundung durchgeführt werden muss.
Scannen mit angepasster MTU (Maximum Transmission Unit)
In bestimmten Netzwerken kann es notwendig sein, die MTU zu verringern, um eine bessere Kompatibilität mit Netzwerkswitches oder Routern zu gewährleisten, die Pakete über einer bestimmten Größe fragmentieren. Masscan unterstützt das Anpassen der MTU:
masscan -p80 192.168.1.0/24 --mtu 1200
Dieser Befehl reduziert die maximale Paketgröße (MTU) auf 1200 Bytes. Masscan erlaubt es auch, Scans mit einer definierten Verzögerung zu starten, was in Situationen sinnvoll ist, in denen der Scan zu einem späteren Zeitpunkt oder nicht zu Lastspitzenzeiten beginnen soll:
masscan -p22 192.168.1.0/24 --wait 3600
In diesem Beispiel wird der Scan nach einer Verzögerung von einer Stunde (3600 Sekunden) gestartet. Diese Funktion ist praktisch, wenn die Scan-Aktivitäten zu einem bestimmten Zeitpunkt durchgeführt werden müssen, etwa nach Wartungsfenstern oder außerhalb der Geschäftszeiten.