Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
masscan — Scanner de ports TCP, envoie des paquets SYN de manière asynchrone, scannant l'ensemble d'Internet en moins de 5 minutes. | Kitploit
Outils/GitHubGitHub/robertdavidgraham/masscan
Sniffing et Analyse de PaquetsReconnaissanceCartographie RéseauScan de PortsCollecte d'InformationsTests d'IntrusionTop en Cartographie Réseau n°2Top en Sniffing et Analyse de Paquets n°17Top en Scan de Ports n°2
25.9k3.2k82il y a 5 moisVérifié par Kitploit
GitHubrobertdavidgraham/masscan

masscan

Scanner de ports TCP, envoie des paquets SYN de manière asynchrone, scannant l'ensemble d'Internet en moins de 5 minutes.

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

unittests

MASSCAN : Scanner de ports IP massif

Ceci est un scanner de ports à l'échelle d'Internet. Il peut scanner l'ensemble d'Internet en moins de 5 minutes, en transmettant 10 millions de paquets par seconde, à partir d'une seule machine.

Son utilisation (paramètres, sortie) est similaire à nmap, le scanner de ports le plus célèbre. En cas de doute, essayez l'une de ces fonctionnalités – les fonctionnalités qui prennent en charge le balayage généralisé de nombreuses machines sont supportées, tandis que le balayage approfondi de machines individuelles ne l'est pas.

En interne, il utilise une transmission asynchrone, similaire aux scanners de ports comme scanrand, unicornscan et ZMap. Il est plus flexible, permettant des plages de ports et d'adresses arbitraires.

NOTE : masscan utilise sa propre pile TCP/IP ad hoc. Toute autre chose qu'un simple scan de ports peut causer un conflit avec la pile TCP/IP locale. Cela signifie que vous devez utiliser soit l'option --src-ip pour exécuter à partir d'une adresse IP différente, soit utiliser --src-port pour configurer les ports source que masscan utilise, puis également configurer le pare-feu interne (comme pf ou iptables) pour protéger ces ports du reste du système d'exploitation.

Cet outil est gratuit, mais envisagez de contribuer financièrement à son développement : Adresse du portefeuille Bitcoin : 1MASSCANaHUiyTtR3bJ2sLGuMw5kDBaj4T

Compilation

Sur Debian/Ubuntu, cela se passe à peu près comme suit. Il n'a vraiment aucune dépendance autre qu'un compilateur C (comme gcc ou clang).

sudo apt-get --assume-yes install git make gcc
git clone https://github.com/robertdavidgraham/masscan
cd masscan
make

Cela place le programme dans le sous-répertoire masscan/bin. Pour l'installer (sur Linux) exécutez :

make install

Le code source se compose de nombreux petits fichiers, donc la compilation est beaucoup plus rapide en utilisant la compilation multi-thread. Cela nécessite plus de 2 Go sur un Raspberry Pi (et plante), donc vous pouvez utiliser un nombre plus petit, comme -j4 plutôt que tous les threads possibles.

make -j

