Comment utiliser LSOF pour surveiller les ports en temps réel

Comment Utiliser Lsof Pour Surveiller Les Ports En Temps Reel



LSOF (List Open Files) est un outil de surveillance en ligne de commande utilisé dans les systèmes d'exploitation de type Linux/Unix. La commande LSOF fournit des informations sur les fichiers actifs et les processus qui y accèdent actuellement.

L'outil de ligne de commande LSOF est très utile aux administrateurs système et aux développeurs en leur permettant de :

  • Déterminer les processus qui utilisent actuellement un fichier ou un port spécifique, particulièrement important en cas de conflits de ports
  • Détectez les fichiers qui ont été supprimés mais qui sont toujours ouverts par des processus pouvant entraîner une consommation d'espace inutile ; la commande LSOF sert à identifier et à traiter de telles instances
  • Aide efficacement à dépanner les erreurs, telles que « le port est déjà utilisé »
  • Gardez une trace de l'activité du réseau et ouvrez les connexions réseau à des fins de surveillance
  • Enquêter sur les modèles d'accès aux fichiers, contribuant ainsi à l'identification de failles de sécurité potentielles

Dans ce didacticiel, vous apprendrez à utiliser la commande LSOF pour surveiller les ports en temps réel.







Syntaxe de base de la commande LSOF

La syntaxe de la commande LSOF est la suivante :



$ lsof [ choix ] [ des noms ]

Les options sont les indicateurs utilisés avec la commande LSOF. Les noms représentent les noms de fichiers, les PID (ID de processus), les noms d'utilisateur ou les fichiers réseau (IPv4, IPv6). En fonction des options proposées, la commande LSOF affiche une liste de fichiers ouverts correspondant à ces noms.



Surveiller les ports en temps réel à l'aide de la commande LSOF

LSOF est inclus par défaut dans de nombreux systèmes Linux. Vous devez télécharger et installer manuellement l'un des packages disponibles s'il n'est pas installé. Pour vérifier l'installation de LSOF sur votre système, utilisez la commande suivante pour afficher la version installée :





$ lsof -dans

Il est important de noter que pour utiliser la commande LSOF avec les autorisations appropriées, certaines informations sur les processus et les connexions réseau peuvent nécessiter des privilèges de superutilisateur élevés, et vous devrez peut-être utiliser « sudo » pour exécuter la commande avec des droits d'administrateur.



Lister les fichiers réseau

Lorsque vous exécutez la commande LSOF avec l'option « -i », elle affiche les informations sur les processus qui ont des connexions réseau telles que les sockets d'écoute ou les connexions établies.

$ lsof –je

La commande précédente affiche les informations sur le nom du processus (COMMAND), l'ID du processus (PID), l'utilisateur (USER), le descripteur de fichier (FD), le type de connexion (TYPE), les adresses locales et distantes et l'état de la connexion. Vous devriez voir le résultat suivant :

Lister les connexions TCP

Vous pouvez filtrer la sortie en fonction de critères spécifiques tels que les types particuliers de connexions ou de ports. Par exemple, vous pouvez utiliser « lsof -i tcp » pour répertorier uniquement les processus associés à une connexion TCP.

$ lsof -je TCP : 1 - 1024

La commande précédente filtre les informations sur les processus qui ont des connexions TCP ouvertes dans la plage de ports spécifiée de 1 à 1024. Cela peut être utile pour identifier les processus qui utilisent les ports bien connus associés aux services communs.

Surveiller un port spécifique en temps réel

Grâce à LSOF, vous pouvez surveiller un port spécifique en temps réel. Par exemple, vous souhaitez surveiller les processus liés au « HTTP » sur le port 80 qui se met à jour toutes les 3 secondes. Pour cela, surveillez le port 80 en temps réel avec la commande suivante :

$ lsof -je : 80 -r3

Surveillez le port SSHD 22 en temps réel

Pour surveiller toutes les connexions SSHD exécutées sur le port 22, exécutez la commande suivante :

$ sudo lsof -je : 22 -r3

Cette commande surveille et affiche en permanence les informations en temps réel sur les connexions réseau sur le port 22 toutes les 3 secondes. Ceci est particulièrement utile pour suivre les modifications, telles que les nouvelles connexions ou déconnexions SSH, lorsqu'elles se produisent en temps réel.

Surveillez la plage de ports en temps réel

Pour surveiller les informations sur les processus en temps réel qui ont des connexions TCP ouvertes dans la plage de ports spécifiée de 1 à 1024, vous pouvez utiliser la commande suivante :

$ lsof -je TCP : 1 - 1024 -r3

Surveillez tous les ports en temps réel

Vous pouvez surveiller toutes les connexions réseau en temps réel à l'aide de la commande LSOF. Par exemple, vous souhaitez exécuter une surveillance continue et afficher les informations en temps réel sur les connexions réseau toutes les 5 secondes.

$ lsof -je -r5

Le résultat suivant inclut les détails sur les processus et leurs sockets réseau associés en temps réel toutes les 5 secondes :

De même, vous pouvez également surveiller uniquement les connexions « établies » avec la commande LSOF :

$ lsof -je -ET -r10

Conclusion

Dans ce tutoriel, nous avons appris à surveiller les ports en temps réel à l'aide de la commande LSOF. Cette commande peut également aider les administrateurs système et autres utilisateurs Linux à surveiller les connexions réseau, y compris tous les ports actifs ou ouverts. Nous espérons que ce guide vous aidera à comprendre comment utiliser la commande LSOF avec différentes options et surveiller les différents ports et processus en temps réel.