Exécuter un scan de ports à haute vitesse
Maintenant que Masscan est installé et que vos cibles sont définies, vous êtes prêt à effectuer un balayage de ports. Dans cette étape, vous allez lancer un scan de démonstration sur des ports courants en utilisant les plages IP définies précédemment.
Assurez-vous d'être dans le répertoire ~/project où se trouve votre fichier targets.txt.
cd ~/project
Exécutez la commande masscan suivante. Cette commande nécessite sudo car Masscan utilise des "raw sockets" pour envoyer des paquets, ce qui requiert des privilèges élevés.
sudo masscan -p22,80,443,8080 -iL targets.txt --rate 1000 -oG scan_results.gnmap
Analysons les options de cette commande :
-p22,80,443,8080 : Spécifie les ports courants à scanner (SSH, HTTP, HTTPS et un port HTTP alternatif). Cette approche ciblée assure une fin de scan plus rapide.
-iL targets.txt : Indique à Masscan de lire les plages IP cibles depuis le fichier targets.txt.
--rate 1000 : Définit le taux de transmission à 1000 paquets par seconde. C'est un débit sûr pour un environnement de laboratoire.
-oG scan_results.gnmap : Enregistre la sortie au format "grepable" dans un fichier nommé scan_results.gnmap. Ce format est facile à analyser avec des outils en ligne de commande.
Pendant l'exécution, Masscan affichera sa progression. Avec nos petites plages cibles, le scan devrait durer moins d'une minute.
Starting masscan 1.3.9-integration (http://bit.ly/14GZzcT) at 2025-08-29 03:20:16 GMT
Initiating SYN Stealth Scan
Scanning 768 hosts [4 ports/host]
Une fois le scan terminé, un nouveau fichier nommé scan_results.gnmap apparaîtra dans votre répertoire. Vous pouvez consulter son contenu avec la commande cat.
cat scan_results.gnmap
La sortie listera tous les hôtes trouvés avec des ports ouverts. Comme nous scannons des plages privées restreintes dans un environnement de conteneurs, vous pourriez trouver des ports ouverts sur le réseau bridge de Docker. Les ports découverts apparaîtront sous un format similaire à celui-ci :
## Masscan 1.3.9-integration scan initiated Fri Aug 29 03:20:16 2025
## Ports scanned: TCP(4;22-22,80-80,443-443,8080-8080) UDP(0;) SCTP(0;) PROTOCOLS(0;)
Timestamp: 1756437619 Host: 172.17.0.1 () Ports: 22/open/tcp//ssh//
## Masscan done at Fri Aug 29 03:20:31 2025
Les résultats montrent que nous avons scanné 768 hôtes sur 4 ports spécifiques (22, 80, 443, 8080) en environ 15 secondes. Dans cet exemple, Masscan a trouvé un port ouvert : SSH (port 22) sur la passerelle du bridge Docker à l'adresse 172.17.0.1. Cela démontre la capacité de Masscan à découvrir rapidement des services actifs.
Points clés sur le format de sortie :
- L'horodatage (Timestamp) indique quand chaque découverte a été faite.
- Le format
Host: IP () Ports: port/status/protocol//service// permet une identification claire du service.
- Masscan a détecté le service SSH sur le bridge Docker, ce qui est un résultat classique dans les environnements conteneurisés.