Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Aller au contenu Aller au quiz
Lu

Ports et Sockets

En route — chaque ligne compte.

~15 min
Programme complet

Ports et Sockets

Maîtriser les ports réseau (0-65535), les catégories, les ports importants, la définition d'un socket, le cycle de vie, et les commandes ss/lsof pour l'administration système.

Ch. 8/10 Initiation
Table des matières

    Les ports : l'adressage des applications

    Une adresse IPadresse IPRéseauxIdentifiant numérique attribué à une machine sur un réseau, qui permet de l'atteindre depuis n'importe où. Elle tient sur 32 bits en IPv4 et sur 128 bits en IPv6.Voir dans le glossaire identifie un hôte sur le réseau. Mais un hôte fait tourner des dizaines d'applications simultanément : un serveur web, un serveur SSHSSHRéseauxProtocole sécurisé d'accès distant à un serveur, chiffrant session et authentification (clé ou mot de passe).Voir dans le glossaire, une base de donnéesdonnéesIAEnsemble d'informations structurées ou non utilisées pour entraîner, évaluer ou alimenter un modèle. La qualité, la quantité et la représentativité des données sont les facteurs décisifs pour les performances en apprentissage automatique.Voir dans le glossaire, un agentagentIASystème qui enchaîne des appels d'outils de façon autonome pour atteindre un objectif : il planifie, agit, observe, recommence. Sa fiabilité décroît exponentiellement avec le nombre d'étapes.Voir dans le glossaire de monitoring... Comment la couche réseau sait-elle vers quelle application livrer chaque paquet ?

    La réponse : les portsportRéseauxNuméro sur 16 bits qui désigne l'application destinataire sur une machine. Les ports 0 à 1023 sont réservés aux services système, comme 443 pour HTTPS.Voir dans le glossaire. Un port est un entier sur 16 bits (0 à 65535) qui identifie une application ou un service spécifique sur un hôte. Combiné avec l'adresse IP et le protocole (TCPTCPRéseauxProtocole de transport qui garantit que les données arrivent complètes, dans l'ordre et sans doublon. Il établit une connexion, numérote chaque segment et retransmet ce qui manque.Voir dans le glossaire ou UDPUDPRéseauxProtocole de transport sans connexion ni garantie de livraison, réduit à un en-tête de 8 octets. Sa légèreté convient au DNS, à la voix et à la vidéo, où un retard coûte plus qu'une perte.Voir dans le glossaire), il permet d'adresser précisément un processus applicatif.

    Analogie

    Imaginez un immeuble de bureaux :

    • L'adresse IP = l'adresse de l'immeuble (ex: 192.168.1.100)
    • Le port = le numéro de bureau (ex: :80, :443, :22)
    • Le socketsocketRéseauxAssociation d'une adresse IP et d'un port, qui identifie une extrémité de communication. Le quadruplet formé par les deux sockets d'une connexion la distingue de toutes les autres.Voir dans le glossaire = la ligne téléphonique directe du bureau

    Vous envoyez votre courrier à "Immeuble 192.168.1.100, Bureau 443" → il arrive exactement au bon destinataire.


    Les 3 catégories de ports

    L'IANA (Internet Assigned Numbers Authority) divise les 65536 ports en trois catégories :

    Catégorie Plage Nom officiel Usage
    Ports bien connus 0 – 1023 Well-known ports Services système standards (nécessitent root)
    Ports enregistrés 1024 – 49151 Registered ports Applications tierces enregistrées auprès de l'IANA
    Ports éphémères 49152 – 65535 Dynamic/Private ports Ports temporaires côté client

    Ports éphémères (ephemeral ports)

    Quand votre navigateur ouvre une connexion vers google.com:443, votre OS lui attribue automatiquement un port source éphémère choisi aléatoirement dans la plage dynamique. Ce port identifie votre connexion particulière.

    # Voir la plage de ports éphémères configurée sur Linux
    cat /proc/sys/net/ipv4/ip_local_port_range
    # → 32768	60999  (plage par défaut sur Linux)
    
    # Modifier la plage (pour serveurs très chargés)
    sudo sysctl -w net.ipv4.ip_local_port_range="1024 65535"
    

    Tableau des ports importants

    Ports systèmes essentiels (0-1023)

    Port Protocole Service Description
    20 TCP FTP-DATA Transfert de données FTP
    21 TCP FTP Contrôle FTP
    22 TCP SSH Shell sécurisé, SFTP, SCP
    23 TCP Telnet Shell non chiffré (obsolète, à bannir)
    25 TCP SMTP Envoi d'e-mails serveur à serveur
    53 TCP/UDP DNSDNSRéseauxSystème qui traduit un nom de domaine en adresse IP, par interrogations successives de la racine, des serveurs de premier niveau puis des serveurs faisant autorité.Voir dans le glossaire Résolution de noms
    67 UDP DHCPDHCPRéseauxProtocole qui attribue automatiquement une adresse IP et ses paramètres à une machine qui se connecte, en quatre échanges : découverte, offre, requête, accusé.Voir dans le glossaire Server Attribution d'adresses IP
    68 UDP DHCP Client Client DHCP
    80 TCP HTTP Web non chiffré
    110 TCP POP3 Réception e-mails (obsolète)
    111 TCP/UDP RPC Remote Procedure Call
    123 UDP NTP Synchronisation horloge
    143 TCP IMAP Réception e-mails
    161 UDP SNMP Supervision réseau
    162 UDP SNMP Trap Alertes SNMP
    389 TCP/UDP LDAP Annuaire (Active Directory)
    443 TCP HTTPSHTTPSRéseauxHTTP sécurisé par TLS : chiffre les échanges entre client et serveur et authentifie le serveur via un certificat.Voir dans le glossaire Web chiffré (TLSTLSRéseauxProtocole cryptographique assurant confidentialité et intégrité des communications applicatives (notamment HTTPS).Voir dans le glossaire)
    465 TCP SMTPS SMTP sur TLS
    514 UDP Syslog Journalisation centralisée
    587 TCP SMTP/STARTTLS Envoi e-mail avec STARTTLS
    636 TCP LDAPS LDAP sur TLS
    853 TCP/UDP DNS-over-TLS DNS chiffré (DoT)
    993 TCP IMAPS IMAP sur TLS
    995 TCP POP3S POP3 sur TLS

    Ports enregistrés courants (1024-49151)

    Port Protocole Service Description
    1194 UDP/TCP OpenVPN VPNVPNRéseauxRéseau privé virtuel qui chiffre le trafic entre deux points sur un réseau public. Il crée un tunnel sécurisé permettant d'accéder à des ressources distantes comme si on était sur le réseau local.Voir dans le glossaire open-source
    1433 TCP MSSQL Microsoft SQL Server
    1521 TCP Oracle DB Oracle Database
    2181 TCP ZooKeeper Coordination distribuée
    2375 TCP Docker API Docker non chiffrée
    2376 TCP Docker TLS API Docker chiffrée
    3000 TCP Grafana/Node Monitoring / apps Node.js
    3306 TCP MySQL/MariaDB Base de données relationnelle
    5432 TCP PostgreSQL Base de données relationnelle
    5601 TCP Kibana Interface Elasticsearch
    6379 TCP Redis Cache/broker in-memory
    7700 TCP Meilisearch Moteur de recherche
    8080 TCP HTTP-alt Alternative HTTP, proxies
    8443 TCP HTTPS-alt Alternative HTTPS
    9092 TCP Kafka Broker de messages
    9200 TCP Elasticsearch Moteur de recherche
    27017 TCP MongoDB Base de données NoSQL

    Définition d'un socket

    Un socket est un point de communication identifié par un quintuplet unique :

    Socket = (Protocole, IP_source, Port_source, IP_destination, Port_destination)
    

    Exemple : votre connexion HTTPS à Google

    Protocole     : TCP
    IP source     : 192.168.1.100   (votre IP)
    Port source   : 54321           (port éphémère)
    IP destination: 142.250.74.46   (IP Google)
    Port dest     : 443             (HTTPS)
    
    → Socket identifiant : TCP 192.168.1.100:54321 ↔ 142.250.74.46:443
    

    Ce quintuplet est globalement unique : il n'existe qu'une seule connexion avec cette combinaison précise au monde à cet instant.

    Types de sockets

    Type Protocole Usage
    Stream socket TCP Connexion fiable, flux d'octets
    Datagram socket UDP Datagrammes sans connexion
    Raw socket IP direct Accès bas niveau (ping, nmap)
    Unix Domain Socket IPC local Communication entre processus locaux

    Cycle de vie d'un socket

    Côté serveur (TCP)

    # Pseudo-code du cycle de vie serveur
    socket()    # Création du socket
    bind()      # Lier à l'adresse et au port (ex: 0.0.0.0:80)
    listen()    # Marquer comme passif, définir la file d'attente
    accept()    # Bloquer jusqu'à l'arrivée d'une connexion client
                # → retourne un NOUVEAU socket pour cette connexion
    read()/write()  # Communication avec le client
    close()     # Fermer la connexion
    

    Côté client (TCP)

    # Pseudo-code du cycle de vie client
    socket()    # Création du socket
                # Le kernel attribue automatiquement un port éphémère
    connect()   # Initie le three-way handshake
    write()/read()  # Envoi de la requête, lecture de la réponse
    close()     # Fermeture de la connexion
    

    États LISTEN vs ESTABLISHED

    # Voir les sockets en état LISTEN (serveur en attente)
    ss -tlnp
    
    # Exemple de sortie typique d'un serveur web :
    # State    Recv-Q  Send-Q  Local Address:Port  Peer Address:Port  Process
    # LISTEN   0       511     0.0.0.0:80          0.0.0.0:*          nginx
    # LISTEN   0       511     0.0.0.0:443         0.0.0.0:*          nginx
    # LISTEN   0       128     0.0.0.0:22          0.0.0.0:*          sshd
    # LISTEN   0       128     127.0.0.1:3306      0.0.0.0:*          mysqld
    
    # Voir les connexions ESTABLISHED
    ss -tnp state established
    
    # Exemple :
    # ESTAB  0  0  192.168.1.100:22   192.168.1.200:54321  users:(("sshd"))
    # ESTAB  0  0  192.168.1.100:443  203.0.113.5:48291    users:(("nginx"))
    

    La commande ss — Socket Statistics

    ss (socket statistics) est le remplaçant moderne de netstat. Plus rapide, plus précis, directement depuis le kernel.

    Syntaxe et options principales

    ss [options] [filtres]
    
    Options :
      -t    TCP sockets
      -u    UDP sockets
      -l    Sockets en écoute (LISTEN)
      -n    Afficher numéros (pas résolution nom/service)
      -p    Afficher le processus propriétaire
      -s    Résumé statistique
      -e    Informations étendues
      -i    Informations TCP internes (cwnd, rtt, etc.)
      -4    IPv4 uniquement
      -6    IPv6 uniquement
    

    Commandes ss les plus utiles

    # Tous les ports en écoute (TCP + UDP)
    ss -tulnp
    
    # Sortie exemple :
    # Netid  State   Local Address:Port  Process
    # udp    UNCONN  0.0.0.0:68          dhclient
    # udp    UNCONN  0.0.0.0:123         ntpd
    # tcp    LISTEN  0.0.0.0:22          sshd
    # tcp    LISTEN  0.0.0.0:80          nginx
    # tcp    LISTEN  0.0.0.0:443         nginx
    # tcp    LISTEN  127.0.0.1:3306      mysqld
    
    # Toutes les connexions TCP établies avec processus
    ss -tnp state established
    
    # Compter le nombre de connexions par état
    ss -tn | awk 'NR>1 {print $1}' | sort | uniq -c | sort -rn
    
    # Voir les connexions vers un port spécifique
    ss -tnp dst :443
    
    # Voir les connexions depuis une IP source
    ss -tnp src 192.168.1.200
    
    # Statistiques globales
    ss -s
    # Total: 856
    # TCP: 43 (estab 31, closed 2, orphaned 0, timewait 2)
    # UDP: 8
    
    # Informations TCP avancées (RTT, cwnd, etc.)
    ss -tip state established
    
    # Filtres avancés
    ss -tnp 'sport > 1024 and dport = 443'
    ss -tnp 'dst 192.168.1.0/24'
    

    Champ par champ : décoder la sortie de ss

    State  Recv-Q  Send-Q  Local Address:Port  Peer Address:Port  Process
    
    State    : LISTEN / ESTAB / TIME-WAIT / CLOSE-WAIT / etc.
    Recv-Q   : Octets reçus non encore lus par l'application
               (en LISTEN : nombre de connexions en attente d'accept())
    Send-Q   : Octets envoyés mais non encore acquittés
               (en LISTEN : backlog maximum configuré)
    Local    : IP:Port local
    Peer     : IP:Port distant (0.0.0.0:* si LISTEN)
    Process  : Processus propriétaire (nécessite root pour les autres processus)
    

    La commande lsof — List Open Files

    lsof (List Open Files) liste tous les fichiers ouverts par tous les processus — et sous Linux, les sockets réseau sont des fichiers.

    # Voir tous les fichiers réseau ouverts
    sudo lsof -i
    
    # Voir les processus sur le port 80
    sudo lsof -i :80
    
    # Exemple de sortie :
    # COMMAND  PID     USER  FD  TYPE  DEVICE SIZE/OFF NODE NAME
    # nginx    1234    root  6u  IPv4  23456  0t0      TCP  *:http (LISTEN)
    # nginx    1235    www   6u  IPv4  23456  0t0      TCP  *:http (LISTEN)
    # nginx    1235    www   8u  IPv4  24567  0t0      TCP  192.168.1.100:80->203.0.113.5:48291 (ESTABLISHED)
    
    # Voir les sockets d'un processus spécifique (par nom)
    sudo lsof -i -p $(pgrep nginx)
    
    # Voir les connexions TCP
    sudo lsof -i TCP
    
    # Voir les connexions UDP
    sudo lsof -i UDP
    
    # Voir les Unix Domain Sockets (communication locale)
    sudo lsof -U
    
    # Trouver quel processus utilise le port 3306
    sudo lsof -i :3306
    # ou
    sudo ss -tnlp | grep :3306
    

    Port Forwarding

    Le port forwarding (redirection de port) permet de rediriger le trafic arrivant sur un port vers une autre adresse/port.

    SSH Port Forwarding (tunneling)

    # Local port forwarding :
    # Redirige localhost:8080 → serveur_distant:80
    ssh -L 8080:localhost:80 user@serveur-distant
    # Accédez à http://localhost:8080 dans votre navigateur
    
    # Remote port forwarding :
    # Le serveur distant redirige son port 9090 → votre localhost:3000
    ssh -R 9090:localhost:3000 user@serveur-distant
    
    # Dynamic port forwarding (proxy SOCKS5) :
    # Crée un proxy SOCKS5 sur localhost:1080
    ssh -D 1080 user@serveur-distant
    

    iptables Port Forwarding (DNAT)

    # Rediriger le port 8080 local vers un autre serveur sur le port 80
    sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.50:80
    
    # Rediriger le port 80 vers une application interne sur 8080
    sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
    
    # Voir les règles NAT actives
    sudo iptables -t nat -L -n -v
    

    Sécurité et bonnes pratiques

    Un service qui n'écoute que sur 127.0.0.1 est inatteignable depuis le réseau, quel que soit l'état du pare-feupare-feuRéseauxÉquipement ou logiciel qui filtre le trafic selon des règles (ports, adresses, états) pour réduire la surface d'attaque.Voir dans le glossaire. Vérifiez systématiquement l'adresse d'écoute avec ss -tlnp : un 0.0.0.0 involontaire expose un service que vous croyiez local.

    Minimiser la surface d'attaque

    # Principe de base : n'exposer que les ports nécessaires
    
    # Lister tous les ports en écoute (audit)
    ss -tulnp
    
    # Vérifier les ports exposés depuis l'extérieur
    nmap -sT localhost
    sudo nmap -sU -sT 192.168.1.100
    
    # Fermer un service inutile (exemple : telnet)
    sudo systemctl stop telnet
    sudo systemctl disable telnet
    sudo systemctl mask telnet  # empêche toute activation future
    

    Bind sur localhost uniquement

    # Mauvais : service exposé sur toutes les interfaces
    mysqld --bind-address=0.0.0.0    # ← dangereux
    
    # Bien : service uniquement sur localhost
    mysqld --bind-address=127.0.0.1  # ← sécurisé
    

    Vérifiez toujours dans /etc/mysql/mysql.conf.d/mysqld.cnf :

    [mysqld]
    bind-address = 127.0.0.1
    

    Ports non-standard

    Changer un service d'un port well-known (ex: SSH de 22 vers 2222) n'est pas une vraie sécurité (security by obscurity), mais peut réduire le bruit dans les logs provenant des scanners automatiques.

    # Dans /etc/ssh/sshd_config
    Port 2222
    
    # Adapter le pare-feu
    sudo ufw allow 2222/tcp
    sudo ufw deny 22/tcp
    

    Récapitulatif

    Concept Détail
    Port 16 bits (0-65535), identifie un service
    Well-known 0-1023, services systèmes, nécessitent root
    Registered 1024-49151, applications enregistrées
    Éphémères 49152-65535 (Linux: 32768-60999), côté client
    Socket Quintuplet (proto, IP src, port src, IP dst, port dst)
    LISTEN Serveur attend des connexions
    ESTABLISHED Connexion active
    ss -tulnp Commande de référence pour auditer les ports
    lsof -i :PORT Trouver le processus sur un port

    Passez au chapitre suivant : ICMP et outils de diagnostic — les outilstool callingIACapacité d'un agent ou d'un LLM à invoquer des outils externes (API, calcul, recherche) pendant le raisonnement.Voir dans le glossaire essentiels pour diagnostiquer les pannes réseau.

    Navigateur 192.168.1.10 port 54321 Serveur web 142.250.75.206 port 443 TCP Quadruplet identifiant la connexion 192.168.1.10:54321 ↔ 142.250.75.206:443 Un second onglet vers le même site obtiendra un autre port source : les deux connexions restent distinctes.
    Le port désigne l'application, l'IP désigne la machine, et leur combinaison identifie la connexion.

    IP = machine, port = service, socket = extrémité, quadruplet = connexion TCP.

    Inventoriez les listeners (ss -tulpn) et fermez tout port non nécessaire.

    Exposer un port admin sur 0.0.0.0 sans filtre est une invitation aux scans Internet.

    Port = service logique sur un hôte

    0–1023 dits privilégiés, 1024–49151 enregistrés, dynamique au-delà : utile comme culture, pas comme muraille. La sécurité vient des contrôles d’accès, pas du numéro « mythique ». Un SSH sur 2222 n’est pas secret ; il est seulement moins bruité par certains scanners naïfs.

    Socket = quintuplet en pratique

    Protocole, IP source, port source, IP dest, port dest. Deux connexions distinctes peuvent partager des éléments. ss -lntup montre qui écoute ; ss -ntu montre les flux. Lier une appli à 127.0.0.1 vs 0.0.0.0 change totalement l’exposition.

    NAT et ports

    Le NATNATRéseauxMécanisme qui permet à plusieurs machines d'un réseau privé de partager une seule adresse IP publique. Il compense la pénurie d'adresses IPv4 mais complique les connexions entrantes.Voir dans le glossaire réécrit ports/adresses. Un serveur derrière NAT nécessite port forwarding ou reverse tunnel. Les clients sortants s’appuient sur le suivi de connexion du NAT. Comprendre qui initie le flux évite d’ouvrir des trous inutiles.

    « Port ouvert » côté nmap ≠ « application saine ». Cela signifie « quelque chose répond sur ce port ».

    Ephemeral ports et épuisement

    Sous charge, un client peut épuiser les ports éphémères ou saturer TIME_WAIT. Tuning possible, mais cherchez d’abord fuites de connexions applicatives.

    Documentez pour chaque service : port, proto, listener IP, auth, owner — une ligne suffit souvent.

    Cartographie d’écoute et surface d’attaque

    Inventoriez périodiquement les listeners (ss -lntup) sur serveurs critiques. Chaque port ouvert inattendu est une piste : service oublié, malware, admin temporaire non retiré. Coupez, documentez, ou justifiez.

    Les sockets Unix domain (fichiers) sortent du modèle IP/ports mais comptent pour la sécurité locale. Ne les ignorez pas sur les hôtes applicatifs.

    Bind sur IPv6IPv6RéseauxVersion du protocole IP dont les adresses tiennent sur 128 bits, ce qui rend l'espace pratiquement inépuisable. Elle apporte aussi l'autoconfiguration et supprime le besoin de NAT.Voir dans le glossaire :: peut exposer aussi IPv4IPv4RéseauxVersion historique du protocole IP, dont les adresses tiennent sur 32 bits — soit environ 4,3 milliards de combinaisons, aujourd'hui épuisées.Voir dans le glossaire selon la stack (V6ONLY). Testez explicitement. Les reverse proxy doivent être la façade publique ; les backends écoutent en privé.

    En conteneurs, le publication de ports (-p) est une décision de sécurité. Évitez de publier Redis/DB « pour dépanner ».

    Firewall : deny by default et exceptions nommées

    Chaque ouverture de port doit avoir un owner, une justification, une date de revue. Les règles « any any » temporaires deviennent permanentes. Automatisez l’inventaire des exceptions. Coupez ce qui n’a plus de ticket actif.

    Sur les bastions, préférez l’accès par jump (SSH, SSM, VPN ZTNA) plutôt que d’exposer directement des ports d’admin. Le numéro de port n’est pas un secret ; le contrôle d’identité l’est.

    Les healthchecks des load balancers ouvrent des flux réguliers : documentez-les pour ne pas les prendre pour du scan.

    De la théorie socket à l’observabilité

    Exposez métriques : connexions actives, errors, accept queue overflows, TIME_WAIT counts. Sans observabilité, vous réglez des ports à l’aveugle. Sur Kubernetes, services/ClusterIP/NodePort/LoadBalancer sont des indirection de ports : suivez le chemin jusqu’au pod.

    Les probes de readiness sur le mauvais port mettent un service « up » pour le LB alors qu’il est KO applicativement. Alignez healthcheck et listener réel.

    Exercice : sur une machine de lab, lancez un listener Python, connectez, observez ss, fermez mal, observez CLOSE_WAIT. Cette expérience sensorielle fixe le vocabulaire.

    Inventaire continu et moindre exposition

    Automatisez un scan interne authentifié des listeners et comparez à un baseline. Alertez sur nouveau port. Couplez avec le CMDB : tout listener doit mapper un service connu. Les écarts alimentent le backlog sécu.

    Séparez ports d’admin et ports métier sur des interfaces/VLANVLANRéseauxRéseau local virtuel qui segmente logiquement un LAN Ethernet sans exiger un câblage physique séparé.Voir dans le glossaire différents quand c’est possible. Exposer SSH et HTTPS métier sur la même IP publique augmente le bruit et le risque.

    Dans les architectures zero-trust, le « port ouvert » sur Internet tend vers zéro : identity-aware proxy, mesh mTLS, brokering. Comprendre sockets reste indispensable pour débugger le underlay.

    Cas pratique : une application bind 0.0.0.0:8080 en conteneur + publication NodePort + SG cloud trop large = surface énorme. Refactor : bind localhost + sidecar proxy, ou service mesh. Expliquez ce chemin à un développeur en cinq minutes : c’est une compétence réseau moderne.

    Les ephemeral port ranges varient selon OS. Sous charge de clients sortants (proxy, crawler), surveillez l’épuisement. Les symptômes ressemblent à des pannes réseau aléatoires.

    Sockets : erreurs classiques développeur↔réseau

    Bind permission denied sur port <1024 sans privilège. Bind address already in use (souvent TIME_WAIT ou double instance). Connexion refused = rien n’écoute. Timeout = filtre ou route. Broken pipe = l’autre a fermé. Traduire ces erreurs vers le réseau évite les ping-pong de tickets.

    Standardisez les messages d’erreur applicatifs pour inclure IP:port cible et errno. Vous gagnerez des heures de correlation.

    Sur les reverse proxies, la différence entre proxy_pass HTTP et stream TCP change le port backend et les headers. Documentez le mode. Les websockets ajoutent upgrade et timeouts idle spécifiques : testez-les explicitement après chaque changement de LB.

    Enfin, dressez la liste des ports réellement nécessaires au fonctionnement d’un environnement de staging, et alignez prod. Les divergences staging/prod sur les ouvertures de ports sont une source classique de « ça marchait en recette ».

    Approfondissement terrain — ports-sockets

    Dans le chapitre ports-sockets, ancrez chaque notion par un exemple vécu ou un lab de cinq minutes. Écrivez le symptôme, l’hypothèse, la commande, le résultat, la conclusion : ce journal personnel accélère votre progression plus que la relecture passive. Partagez ensuite une version anonymisée dans le wiki d’équipe pour capitaliser. Revenez sur ce texte après un incident réel : annotez ce qui manquait. La maîtrise réseau se construit par boucles courtes de pratique, pas par accumulation de slides. Fixez-vous un exercice hebdomadaire de trente minutes jusqu’à ce que les commandes deviennent des réflexes. Variez les contextes : LAN, Wi-Fi, VPN, cloud, conteneur — le même concept change de visage. Quand une explication vous semble floue, reformulez-la sans jargon à un collègue non réseau. Si vous ne pouvez pas la reformuler, la notion n’est pas encore opérationnelle. Fermez chaque session d’étude par une question ouverte que vous résoudrez la fois suivante. Gardez une liste de « myths » à déconstruire : port élevé = sécurité, ping OK = service OK, etc. Ces myths coûtent cher en production ; les tuer est un objectif pédagogique explicite. Mesurez votre temps moyen pour classer un ticket réseau simple : il doit baisser au fil des chapitres. Enfin, reliez toujours la théorie à un risque : disponibilité, confidentialité, ou intégrité. Cas 13: documentez une observation concrète liée à ports sockets dans votre environnement de lab ou de staging. Dans le chapitre ports-sockets, ancrez chaque notion par un exemple vécu ou un lab de cinq minutes. Écrivez le symptôme, l’hypothèse, la commande, le résultat, la conclusion : ce journal personnel accélère votre progression plus que la relecture passive. Partagez ensuite une version anonymisée dans le wiki d’équipe pour capitaliser. Revenez sur ce texte après un incident réel : annotez ce qui manquait. La maîtrise réseau se construit par boucles courtes de pratique, pas par accumulation de slides. Fixez-vous un exercice hebdomadaire de trente minutes jusqu’à ce que les commandes deviennent des réflexes. Variez les contextes : LAN, Wi-Fi, VPN, cloud, conteneur — le même concept change de visage. Quand une explication vous semble floue, reformulez-la sans jargon à un collègue non réseau.

    Closing note — ports et sockets

    Retenez une phrase : un port n’est qu’un numéro ; la sécurité vit dans l’identité, le réseau de confiance et la revue des exceptions. Inventoriez, justifiez, expirez. Avec cette discipline, le chapitre sockets devient un réflexe d’hygiène plutôt qu’une liste à mémoriser.

    L'essentiel à retenir

    Le port désigne l'application, l'adresse IP désigne la machine. Leur association forme un socket, et le quadruplet IP source, port source, IP destination, port destination identifie une connexion de façon unique. Les ports se répartissent en trois catégories : système, enregistrés et éphémères. Les commandes ss et lsof permettent d'inspecter les sockets ouverts sur un système.

    Questions fréquentes

    Qu'est-ce qu'un port réseau ?
    Un numéro 16 bits (0–65535) qui identifie une application ou un service sur une machine. Combiné à l'adresse IP, il forme un point d'extrémité de communication.
    Quelle est la différence entre ports bien connus et éphémères ?
    Les ports 0–1023 (well-known) sont réservés aux services classiques (80, 443, 22…). Les ports éphémères sont choisis dynamiquement côté client pour les connexions sortantes.
    Qu'est-ce qu'un socket ?
    L'association d'une adresse IP, d'un port et d'un protocole (TCP ou UDP). Une connexion TCP est identifiée par le quadruplet source/destination IP+port.
    Comment lister les ports en écoute sous Linux ?
    Avec `ss -tulpn` ou `lsof -i`. Ces commandes montrent le protocole, l'état et le processus associé.
    Pourquoi filtrer les ports inutiles ?
    Chaque service exposé augmente la surface d'attaque. On n'ouvre que le nécessaire, idéalement derrière pare-feu et authentification forte.
    Un même port peut-il servir TCP et UDP ?
    Oui, les espaces de numéros TCP et UDP sont distincts. Le port 53 existe ainsi en TCP et UDP pour DNS, avec des rôles différents.

    Progression sauvegardée dans votre navigateur.

    Quiz de validation

    Quiz de validation

    Quiz indisponible (données invalides).

    De la formation à l'action Nos experts peuvent auditer, tester ou certifier votre organisation.
    Devis gratuit
    Ch. 8/10 Ports et Sockets 80% ~15 min Mode lecture v2.7.9