Les ports, passerelles d'accès au réseau

Les flux applicatifs transitent sur les réseaux IP par le biais de protocoles. A chaque protocole correspond une prise réseau unique sur le serveur ou la machine cliente, une passerelle également appelée port.

Un programme utilise un port pour envoyer ou recevoir des données à travers le réseau. Les ports sont codés sur 16 bits. Il en existe donc 65536. Lorsqu'un ordinateur reçoit des informations du réseau, il identifie à quelle application il doit les envoyer grâce au numéro de port.  

Grâce à ce numéro identifiant, il est possible de déterminer quelle application envoie ou reçoit des données. Le multiplexage consiste à envoyer plusieurs informations en même temps par un même port. A l'inverse, le démultiplexage fait arriver plusieurs informations sur un même port en même temps. 

L'IANA (Internet Assigned Numbers Authority) a mis au point une assignation standard pour aider à la configuration des réseaux. Les ports de 0 à 1023 sont les ports "reconnus", généralement réservés aux processus système (démons) ou aux ports du serveur. Par exemple, le port 80 correspond au protocole HTTP, c'est-à-dire à la connexion d'un serveur HTTP avec un navigateur Web. Les protocoles définissent la façon dont clients et serveurs communiquent.

A chaque port correspond un protocole

A chaque port correspond un protocole. Sur Internet, les protocoles peuvent être de type TCP, un protocole de transport en mode connecté. TCP regroupe un ensemble de protocoles comme HTTP, FTP, SMTP... Les données sont envoyées sous forme de paquets. La machine émettrice prévient la machine réceptrice qu'elle va lui envoyer des informations, et elle attend un accusé de réception du message, le cas échéant elle renvoie les données. 

L'autre mode de communication sur Internet est de type UDP, un protocole de transport hors connexion. Les données sont envoyées sous forme de blocs, ou datagrammes. La machine émettrice envoie des messages sans prévenir la machine réceptrice et n'attend pas d'avis de réception. UDP est plus rapide que TCP, les données ne sont envoyées qu'une seule fois et la machine émettrice ne vérifie pas la bonne réception du message. 

TCP assure le contrôle d'erreur à l'inverse d'UDP

TCP assure le contrôle d'erreur à l'inverse d'UDP. Il renvoie le message tant qu'il n'a pas reçu d'accusé de réception, d'où parfois des engorgements du réseau. TCP et UDP se basent sur IP, ils se réfèrent à l'adresse IP des machines sur le réseau pour acheminer les paquets de données.

Les applications du client ne peuvent pas utiliser les ports réservés (de 0 à 1023). Le système d'exploitation leur attribue un numéro de port aléatoirement parmi ceux disponibles. Les ports de 1024 à 49151 sont les ports "enregistrés". Il sont également assignés par l'IANA, comme les ports reconnus. Les ports de 49152 à 65536 sont les ports "dynamiques et/ou privés".

 

 
Les ports d'applications
Numéro de port Application assignée
Source : Journal du Net
21 FTP
23 Telnet
25 SMTP
53 DNS
63 Whois
80 HTTP
110 POP3
80, 8000 Apache
443 HTTPS
1863, 6891-6900, 6901 MSN Messenger, envoi de fichiers, vidéo
3306 MySQL Server
4000 Eclipse

 

 

L'astuce de la rédaction

 

Pour connaître quel mode de transport utilise un processus (TCP ou UDP), cliquer sur Démarrer -> Exécuter, saisir la commande cmd. Dans la fenêtre de commande, l'instruction netstat -ano permet d'afficher la liste des connexions actives associées à leur PID (Process identifier, le numéro de processus).

 

Comparer cette liste avec la liste des processus. Pour cela, faire un clic droit sur la barre des tâches et sélectionner Gestionnaire des tâches. Se placer sur l'onglet Processus, puis dans le menu Affichage -> Sélectionner les colonnes, cocher PID.

 

Ecouter un port signifie surveiller les données qu'envoie une application. Pour cela, il faut installer un sniffer et créer un filtre sur le port. Ce système permet de collecter des informations, et est souvent utilisé par les pirates informatiques.