Zum Inhalt

Masscan - High-Speed Port Scanner

generieren
✅ Alle Massaker-Befehle kopiert zu Clipboard!

Masscan ist ein extrem schneller Portscanner, der das gesamte Internet in weniger als 6 Minuten scannt. Es ist asynchron und kann Pakete zu Rate von 10 Millionen Paketen pro Sekunde übertragen, so dass es ideal für groß angelegte Netzwerk-Rekonnaissance und Sicherheitsbewertungen.

Basisnutzung

Einfache Port-Scanning

```bash

Scan single host for specific port

masscan 192.168.1.1 -p80 masscan 192.168.1.1 -p443 masscan 192.168.1.1 -p22

Scan subnet for specific port

masscan 192.168.1.0/24 -p80 masscan 10.0.0.0/8 -p443 masscan 172.16.0.0/12 -p22

Scan multiple ports

masscan 192.168.1.0/24 -p80,443 masscan 192.168.1.0/24 -p80,443,22,21,25 masscan 192.168.1.0/24 -p1-1000

Scan all ports

masscan 192.168.1.0/24 -p1-65535 masscan 192.168.1.0/24 -p0-65535 ```_

Preiskontrolle

```bash

Set transmission rate (packets per second)

masscan 192.168.1.0/24 -p80 --rate 100 masscan 192.168.1.0/24 -p80 --rate 1000 masscan 192.168.1.0/24 -p80 --rate 10000

Maximum rate limiting

masscan 192.168.1.0/24 -p80 --max-rate 1000

Conservative scanning (slow)

masscan 192.168.1.0/24 -p80 --rate 10

Aggressive scanning (fast)

masscan 192.168.1.0/24 -p80 --rate 100000 ```_

Ausgabeformate

Standard Ausgabeformate

```bash

XML output (nmap compatible)

masscan 192.168.1.0/24 -p80 -oX scan_results.xml

Grepable output

masscan 192.168.1.0/24 -p80 -oG scan_results.gnmap

JSON output

masscan 192.168.1.0/24 -p80 -oJ scan_results.json

List output (simple format)

masscan 192.168.1.0/24 -p80 -oL scan_results.list

Binary output (for resuming)

masscan 192.168.1.0/24 -p80 -oB scan_results.binary

Multiple output formats

masscan 192.168.1.0/24 -p80 -oX results.xml -oG results.gnmap -oJ results.json ```_

Produktionsprozess

```bash

Parse XML output

cat scan_results.xml|grep "open"

Parse JSON output

| cat scan_results.json | jq '.[] | select(.ports[].status == "open")' |

Parse list output

cat scan_results.list|grep "open"

Convert to nmap format

masscan 192.168.1.0/24 -p80 -oX results.xml

Then use with nmap scripts: nmap -iL <(grep -oP '(?<=addr=")[^"]*' results.xml) -sV

```_

Erweiterte Scanoptionen

```bash

Enable banner grabbing

masscan 192.168.1.0/24 -p80,443,22,21 --banners

Banner grabbing with specific source port

masscan 192.168.1.0/24 -p80 --banners --source-port 61000

Banner grabbing with rate limiting

masscan 192.168.1.0/24 -p80,443 --banners --rate 1000

Banner grabbing for web services

masscan 192.168.1.0/24 -p80,443,8080,8443 --banners ```_

Netzwerkschnittstellenkonfiguration

```bash

Specify network adapter

masscan 192.168.1.0/24 -p80 --adapter eth0 masscan 192.168.1.0/24 -p80 --adapter wlan0

Set adapter IP address

masscan 192.168.1.0/24 -p80 --adapter-ip 192.168.1.100

Set adapter MAC address

masscan 192.168.1.0/24 -p80 --adapter-mac 00:11:22:33:44:55

Set router MAC address

masscan 192.168.1.0/24 -p80 --router-mac 00:11:22:33:44:55 ```_

Quelle Konfiguration

```bash

Specify source IP address

masscan 192.168.1.0/24 -p80 --source-ip 192.168.1.100

Specify source port

masscan 192.168.1.0/24 -p80 --source-port 61000

Random source port

masscan 192.168.1.0/24 -p80 --source-port 60000-65000

Multiple source IPs

masscan 192.168.1.0/24 -p80 --source-ip 192.168.1.100,192.168.1.101 ```_

Timing und Performance

Anschluss Timing

```bash

Set connection timeout (seconds)

masscan 192.168.1.0/24 -p80 --connection-timeout 30 masscan 192.168.1.0/24 -p80 --connection-timeout 10

Set wait time after scan completion

masscan 192.168.1.0/24 -p80 --wait 3 masscan 192.168.1.0/24 -p80 --wait 10

Set number of retries

masscan 192.168.1.0/24 -p80 --retries 3 masscan 192.168.1.0/24 -p80 --retries 1 ```_

Leistungsoptimierung

```bash

High-performance scanning

masscan 192.168.1.0/24 -p80 --rate 100000 --connection-timeout 5 --retries 1

Balanced performance

masscan 192.168.1.0/24 -p80 --rate 10000 --connection-timeout 10 --retries 2

Conservative scanning

masscan 192.168.1.0/24 -p80 --rate 1000 --connection-timeout 30 --retries 3 ```_

