GNU/Linux >> Tutoriels Linux >  >> Linux

Les meilleures façons de savoir quel processus écoute sur un port spécifié

Présentation

Un port est un terminal de communication. Au niveau logiciel, au sein d'un système d'exploitation, un port est une construction logique qui identifie un processus spécifique ou un type de service réseau. Un port est identifié pour chaque combinaison de protocole de transport et d'adresse par un nombre non signé de 16 bits, appelé numéro de port. . Les protocoles de transport les plus courants qui utilisent des numéros de port sont le protocole de contrôle de transmission (TCP) et le protocole de datagramme utilisateur (UDP).

De plus, le port est une entité logique qui représente un point de terminaison de communication et est associée à un processus ou à un 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.

1. Utilisation de la commande lsof

lsof La commande (List Open Files) est utilisée pour lister tous les fichiers ouverts sur un Linux

Pour l'installer sur votre système, exécutez

$ sudo apt-get install lsof     #for Debian, Ubuntu and Mint
$ sudo yum install lsof         #for RHEL/CentOS/Fedora and Rocky Linux
$ sudo emerge -a sys-apps/lsof  #for Gentoo Linux
$ sudo pacman -S lsof           #for Arch Linux
$ sudo zypper install lsof      #for OpenSUSE  

Pour trouver le processus/service à l'écoute sur un port particulier, exécutez la commande ci-dessous :

[root@unixcop ~]# lsof -i :80
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   12289   root    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
httpd   24040 apache    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
httpd   24041 apache    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
httpd   24042 apache    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
[root@unixcop ~]#

2. Utilisation de la commande netstat

Alors netstat La commande fait référence aux (statistiques du réseau) utilisées pour afficher des informations telles que les connexions réseau, les tables de routage et les statistiques d'interface.

Pour installer netstat :

$ sudo apt-get install net-tools    #for Debian/Ubuntu & Mint
$ sudo dnf install net-tools        #for CentOS/RHEL/Fedora and Rocky Linux
$ pacman -S netstat-nat             #for Arch Linux
$ emerge sys-apps/net-tools         #for Gentoo
$ sudo dnf install net-tools        #for Fedora
$ sudo zypper install net-tools     #for openSUSE

Vous pouvez l'utiliser avec le grep commande pour trouver le processus ou le service à l'écoute sur un port particulier sous Linux comme avec la commande ci-dessous :

$ netstat -ultnp | grep -w ':80' 

Dans la commande ci-dessus, les drapeaux.

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

3. Utilisation de la commande fuser

fuseur La commande affiche les PID des processus utilisant les fichiers ou systèmes de fichiers spécifiés .

Vous pouvez l'installer avec :

$ sudo apt-get install psmisc     #for Debian, Ubuntu and Mint
$ sudo yum install psmisc         #for RHEL/CentOS/Fedora and Rocky Linux
$ sudo emerge -a sys-apps/psmisc  #for Gentoo Linux
$ sudo pacman -S psmisc           #for Arch Linux
$ sudo zypper install psmisc      #for OpenSUSE  

Vous pouvez trouver le processus/service à l'écoute sur un port particulier en exécutant la commande :

[root@unixcop ~]# fuser 80/tcp
80/tcp:              12289 24040 24041 24042
[root@unixcop ~]#

Pour trouver le nom du processus à l'aide du numéro PID avec la commande ps :

$ ps -p 2053 -o comm=
$ ps -p 2381 -o comm=
[root@unixcop ~]# fuser 80/tcp
80/tcp:              12289 24040 24041 24042
[root@unixcop ~]# ps -p 12289 -o comm=
httpd
[root@unixcop ~]# ps -p 24040 -o comm=
httpd
[root@unixcop ~]

Conclusion

Dans ce guide, vous connaissez les meilleurs moyens de trouver le processus/service en écoute sur un port particulier sous Linux.


Linux
  1. Vérifier quel service écoute sur un port Linux donné

  2. Linux - Trouver le pid du processus à l'aide d'un port spécifique ?

  3. Quel système de fichiers à sauvegarder est le meilleur ? ?

  4. Comment puis-je savoir quel processus utilise swap?

  5. Trouver le PID du processus utilisant un port spécifique ?

Debian vs Ubuntu :15 choses à savoir avant de choisir la meilleure

Linux Mint vs Ubuntu – Lequel est le meilleur pour vous ?

Toutes les façons de vérifier si un port est ouvert sous Linux

Quel outil de sauvegarde local est le meilleur sous Linux ?

Linux :Découvrez sur quel numéro de port un processus écoute

Existe-t-il une commande sous Linux pour connaître le numéro de processeur dans lequel un processus est chargé ?