Élargir vos connaissances en matière de balayage
Maintenant que vous avez compris les bases du balayage TCP Connect, il est temps d'approfondir vos connaissances. Dans cette section, nous allons apprendre à balayer plusieurs ports et à interpréter les résultats. Cela vous aidera à avoir une vision plus complète des services réseau s'exécutant sur un système cible.
Balayer les ports courants
Commençons par balayer les ports les plus courants sur votre machine locale, également connue sous le nom de localhost. Ces ports courants sont souvent utilisés par des services réseau bien connus.
nmap -sT localhost --top-ports 10 > /home/labex/project/common_ports_scan.txt
Dans cette commande, l'option -sT
indique à Nmap d'effectuer un balayage TCP Connect. localhost
spécifie la cible, qui est votre propre machine. L'option --top-ports 10
demande à Nmap de balayer les 10 ports les plus couramment utilisés. Le symbole >
redirige la sortie du balayage dans un fichier nommé common_ports_scan.txt
dans le répertoire /home/labex/project
.
Maintenant, regardons les résultats de ce balayage :
cat /home/labex/project/common_ports_scan.txt
La commande cat
est utilisée pour afficher le contenu d'un fichier. Lorsque vous exécutez cette commande, vous verrez une liste de ports. Par exemple, le port 21 est utilisé pour le FTP (File Transfer Protocol), le port 22 pour le SSH (Secure Shell), le port 23 pour le Telnet, le port 25 pour le SMTP (Simple Mail Transfer Protocol) et le port 80 pour le HTTP (Hypertext Transfer Protocol). Sur votre système, la plupart de ces ports seront probablement fermés, sauf si vous avez des services spécifiques en cours d'exécution. Par exemple, si notre serveur HTTP sur le port 8080 fait partie des 10 ports les plus courants, il apparaîtra comme ouvert.
Balayer une plage de ports
En plus de balayer les ports courants, vous pouvez également balayer une plage spécifique de ports. Balayons les ports de 8000 à 8100 sur votre localhost.
nmap -sT localhost -p 8000-8100 > /home/labex/project/port_range_scan.txt
Ici, l'option -p 8000 - 8100
indique à Nmap de balayer les ports de la plage allant de 8000 à 8100. La sortie de ce balayage est redirigée dans un fichier nommé port_range_scan.txt
dans le répertoire /home/labex/project
.
Pour voir les résultats de ce balayage :
cat /home/labex/project/port_range_scan.txt
Dans la sortie, vous devriez voir que le port 8080 (s'il est dans la plage balayée) est ouvert, tandis que les autres ports de la plage sont probablement fermés.
Combiner les techniques
Combinons les techniques que nous avons apprises jusqu'à présent. Nous effectuerons un balayage TCP Connect et essaierons également de détecter les services s'exécutant sur les ports de la plage allant de 8000 à 8100.
nmap -sT -sV localhost -p 8000-8100 > /home/labex/project/combined_scan.txt
L'option -sV
est utilisée pour activer la détection de service. Cela signifie que Nmap vous indiquera non seulement si un port est ouvert ou fermé, mais essaiera également d'identifier le service s'exécutant sur les ports ouverts. La sortie de ce balayage combiné est enregistrée dans le fichier combined_scan.txt
dans le répertoire /home/labex/project
.
Pour vérifier les résultats :
cat /home/labex/project/combined_scan.txt
Ce balayage fournit les informations les plus détaillées jusqu'à présent. Il montre l'état de chaque port dans la plage spécifiée et tente d'identifier les services s'exécutant sur les ports ouverts.
Nettoyer
Avant de terminer ce laboratoire, nous devons nettoyer en arrêtant le serveur HTTP Python que nous avons utilisé. Tout d'abord, nous devons trouver l'identifiant de processus (PID) du serveur.
ps aux | grep "python3 -m http.server 8080"
La commande ps aux
liste tous les processus en cours d'exécution sur votre système. Le symbole |
est un tuyau (pipe) qui prend la sortie de la commande ps aux
et la transmet à la commande grep
. La commande grep
recherche ensuite la ligne qui contient le texte "python3 -m http.server 8080"
, qui est la commande utilisée pour démarrer le serveur HTTP Python.
Recherchez la ligne qui montre le processus du serveur HTTP Python. La deuxième colonne de cette ligne contient l'identifiant de processus (PID). Une fois que vous avez noté le PID, vous pouvez utiliser la commande kill
pour arrêter le processus.
kill <PID>
Remplacez <PID>
par l'identifiant de processus réel que vous avez trouvé. Par exemple, si le PID est 1234, vous exécuterez :
kill 1234