Recherche de site Web

3 façons de trouver quel processus Linux écoute sur un port


Un port est une entité logique qui représente un point final de communication et est associé à un processus ou un service donné dans un système d'exploitation. Dans des 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 et au-delà. Il est disponible sur tous les systèmes d'exploitation de type Unix, y compris Linux, ainsi que 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 rechercher le processus ou le service qui écoute sur un port particulier sous Linux comme suit (précisez le port).

netstat -ltnp | grep -w ':80' 

Dans la commande ci-dessus, les drapeaux.

  • l – indique à netstat d'afficher uniquement les sockets d'écoute.
  • t – lui dit d'afficher les connexions TCP.
  • n – lui demande d'afficher les adresses numériques.
  • p – permet d'afficher l'ID du processus et le nom du processus.
  • grep -w – affiche la correspondance de la chaîne exacte (:80).

Remarque : La commande netstat est obsolète et remplacée par la commande ss moderne sous Linux.

2. Utilisation de la commande lsof

La commande lsof (List Open Files) est utilisée pour répertorier 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 qui é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 qui écoute sur un port particulier en exécutant la commande ci-dessous (spécifiez le port).

fuser 80/tcp

Recherchez ensuite le nom du processus en utilisant le numéro PID avec la commande ps comme ceci.

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 en écoute sur un port particulier sous Linux, faites-le-nous savoir via le formulaire de commentaires ci-dessous.