Inspecter les détails des sockets dans /proc/net
Dans cette étape, vous allez explorer le répertoire /proc/net
, qui fournit des informations détaillées sur la pile réseau et les protocoles réseau dans le noyau Linux. C'est là que des commandes comme ss
et netstat
obtiennent leurs données.
Le système de fichiers /proc
est un système de fichiers virtuel qui fournit des informations sur les processus et d'autres informations système. C'est un moyen puissant d'inspecter l'état interne du noyau.
À l'intérieur de /proc/net
, vous trouverez des fichiers qui contiennent des données brutes sur les connexions réseau. Par exemple, tcp
, udp
, tcp6
et udp6
contiennent des informations sur les sockets TCP et UDP actives (respectivement IPv4 et IPv6).
Regardons le contenu du fichier tcp
. Tapez la commande suivante dans votre terminal et appuyez sur Entrée :
cat /proc/net/tcp
Vous verrez une sortie qui ressemble à ceci :
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode ref pointer drops
0: 0100007F:0019 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 12345 1 0000000000000000 0
1: 00000000:0016 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 67890 1 0000000000000000 0
... (more lines)
Cette sortie est moins lisible pour l'homme que celle de ss
ou netstat
car il s'agit de données brutes du noyau. Chaque ligne représente une socket TCP et contient différents champs, notamment :
sl
: L'index de la liste des sockets.
local_address
: L'adresse IP locale et le port au format hexadécimal. 0100007F
est la représentation hexadécimale de 127.0.0.1
(adresse de bouclage), et 0019
est la représentation hexadécimale du port 25.
rem_address
: L'adresse IP distante et le port au format hexadécimal.
st
: L'état de la socket (par exemple, 0A
représente LISTEN
).
tx_queue
: La taille de la file d'attente d'envoi.
rx_queue
: La taille de la file d'attente de réception.
uid
: L'identifiant utilisateur propriétaire de la socket.
inode
: Le numéro d'inode de la socket.
Vous pouvez également afficher les sockets UDP en consultant le fichier /proc/net/udp
:
cat /proc/net/udp
Et pour les sockets IPv6, vous pouvez vérifier /proc/net/tcp6
et /proc/net/udp6
.
Bien que vous n'analysiez généralement pas directement ces fichiers au quotidien, comprendre que c'est là que proviennent les informations réseau offre une meilleure compréhension de la gestion des connexions réseau par Linux. Des commandes comme ss
et netstat
lisent essentiellement et formatent les données de ces fichiers pour faciliter leur compréhension.
Vous avez maintenant exploré les informations brutes sur les sockets disponibles dans le système de fichiers /proc/net
.
Cliquez sur Continuer pour terminer le lab.