Analyse de ports TCP et UDP

NmapBeginner
Pratiquer maintenant

Introduction

Bienvenue dans ce laboratoire consacré à l'analyse de ports TCP et UDP. L'analyse de ports (port scanning) est une technique fondamentale utilisée par les administrateurs réseau et les professionnels de la cybersécurité pour découvrir les services actifs sur un réseau informatique. En envoyant des paquets réseau spécifiques vers une cible et en analysant les réponses, nous pouvons déterminer quels ports sont ouverts, fermés ou filtrés par un pare-feu.

Un port ouvert ne signifie pas automatiquement qu'il est "vulnérable", mais il indique une "interface de service accessible". C'est pourquoi l'analyse de ports est au cœur de la phase de reconnaissance : elle identifie les portes qu'un système expose au réseau.

Dans ce laboratoire, vous explorerez les mécanismes de bas niveau de l'analyse de ports à l'aide de Nmap (Network Mapper), l'outil de référence du secteur pour la découverte réseau. Vous apprendrez à effectuer trois types d'analyses distincts : l'analyse TCP Connect, fiable ; l'analyse TCP SYN, furtive ; et l'analyse de ports UDP, sans connexion. Grâce à cette pratique, vous comprendrez comment les différents protocoles réseau réagissent aux sondes d'analyse.

Exécuter une analyse TCP Connect (-sT)

Dans cette étape, nous commencerons par effectuer une analyse TCP Connect. Vous vous trouvez actuellement dans votre répertoire de travail par défaut, ~/project.

L'analyse TCP Connect est le type d'analyse de ports le plus direct. Elle s'appuie sur les fonctions réseau intégrées du système d'exploitation pour établir une connexion complète avec le port cible. Cela signifie qu'elle effectue l'intégralité de la poignée de main (handshake) TCP en trois étapes : elle envoie un paquet SYN, reçoit un paquet SYN-ACK de la cible, et renvoie enfin un paquet ACK pour établir la connexion.

Parce qu'elle utilise la pile réseau standard, cette analyse est simple et fiable. Elle rappelle également que l'analyse n'est, en réalité, qu'une interaction contrôlée avec le comportement prévu des protocoles.

Comme elle finalise la connexion, cette analyse est très fiable. Cependant, elle est aussi très "bruyante". Puisqu'une connexion complète est établie, les journaux d'application du système cible enregistreront presque certainement la tentative de connexion, ce qui permet aux administrateurs de détecter facilement l'analyse.

Utilisons Nmap pour effectuer une analyse TCP Connect sur notre machine locale (localhost) sur le port 8080, où un service web est actuellement en cours d'exécution. L'option -sT indique à Nmap d'utiliser la méthode TCP Connect, et l'option -p spécifie le numéro de port.

Exécutez la commande suivante dans votre terminal :

nmap -sT -p 8080 localhost

Après avoir exécuté la commande, vous devriez obtenir un résultat similaire à celui-ci :