Großes Scannen

Internet-Wide Scanning

```bash

Scan entire IPv4 space for HTTP

masscan 0.0.0.0/0 -p80 --rate 1000

Scan for common web ports

masscan 0.0.0.0/0 -p80,443,8080,8443 --rate 10000

Scan for common services

masscan 0.0.0.0/0 -p80,443,22,21,25,53,110,143,993,995 --rate 5000

Scan specific regions

masscan 8.8.0.0/16 -p80,443 --rate 1000 # Google's range masscan 1.1.0.0/16 -p80,443 --rate 1000 # Cloudflare's range ```_

Private Netzwerk-Scanning

```bash

Scan all RFC 1918 networks

masscan 10.0.0.0/8 -p80,443,22 --rate 10000 masscan 172.16.0.0/12 -p80,443,22 --rate 10000 masscan 192.168.0.0/16 -p80,443,22 --rate 10000

Scan common enterprise ranges

masscan 10.0.0.0/8 -p80,443,22,21,25,53,135,139,445 --rate 5000 ```_

Stealth und Randomization

Host Randomization

```bash

Randomize host order

masscan 192.168.1.0/24 -p80 --randomize-hosts

Set random seed for reproducible results

masscan 192.168.1.0/24 -p80 --seed 12345

Combine randomization with rate limiting

masscan 192.168.1.0/24 -p80 --randomize-hosts --rate 100 ```_

Stealth Techniques

```bash

Slow scan to avoid detection

masscan 192.168.1.0/24 -p80 --rate 10 --randomize-hosts

Use common source port

masscan 192.168.1.0/24 -p80 --source-port 53 # DNS masscan 192.168.1.0/24 -p80 --source-port 80 # HTTP

Fragmented scanning

masscan 192.168.1.0/24 -p80 --rate 100 --wait 5 ```_

Ausschlüsse und Filterung

Ziele ausschließen

```bash

Exclude single host

masscan 192.168.1.0/24 -p80 --exclude 192.168.1.1

Exclude multiple hosts

masscan 192.168.1.0/24 -p80 --exclude 192.168.1.1,192.168.1.2

Exclude from file

echo "192.168.1.1" > exclude.txt echo "192.168.1.2" >> exclude.txt masscan 192.168.1.0/24 -p80 --excludefile exclude.txt

Exclude ranges

masscan 192.168.1.0/24 -p80 --exclude 192.168.1.1-192.168.1.10 ```_

Ziellisten

```bash

Scan from target file

echo "192.168.1.1" > targets.txt echo "192.168.1.2" >> targets.txt masscan -iL targets.txt -p80

Combine ranges and files

masscan 192.168.1.0/24 -iL additional_targets.txt -p80 ```_

IPv6 Scanning

IPv6 Adressbereiche

```bash

Scan IPv6 subnet

masscan 2001:db8::/32 -p80,443

Scan entire IPv6 space (be very careful!)

masscan ::0/0 -p80 --rate 1000

Scan specific IPv6 addresses

masscan 2001:db8::1 -p80,443,22

Scan IPv6 with rate limiting

masscan 2001:db8::/64 -p80,443 --rate 100 ```_

Konfigurationsdateien

Erstellung von Konfigurationsdateien

```bash

Generate configuration template

masscan --echo > masscan.conf

Edit configuration file

masscan.conf example:

rate = 1000

output-format = xml

output-filename = scan_results.xml

ports = 80,443,22

range = 192.168.1.0/24

Use configuration file

masscan -c masscan.conf ```_

Wiederaufnahme der Funktionalität

```bash

Create resumable scan

masscan 192.168.1.0/24 -p1-65535 --rate 1000 -oB scan.binary

Resume interrupted scan

masscan --resume scan.binary

Resume with different parameters

masscan --resume scan.binary --rate 2000 ```_

Integration mit anderen Tools

Kombination mit Nmap

```bash

Use masscan for discovery, nmap for detailed scanning

masscan 192.168.1.0/24 -p80,443 --rate 1000 -oL live_hosts.txt nmap -iL live_hosts.txt -sV -sC

Extract IPs from masscan XML output

masscan 192.168.1.0/24 -p80 -oX results.xml grep -oP '(?<=addr=")[^"]*' results.xml > live_ips.txt nmap -iL live_ips.txt -sV ```_

Verarbeitungsergebnisse

```bash

Count open ports

masscan 192.168.1.0/24 -p1-1000 -oL results.txt grep "open" results.txt|wc -l

Extract unique IPs

masscan 192.168.1.0/24 -p80,443 -oL results.txt | grep "open" results.txt | awk '\\{print $4\\}' | sort -u |

Create target list for further scanning

masscan 192.168.1.0/24 -p80 -oL results.txt grep "open" results.txt|awk '\\{print $4\\}' > web_servers.txt ```_

Praktische Beispiele

Web Server Discovery

