unicornscan

Scanner réseau asynchrone haute vitesse. Utilise le scan TCP sans état pour une découverte de ports extrêmement rapide sur de larges plages d'IP, capable de scanner des millions de ports par seconde. Asynchronous high-speed network scanner. Uses stateless TCP scanning for extremely fast port discovery across large IP ranges — can scan millions of ports per second.

↗ https://github.com/dnewman/unicornscan

Overview

Unicornscan is an asynchronous network scanner that decouples the sending and receiving of probes for maximum speed. It’s designed for large-scale port scanning and network discovery — scanning entire /8 ranges in reasonable time using stateless SYN scanning.

Basic Usage

TCP SYN scan of a host

unicornscan 10.10.10.1

Scan specific ports

unicornscan 10.10.10.1:80,443,8080

Scan port range

unicornscan 10.10.10.1:1-1024

UDP scan

unicornscan -m U 10.10.10.1:53,161,162

Verbose output

unicornscan -v 10.10.10.1

Scan Options

Set packet rate (packets per second)

unicornscan -r 500 10.10.10.1

High-speed scan

unicornscan -r 10000 10.10.10.0/24

Scan with service detection

unicornscan -I 10.10.10.1:1-65535

Set response wait time

unicornscan -w 20 10.10.10.1

Interface selection

unicornscan -i eth0 10.10.10.1

Network Scanning

Scan entire /24

unicornscan 192.168.1.0/24

Scan common ports on /24

unicornscan 192.168.1.0/24:22,80,443,445,3389

Fast full port scan on single host

unicornscan -r 500 10.10.10.1:1-65535

Scan with timing

unicornscan -r 300 -w 10 192.168.1.0/24:1-1024

Output Formats

Save to file

unicornscan 10.10.10.1 > scan.txt

XML output

unicornscan -X -o scan.xml 10.10.10.1

Greppable output

unicornscan -v 10.10.10.1 2>&1 | grep "open"

Combining with nmap

Use unicornscan for fast discovery, nmap for service detection Step 1: Fast port discovery

unicornscan -r 1000 10.10.10.1:1-65535 2>&1 | \
  grep "open" | awk -F'[[ ]' '{print $4}' | cut -d'/' -f1 | sort -n > ports.txt
# Step 2: Detailed nmap scan on open ports
PORTS=$(cat ports.txt | tr '\n' ',')
nmap -sV -sC -p $PORTS 10.10.10.1

Tips

  • Much faster than nmap for initial discovery of large IP ranges
  • Stateless scanning means no connection tracking — be careful with rate limits
  • Use lower rates (-r 300) on networks you don’t control to avoid disruption
  • The async design means all ports/hosts are sent simultaneously — tune -w (wait) for slow networks
  • For comprehensive results, follow up unicornscan findings with nmap -sV
Help / Man page
unicornscan [options] target[:ports]

-m MODE     Scan mode: T (TCP SYN), U (UDP), A (TCP+UDP)
-i IFACE    Network interface
-r RATE     Packets per second
-w SECS     Wait time for responses (default: 2)
-I          Enable immediate mode
-X          XML output
-o FILE     Output file
-v          Verbose
-d          Debug

Ports: 1-1024 or 80,443,8080 or 1-65535

Vue d’ensemble

Unicornscan est un scanner réseau asynchrone qui découple l’envoi et la réception des sondes pour une vitesse maximale. Il est conçu pour le scan de ports à grande échelle et la découverte réseau : scanner des plages entières de /8 en un temps raisonnable grâce au scan SYN sans état.

Utilisation de base

# Scan TCP SYN d'un hôte
unicornscan 10.10.10.1

# Scanner des ports spécifiques
unicornscan 10.10.10.1:80,443,8080

# Scanner une plage de ports
unicornscan 10.10.10.1:1-1024

# Scan UDP
unicornscan -m U 10.10.10.1:53,161,162

# Sortie verbeuse
unicornscan -v 10.10.10.1

Options de scan

# Définir le débit de paquets (paquets par seconde)
unicornscan -r 500 10.10.10.1

# Scan haute vitesse
unicornscan -r 10000 10.10.10.0/24

# Scan avec détection de service
unicornscan -I 10.10.10.1:1-65535

# Définir le temps d'attente de réponse
unicornscan -w 20 10.10.10.1

# Sélection d'interface
unicornscan -i eth0 10.10.10.1

Scan réseau

# Scanner un /24 entier
unicornscan 192.168.1.0/24

# Scanner les ports courants sur un /24
unicornscan 192.168.1.0/24:22,80,443,445,3389

# Scan rapide de tous les ports sur un seul hôte
unicornscan -r 500 10.10.10.1:1-65535

# Scan avec timing
unicornscan -r 300 -w 10 192.168.1.0/24:1-1024

Formats de sortie

# Sauvegarder dans un fichier
unicornscan 10.10.10.1 > scan.txt

# Sortie XML
unicornscan -X -o scan.xml 10.10.10.1

# Sortie greppable
unicornscan -v 10.10.10.1 2>&1 | grep "open"

Combinaison avec nmap

Utiliser unicornscan pour une découverte rapide, nmap pour la détection de service. Étape 1 : découverte rapide de ports

unicornscan -r 1000 10.10.10.1:1-65535 2>&1 | \
  grep "open" | awk -F'[[ ]' '{print $4}' | cut -d'/' -f1 | sort -n > ports.txt
# Étape 2 : scan nmap détaillé sur les ports ouverts
PORTS=$(cat ports.txt | tr '\n' ',')
nmap -sV -sC -p $PORTS 10.10.10.1

Conseils

  • Bien plus rapide que nmap pour la découverte initiale de larges plages d’IP
  • Le scan sans état signifie pas de suivi de connexion : attention aux limites de débit
  • Utiliser des débits plus faibles (-r 300) sur des réseaux que vous ne contrôlez pas pour éviter les perturbations
  • La conception asynchrone signifie que tous les ports/hôtes sont envoyés simultanément : ajuster -w (attente) pour les réseaux lents
  • Pour des résultats complets, poursuivre les résultats d’unicornscan avec un nmap -sV
Aide / Page de manuel
unicornscan [options] target[:ports]

-m MODE     Scan mode: T (TCP SYN), U (UDP), A (TCP+UDP)
-i IFACE    Network interface
-r RATE     Packets per second
-w SECS     Wait time for responses (default: 2)
-I          Enable immediate mode
-X          XML output
-o FILE     Output file
-v          Verbose
-d          Debug

Ports: 1-1024 or 80,443,8080 or 1-65535