Starting Nmap 7.80 ( https://nmap.org ) at 2026-03-07 15:56 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000086s latency).
Other addresses for localhost (not scanned): ::1

PORT     STATE SERVICE
8080/tcp open  http-proxy

Nmap done: 1 IP address (1 host up) scanned in 0.02 seconds

Le résultat montre clairement que le port 8080 est open (ouvert) et utilise le protocole TCP. Le service est identifié comme http-proxy (ou similaire, selon la version de Nmap), ce qui correspond au serveur HTTP Python que nous avons lancé en arrière-plan.

Exécuter une analyse SYN furtive (-sS)

Dans cette étape, nous explorerons une technique plus avancée et couramment utilisée : l'analyse TCP SYN, également appelée analyse "semi-ouverte" (Half-Open).

Contrairement à l'analyse TCP Connect, l'analyse SYN ne termine pas la poignée de main en trois étapes. Elle envoie un paquet SYN (demandant une connexion) et attend une réponse. Si le port cible est ouvert, il répond par un paquet SYN-ACK. À ce stade, au lieu d'envoyer un ACK pour finaliser la connexion, Nmap envoie immédiatement un paquet RST (Reset) pour interrompre la connexion avant qu'elle ne soit totalement établie.

C'est pourquoi l'analyse SYN est souvent décrite comme "semi-ouverte". Elle repose toujours sur le comportement TCP de la cible, mais minimise la part de connexion réellement finalisée.

Cette méthode est considérée comme "furtive" car de nombreuses applications ne journalisent que les connexions entièrement établies. En interrompant la connexion prématurément, l'analyse SYN contourne souvent la journalisation au niveau de l'application. Cependant, comme elle nécessite la création de paquets réseau bruts plutôt que l'utilisation des fonctions standard du système d'exploitation, cette analyse requiert des privilèges root (sudo).

Effectuons une analyse SYN sur le même port 8080 de notre machine locale. Nous utiliserons l'option -sS pour spécifier la méthode d'analyse SYN.

Exécutez la commande suivante dans votre terminal :

sudo nmap -sS -p 8080 localhost

Vous verrez un résultat similaire à l'étape précédente :

Starting Nmap 7.80 ( https://nmap.org ) at 2026-03-07 15:56 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000042s latency).
Other addresses for localhost (not scanned): ::1

PORT     STATE SERVICE
8080/tcp open  http-proxy

Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds

Notez que le résultat est identique : le port est toujours identifié comme open. La différence réside entièrement dans la manière dont les paquets réseau ont été échangés en coulisses. L'analyse SYN est le type d'analyse par défaut dans Nmap lorsque vous l'exécutez avec les privilèges sudo, en raison de sa rapidité et de sa discrétion.

Exécuter une analyse de ports UDP (-sU)

Dans cette dernière étape, nous allons passer du protocole TCP au protocole UDP (User Datagram Protocol).

L'UDP est un protocole sans connexion. Contrairement au TCP, il n'y a pas de processus de poignée de main pour établir une connexion avant l'envoi de données. Lorsque vous envoyez un paquet UDP vers un port, la cible ne renvoie généralement pas d'accusé de réception si le port est ouvert. Elle ne répond par une erreur "ICMP Port Unreachable" que si le port est fermé.

Cette asymétrie explique pourquoi les analyses UDP sont plus difficiles à interpréter. Le silence peut signifier un succès, un filtrage, ou rien du tout. Les analystes doivent donc interpréter les résultats UDP avec plus de prudence que ceux du TCP.

Cela rend l'analyse UDP notoirement difficile et lente. Si Nmap envoie un paquet UDP et ne reçoit aucune réponse, il ne peut pas être certain si le port est ouvert et accepte silencieusement les données, ou si un pare-feu a simplement supprimé le paquet. Par conséquent, Nmap rapporte souvent ces ports comme open|filtered.

Effectuons une analyse UDP sur un port arbitraire (comme 5353) dont nous savons qu'il n'héberge pas de service sur notre machine locale. Cela démontrera comment le système d'exploitation réagit lorsqu'un port est explicitement fermé. Comme pour l'analyse SYN, l'analyse UDP nécessite des privilèges root pour créer des paquets bruts.

Exécutez la commande suivante dans votre terminal :

sudo nmap -sU -p 5353 localhost

L'analyse peut prendre un peu plus de temps que les analyses TCP. Une fois terminée, vous devriez voir un résultat similaire à celui-ci :

Starting Nmap 7.80 ( https://nmap.org ) at 2026-03-07 15:56 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000038s latency).
Other addresses for localhost (not scanned): ::1

PORT     STATE  SERVICE
5353/udp closed zeroconf

Nmap done: 1 IP address (1 host up) scanned in 1.09 seconds

Notez que l'état est rapporté comme closed (fermé). Lorsque Nmap envoie un paquet UDP vers un port fermé, le système d'exploitation de la cible répond généralement par un message d'erreur "ICMP Port Unreachable". Comme Nmap a reçu cette erreur explicite, il peut marquer le port comme closed avec certitude. Si un service tournait sur ce port et ne répondait tout simplement pas (ce qui est courant pour les applications UDP), Nmap ne recevrait pas cette erreur ICMP et rapporterait probablement l'état du port de manière ambiguë comme open|filtered. Cette dépendance aux messages d'erreur ICMP est une caractéristique propre à l'analyse de ports UDP.

Résumé

Félicitations ! Vous avez terminé avec succès le laboratoire sur l'analyse de ports TCP et UDP.

Dans ce laboratoire, vous avez appris à utiliser Nmap pour effectuer différents types d'analyses réseau. Vous avez commencé par l'analyse TCP Connect (-sT), fiable mais bruyante, qui effectue la poignée de main complète en trois étapes. Vous êtes ensuite passé à l'analyse TCP SYN (-sS), furtive, qui identifie les ports ouverts en laissant les connexions semi-ouvertes pour échapper à la journalisation de base. Enfin, vous avez exploré les complexités de l'analyse UDP (-sU), sans connexion, en comprenant pourquoi les ports UDP apparaissent souvent comme open|filtered.

Ces techniques d'analyse fondamentales sont des compétences essentielles pour comprendre la topologie d'un réseau et sécuriser les systèmes contre les accès non autorisés.