Un port est une entité logique qui représente un point de terminaison de communication et est associée à un processus ou service donné dans un système d’exploitation. Dans les articles précédents, nous avons expliqué comment connaître la liste de tous les ports ouverts sous Linux et comment vérifier si les ports distants sont accessibles à l’aide de la commande Netcat.
Dans ce petit guide, nous montrerons différentes manières de trouver le processus/service en écoute sur un port particulier sous Linux.
1. Utilisation de la commande netstat
La commande netstat (statistiques réseau) est utilisée pour afficher des informations concernant les connexions réseau, les tables de routage, les statistiques d’interface, etc. Il est disponible sur tous les systèmes d’exploitation de type Unix, y compris Linux et également sur le système d’exploitation Windows.
Si vous ne l’avez pas installé par défaut, utilisez la commande suivante pour l’installer.
$ sudo apt-get install net-tools [On Debian/Ubuntu & Mint] $ sudo dnf install net-tools [On CentOS/RHEL/Fedora and Rocky Linux/AlmaLinux] $ pacman -S netstat-nat [On Arch Linux] $ emerge sys-apps/net-tools [On Gentoo] $ sudo dnf install net-tools [On Fedora] $ sudo zypper install net-tools [On openSUSE]
Une fois installé, vous pouvez l’utiliser avec la commande grep pour trouver le processus ou le service à l’écoute sur un port particulier sous Linux comme suit (spécifiez le port).
$ netstat -ltnp | grep -w ':80'
Dans la commande ci-dessus, les flags.
l
– indique à netstat de n’afficher que les sockets d’écoute.t
– lui dit d’afficher les connexions tcp.n
– lui demande d’afficher les adresses numériques.p
– active l’affichage de l’ID du processus et du nom du processus.grep -w
– montre la correspondance de la chaîne exacte (:80).
2. Utilisation de la commande lsof
La commande lsof (List Open Files) est utilisée pour lister tous les fichiers ouverts sur un système Linux.
Pour l’installer sur votre système, tapez la commande ci-dessous.
$ sudo apt-get install lsof [On Debian, Ubuntu and Mint] $ sudo yum install lsof [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a sys-apps/lsof [On Gentoo Linux] $ sudo pacman -S lsof [On Arch Linux] $ sudo zypper install lsof [On OpenSUSE]
Pour trouver le processus/service à l’écoute sur un port particulier, tapez (spécifiez le port).
$ lsof -i :80
3. Utilisation de la commande fuser
La commande fuser affiche les PID des processus utilisant les fichiers ou systèmes de fichiers spécifiés sous Linux.
Vous pouvez l’installer comme suit :
$ sudo apt-get install psmisc [On Debian, Ubuntu and Mint] $ sudo yum install psmisc [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a sys-apps/psmisc [On Gentoo Linux] $ sudo pacman -S psmisc [On Arch Linux] $ sudo zypper install psmisc [On OpenSUSE]
Vous pouvez trouver le processus/service à l’écoute sur un port particulier en exécutant la commande ci-dessous (spécifiez le port).
$ fuser 80/tcp
Ensuite, recherchez le nom du processus à l’aide du numéro PID avec le commande ps ainsi.
$ ps -p 2053 -o comm= $ ps -p 2381 -o comm=
Vous pouvez également consulter ces guides utiles sur les processus sous Linux.
C’est tout! Connaissez-vous d’autres moyens de trouver le processus/service à l’écoute sur un port particulier sous Linux, faites-le nous savoir via le formulaire de commentaire ci-dessous.