```bash

Find web servers in network

masscan 192.168.1.0/24 -p80,443,8080,8443,8000,8888 --rate 1000

Find web servers with banners

masscan 192.168.1.0/24 -p80,443 --banners --rate 500

Comprehensive web service scan

masscan 192.168.1.0/24 -p80,443,8080,8443,8000,8888,9000,9090 --banners --rate 1000 ```_

Service Discovery

```bash

Find SSH servers

masscan 192.168.1.0/24 -p22 --banners --rate 1000

Find mail servers

masscan 192.168.1.0/24 -p25,110,143,993,995 --rate 1000

Find database servers

masscan 192.168.1.0/24 -p3306,5432,1433,1521,27017 --rate 1000

Find file sharing services

masscan 192.168.1.0/24 -p21,22,139,445,2049 --rate 1000 ```_

Sicherheitsbewertung

```bash

Quick network overview

masscan 192.168.1.0/24 -p1-1000 --rate 5000 -oX quick_scan.xml

Comprehensive service discovery

masscan 192.168.1.0/24 -p1-65535 --rate 2000 --banners -oX full_scan.xml

Focus on common vulnerable services

masscan 192.168.1.0/24 -p21,22,23,25,53,80,110,111,135,139,143,443,445,993,995,1433,3306,3389,5432 --banners --rate 1000 ```_

Leistung Tuning

Preisoptimierung

```bash

Test network capacity

masscan 192.168.1.1 -p80 --rate 1000 # Start conservative masscan 192.168.1.1 -p80 --rate 10000 # Increase gradually masscan 192.168.1.1 -p80 --rate 100000 # Maximum performance

Adjust based on network conditions

Local network: --rate 10000-100000

WAN: --rate 1000-10000

Internet: --rate 100-1000

```_

Speicher und CPU Optimierung

```bash

Reduce memory usage for large scans

masscan 0.0.0.0/0 -p80 --rate 1000 --connection-timeout 5 --retries 1

Balance CPU and network usage

masscan 192.168.1.0/24 -p1-65535 --rate 5000 --wait 1 ```_

Fehlerbehebung und Fehlerbehebung

Gemeinsame Themen

```bash

Permission errors (need root for raw sockets)

sudo masscan 192.168.1.0/24 -p80

Network interface issues

masscan --echo|grep adapter masscan 192.168.1.0/24 -p80 --adapter eth0

Rate limiting issues

masscan 192.168.1.0/24 -p80 --rate 100 # Reduce rate

Timeout issues

masscan 192.168.1.0/24 -p80 --connection-timeout 30 # Increase timeout ```_

Debugging

```bash

Verbose output

masscan 192.168.1.0/24 -p80 --echo

Test configuration

masscan --selftest

Check network configuration

| masscan --echo | grep -E "(adapter | router-mac | source-ip)" | ```_

Sicherheitsüberlegungen

Rechtlicher und ethischer Gebrauch

  • Nur Scan-Netzwerke, die Sie besitzen oder haben ausdrückliche Erlaubnis zu testen
  • Beachten Sie die lokalen Gesetze und Vorschriften zur Netzwerkscannung
  • Betrachten Sie die Auswirkungen auf die Netzleistung und die Verfügbarkeit
  • Dokumentieren Sie Ihre Scanaktivitäten für die Compliance

Defensive Maßnahmen

```bash

Detect masscan activity (on target systems)

Look for high-rate SYN packets from single source

| netstat -an | grep SYN_RECV | wc -l |

Monitor for scanning patterns

tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0'|head -100 ```_

Best Practices

Scannen von Strategie

  1. Starten Sie mit kleinen Subnetzen zur Testleistung
  2. Benutzen Sie eine entsprechende Rate Begrenzung für Ihr Netzwerk
  3. Ergebnisse in mehreren Formaten für die Analyse speichern
  4. Kombinieren Sie mit anderen Instrumenten zur umfassenden Bewertung
  5. Dokumentation Ihrer Methodik und Ergebnisse

Leistungsleitlinien

  • Lokale Netzwerke: Verwenden Sie hohe Preise (10.000-100.000 pps)
  • Fernnetze: Verwenden Sie moderate Preise (1.000-10.000 pps)
  • Internet-Scanning: Konservierungsraten verwenden (100-1.000 pps)
  • Testen Sie immer mit kleinen Bereichen zuerst

Produktionsmanagement

  • Deskriptive Dateinamen mit Zeitstempeln verwenden
  • Speichern Sie in mehreren Formaten für verschiedene Analysetools
  • Komprimieren Sie große Ausgabedateien, um Platz zu sparen
  • Wichtige Scanergebnisse sichern

Masscan ist ein unglaublich leistungsfähiges Werkzeug für die Netzwerkaufklärung und Sicherheitsbewertung. Seine Geschwindigkeit macht es ideal für großflächiges Scannen, aber diese Kraft muss verantwortungsvoll und ethisch genutzt werden. Stellen Sie immer sicher, dass Sie eine ordnungsgemäße Berechtigung vor dem Scannen von Netzwerken haben, und beachten Sie die Auswirkungen, die Ihr Scannen auf Netzwerkleistung und Sicherheitsüberwachungssysteme haben kann.