Trois méthodes pour découvrir le processus exécuté sur un port particulier sur Linux

By | August 11, 2017

Dans ce billet, nous verrons trois utilités qui permettent sous Linux de découvrir un processus en cours d’exécution sur un port particulier.
Ces utilités peuvent vous permettre également de savoir très rapidement si un service (httpd, vsftpd, sshd, mysql, etc.) est en marche sur votre système.
Ces outils sont disponibles dans toutes les distributions Linux. Pour cet article, nous choisirons Ubuntu.

lsof

La commande lsof (LiSt Open Files) permet de lister tous les fichiers ouverts sur un système Linux.
Si elle n’est pas présente sur votre système, installez-la avec la commande suivante:

$ sudo apt install lsof

Ci-dessous la syntaxe à utiliser pour découvrir le processus exécuté sur un port particulier:

$ sudo lsof -i :numero-de-port

-i permet d’afficher les processus en cours d’exécution sur un port spécifique (IPv4 ou IPv6)

netstat

netstat (network statistics) est une commande utilisée entre autres pour afficher des informations concernant les connexions réseaux, les tables de routage, les statistiques des interfaces réseaux. Elle est également disponible sur Windows.
Même si vous pouvez toujours utiliser cette commande, sachez qu’elle est désormais obsolète. Pour l’affichage des stats sur les sockets, il est recommandé d’utiliser ss (que vous verrez ci-dessous).

Si vous l’avez pas sur votre système, vous pouvez l’installer avec la commande suivante:

$ sudo apt install net-tools

Voici la syntaxe pour découvrir le processus en cours d’exécution sur un port particulier:

$ netstat -ltnpu | grep -w ‘numero-de-port’

l affiche uniquement les sockets serveurs à l’écoute,
t affiche les connexions tcp,
u pour le protocole udp,
n permet l’affichage des adresses sous forme numérique,
p affiche les ids des processus,
L’option -w de grep nous affiche la meilleure correspondance de la chaîne de caractères fournie.

ss

ss (socket statistics) fait partie du package iproute2 _ une suite d’utilités pour controller le trafic et le réseau TCP.
Iproute2 est destiné à remplacer net-tools, une suite des outils réseaux Unix, qui était utilisée pour configurer les interfaces réseaux, afficher les tables de routages, et gérer les tables ARP, etc.
Beaucoup plus rapide que netstat, ss est utilisé pour afficher les statistiques des sockets.

$ sudo apt-get install iproute2

Voici la syntaxe à utiliser pour connaître le processus en cours d’exécution sur un port spécifique:

$ ss -lptnu | grep -w “numero-de-port”

l affiche les sockets à l’écoute,
t affiche les connexions tcp,
u pour le protocole udp,
n permet l’affichage des adresses sous forme numérique,
p affiche les processus,
L’option -w de grep nous affiche la meilleure correspondance de la chaîne de caractères fournie.

mdestroy

2 thoughts on “Trois méthodes pour découvrir le processus exécuté sur un port particulier sur Linux

Leave a Reply

Your email address will not be published. Required fields are marked *