Bien que Linux soit la plateforme cible principale, le code fonctionne bien sur de nombreux autres systèmes (Windows, macOS, etc.). Voici quelques informations de compilation supplémentaires :

  • Windows avec Visual Studio : utilisez le projet VS10
  • Windows avec MinGW : tapez simplement make
  • Windows avec cygwin : ne fonctionnera pas
  • Mac OS X avec XCode : utilisez le projet XCode4
  • Mac OS X en ligne de commande : tapez simplement make
  • FreeBSD : tapez gmake
  • autres : essayez de compiler tous les fichiers ensemble, cc src/*.c -o bin/masscan

Sur macOS, les binaires x86 semblent fonctionner aussi rapidement sous émulation ARM.

Utilisation

L'utilisation est similaire à nmap. Pour scanner un segment réseau pour certains ports :

# masscan -p80,8000-8100 10.0.0.0/8 2603:3001:2d00:da00::/112

Cela va :

  • scanner le sous-réseau 10.x.x.x et les sous-réseaux 2603:3001:2d00:da00::x
  • scanner le port 80 et la plage 8000 à 8100, soit 102 ports au total, sur les deux sous-réseaux
  • afficher la sortie sur <stdout> qui peut être redirigée vers un fichier

Pour voir la liste complète des options, utilisez la fonction --echo. Cela vide la configuration actuelle et quitte. Cette sortie peut être utilisée comme entrée dans le programme :

# masscan -p80,8000-8100 10.0.0.0/8 2603:3001:2d00:da00::/112 --echo > xxx.conf
# masscan -c xxx.conf --rate 1000

Vérification des bannières

Masscan peut faire plus que simplement détecter si les ports sont ouverts. Il peut également compléter la connexion TCP et l'interaction avec l'application sur ce port pour récupérer de simples informations de « bannière ».

Masscan prend en charge la vérification des bannières sur les protocoles suivants :

  • FTP
  • HTTP
  • IMAP4
  • memcached
  • POP3
  • SMTP
  • SSH
  • SSL
  • SMBv1
  • SMBv2
  • Telnet
  • RDP
  • VNC

Le problème est que masscan contient sa propre pile TCP/IP distincte du système sur lequel vous l'exécutez. Lorsque le système local reçoit un SYN-ACK de la cible sondée, il répond avec un paquet RST qui tue la connexion avant que masscan ne puisse récupérer la bannière.

Le moyen le plus simple d'éviter cela est d'attribuer à masscan une adresse IP séparée. Cela ressemblerait à l'un des exemples suivants :

# masscan 10.0.0.0/8 -p80 --banners --source-ip 192.168.1.200
  # masscan 2a00:1450:4007:810::/112 -p80 --banners --source-ip 2603:3001:2d00:da00:91d7:b54:b498:859d

L'adresse que vous choisissez doit se trouver sur le sous-réseau local et ne pas être utilisée par un autre système. Masscan vous avertira que vous avez fait une erreur, mais vous pourriez avoir perturbé les communications de l'autre machine pendant plusieurs minutes, alors soyez prudent.

Dans certains cas, comme le WiFi, ce n'est pas possible. Dans ces cas, vous pouvez configurer un pare-feu sur le port que masscan utilise. Cela empêche la pile TCP/IP locale de voir le paquet, mais masscan le voit toujours car il contourne la pile locale. Pour Linux, cela ressemblerait à :

# iptables -A INPUT -p tcp --dport 61000 -j DROP
# masscan 10.0.0.0/8 -p80 --banners --source-port 61000

Vous voudrez probablement choisir des ports qui n'entrent pas en conflit avec les ports que Linux pourrait autrement choisir comme ports source. Vous pouvez voir la plage utilisée par Linux et reconfigurer cette plage en consultant le fichier :

/proc/sys/net/ipv4/ip_local_port_range

Sur la dernière version de Kali Linux (août 2018), cette plage est de 32768 à 60999, vous devriez donc choisir des ports soit en dessous de 32768, soit 61000 et au-dessus.

La définition d'une règle iptables ne dure que jusqu'au prochain redémarrage. Vous devez rechercher comment sauvegarder la configuration en fonction de votre distribution, par exemple en utilisant iptables-save et/ou iptables-persistent.

Sur Mac OS X et BSD, il y a des étapes similaires. Pour connaître les plages à éviter, utilisez une commande comme celle-ci :

# sysctl net.inet.ip.portrange.first net.inet.ip.portrange.last

Sur FreeBSD et les anciennes versions de MacOS, utilisez une commande ipfw :

# sudo ipfw add 1 deny tcp from any to any 40000 in
# masscan 10.0.0.0/8 -p80 --banners --source-port 40000

Sur les nouvelles versions de MacOS et OpenBSD, utilisez l'utilitaire de filtrage de paquets pf. Modifiez le fichier /etc/pf.conf pour ajouter une ligne comme celle-ci :

block in proto tcp from any to any port 40000:40015

Ensuite, pour activer le pare-feu, exécutez la commande :

# pfctl -E    

Si le pare-feu est déjà en cours d'exécution, redémarrez ou rechargez les règles avec la commande suivante :

# pfctl -f /etc/pf.conf

Windows ne répond pas avec des paquets RST, donc aucune de ces techniques n'est nécessaire. Cependant, masscan est toujours conçu pour fonctionner au mieux en utilisant sa propre adresse IP, vous devriez donc l'exécuter de cette façon lorsque c'est possible, même si ce n'est pas strictement nécessaire.

La même chose est nécessaire pour d'autres vérifications, comme la vérification --heartbleed, qui n'est qu'une forme de vérification de bannière.

Comment scanner l'ensemble d'Internet

Bien qu'utile pour des réseaux internes plus petits, le programme est vraiment conçu pour l'ensemble d'Internet. Cela pourrait ressembler à ceci :

# masscan 0.0.0.0/0 -p0-65535
Télécharger l’outil