abonnel-siteweb/data/pages/informatique/linux/commandes/lsof.txt

52 lines
3.8 KiB
Plaintext
Raw Permalink Normal View History

2024-01-07 10:02:35 +01:00
====== lsof ======
{{ :dummy.png?75x75|}}
----
''lsof'' signifie **List Open Files**. C'est un outil en ligne de commande qui vous permet de voir les fichiers ouverts par les processus en cours d'exécution sur votre système Linux. Chaque processus utilise des fichiers pour communiquer avec le système, les autres processus et les périphériques, et lsof vous montre les fichiers qui sont utilisés par chaque processus.
Avec **lsof**, vous pouvez voir les fichiers de tout type, tels que les fichiers réguliers, les fichiers de sockets, les pipes nommées, les fichiers de blocs et les fichiers de caractères, qui sont utilisés par les processus en cours d'exécution sur votre système. Vous pouvez également utiliser **lsof** pour trouver les processus qui écoutent sur des ports réseau spécifiques, ce qui est utile pour déterminer les services en cours d'exécution sur votre système et qui utilisent un port donné.
===== Installer lsof =====
**lsof** n'est pas installé par défaut sur toutes les distributions. Cependant, il est facilement disponible dans les dépôts officiels et peut être installé facilement.
Si vous essayez d'utiliser **lsof** et que le système ne le reconnaît pas, cela signifie probablement qu'il n'est pas installé.
sudo apt update
sudo apt install lsof
Une fois l'installation terminée, vous pouvez utiliser la commande ''lsof'' pour afficher les fichiers ouverts par les processus en cours d'exécution.
===== Consulter les connexions TCP et UDP =====
L'option -i de la commande lsof permet de consulter les connexions TCP et UDP en cours d'utilisation sur votre système Linux.
Par exemple, la commande suivante affichera les processus qui écoutent sur le port 993 :
lsof -i :993
La sortie de cette commande vous montrera le nom du processus, le numéro de PID, le nom d'utilisateur et d'autres informations sur les processus qui écoutent sur le port 993.
L'option -i peut être combinée avec d'autres options de la commande lsof pour affiner les résultats, selon vos besoins. Par exemple, vous pouvez utiliser -i TCP pour afficher uniquement les processus qui utilisent des sockets TCP, ou -i UDP pour afficher uniquement les processus qui utilisent des sockets UDP.
--
La commande ''lsof -i'' permet d'afficher les fichiers ouverts par les processus qui utilisent des connexions réseau actives sur le système. Si vous utilisez la commande ''lsof -i'' sans spécifier de numéro de port, elle affichera toutes les connexions réseau actives sur le système, y compris les connexions TCP et UDP.
Cela peut être utile pour déterminer quels processus utilisent des connexions réseau, les adresses IP et les noms d'hôtes auxquels ils sont connectés, les ports locaux et distants utilisés pour la connexion, et d'autres informations sur les connexions réseau actives sur le système.
Notez que l'utilisation de ''lsof'' avec la commande ''sudo'' peut être nécessaire pour afficher toutes les connexions réseau, car certaines connexions peuvent être ouvertes par des processus qui n'appartiennent pas à votre utilisateur courant.
{{ :informatique:linux:commandes:pasted:20230217-185748.png }}
===== Différence entre netstat et lsof =====
**netstat -tulpn** et **lsof -i** sont tous les deux des outils qui permettent d'obtenir des informations sur les connexions réseau en cours sur un système Linux.
Si vous souhaitez obtenir une vue complète des statistiques réseau sur votre système Linux, **netstat -tulpn** peut être la meilleure option. Si vous souhaitez obtenir des informations sur les fichiers ouverts par les processus en cours d'exécution, **lsof -i** peut être plus utile. Les deux outils peuvent être utiles selon les besoins, et vous pouvez utiliser celui qui vous convient le mieux en fonction de la tâche que vous souhaitez accomplir.
--- //[[user:cedricabonnel]]//