GNU/Linux >> Tutoriels Linux >  >> Debian

Debian :découvrez sur quel numéro de port un processus écoute

Comme nous le savons tous, un port n'est utilisé que par un processus ou un service à la fois. Le port identifie un service particulier ou un processus en cours d'exécution sur le système. Parfois, lors du dépannage, nous devons savoir quel numéro de port un certain processus écoute. Tous les processus exécutés sur un système sont associés à un numéro d'identification de processus (PID) et à un numéro de port. Afin de trouver le numéro de port sur lequel un processus particulier écoute, il existe plusieurs façons dont nous parlerons dans cet article.

Avant de passer à l'article, assurez-vous que vous disposez des privilèges root. Il vous aidera à obtenir des informations complètes sur les processus en cours d'exécution sur votre système.

Notez que nous avons utilisé Debian 10 pour exécuter les commandes et procédures mentionnées dans cet article.

Méthode 1 :Utilisation de la commande netstat

Netstat est un utilitaire de ligne de commande le plus couramment utilisé qui peut être utilisé pour afficher des informations sur les connexions réseau, les statistiques d'interface et les tables de routage. Il peut également être utilisé pour trouver quel numéro de port est utilisé par un certain processus. Vous n'avez pas à l'installer car il est déjà installé dans les référentiels de toutes les distributions Linux. Cependant, s'il n'est pas déjà installé sur votre système, utilisez la commande suivante pour l'installer :

$ sudo apt install net-tools

Afin de trouver les numéros de port écoutés par les processus, exécutez la commande suivante dans Terminal :

$ sudo netstat -ltnp

La sortie suivante affiche les numéros de port utilisés par certains processus ainsi que leurs ID de processus (PID).

Si vous ne disposez pas des privilèges sudo et que vous exécutez la commande ci-dessus sans sudo, le nom du programme et le PID ne s'afficheront pas, comme indiqué dans la sortie suivante.

Voyons maintenant ce que le ltnp dans la commande ci-dessus signifie :

l – afficher les prises d'écoute

t – afficher les connexions TCP

n – afficher les adresses IP et les numéros de port sous forme numérique

p – afficher le PID/nom du programme

Si nous regardons la sortie de $ sudo netstat -ltnp , la quatrième colonne correspond exactement à ce que nous recherchons :le numéro de port sur lequel un processus écoute.

Afin d'obtenir les informations de port d'un seul processus, vous pouvez simplement diriger la sortie de netstat avec la commande grep.

Par exemple, pour trouver le numéro de port par rapport au "sshd", utilisez la commande suivante :

$ sudo netstat –ltnp | grep ‘sshd’

De même, si vous souhaitez connaître le nom du processus qui écoute sur un port spécifique, disons le port 21, la commande suivante sera utilisée :

$ sudo netstat -ltnp | grep -w ':21'

Méthode 2 :Utilisation de la commande lsof

Avec la commande lsof, vous pouvez afficher la liste de tous les fichiers ouverts par les processus en cours d'exécution sur votre système. Lsof peut agir comme une source unique pour obtenir des informations qui impliquent autrement un large éventail d'outils d'administration. Semblable à la commande netstat, vous aurez besoin des privilèges sudo pour obtenir des informations détaillées.

Si lsof n'est pas déjà installé sur votre système, utilisez la commande suivante dans Terminal pour l'installer :

$ sudo apt install lsof

Une fois installé, vous pouvez utiliser l'utilitaire lsof pour rechercher des processus exécutés sur des ports spécifiques. Si vous exécutez l'utilitaire lsof sans aucun paramètre, il renverra beaucoup d'informations qu'il vous sera difficile de comprendre. Cependant, l'utilisation de paramètres avec lsof peut vous aider à filtrer et à vous concentrer sur la sortie souhaitée.

Maintenant, pour trouver le processus qui écoute sur un port spécifique, disons le port 22, utilisez la commande suivante :

$ sudo lsof -i :22

Cette commande renverra tous les processus exécutés sur le port 22.

Méthode 3 :Utilisation de la commande fuser

Le fuser est une commande Linux qui est utilisée pour trouver quel ID de processus utilise un fichier, un répertoire ou un système de fichiers. Nous pouvons utiliser cette commande pour trouver le processus en cours d'exécution sur un port spécifique.

Vous aurez besoin de l'utilitaire psmisc pour utiliser la commande fuser. S'il n'est pas déjà installé sur votre système, exécutez la commande suivante pour l'installer :

$ sudo apt install psmisc

Pour afficher les processus en cours d'exécution sur n'importe quel port, disons le port TCP 22, exécutez la commande suivante dans Terminal :

$ sudo fuser 22/tcp

La commande ci-dessus a renvoyé le processus écoutant sur le port numéro 22. Maintenant, pour afficher le nom du processus par rapport à n'importe quel ID de processus, utilisez la syntaxe de commande suivante :

$ ps -p [processID] -o comm=

Dans notre cas, ce serait

$ ps -p [5859] -o comm=

À partir de la sortie ci-dessus, nous pouvons avoir trouvé le nom de processus sshd par rapport à l'ID de processus 5859. Cela implique que le sshd avec l'ID de processus 5859 écoute sur le port 22.

Dans cet article, nous avons appris quelques utilitaires de ligne de commande que vous pouvez utiliser pour voir sur quels ports un processus particulier écoute.


Debian
  1. Déterminez le numéro de port d'écoute Rsyslog ?

  2. Quelle est la commande unix pour savoir à quel fichier exécutable correspond une commande donnée ?

  3. Qu'est-ce qu'une commande pour trouver la priorité d'un processus sous Linux ?

  4. Trouver quel processus modifie un fichier

  5. Découvrez quel processus modifie un fichier

Découvrez quels processus écoutent sur un port particulier sous Linux

3 façons de trouver votre adresse IP locale dans Debian 10

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

Comment savoir quel programme utilise Internet et combien ?

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é ?