Exemple avec LSOF

Lsof (List Open file) est une commande Unix/Linux qui permet de lister les fichiers actuellement ouverts sur le système.

Utilisation de commande lsof :
lsof /chemin/d'un/fichier (pour voir qui ou quoi ouvre actuellement le fichier)
lsof +D /chemin/répertoire/ (pour voir qui ou quoi ouvre actuellement les fichiers d'un répertoire )
lsof -i (tous services internet TCP/UDP)
lsof -i tcp (tous services TCP)
lsof -i udp (tous services UDP)
lsof -i tcp:80 (services TCP sur port 80)
lsof -i @192.168.2.10 (liaison internet de mon poste avec 192.168.2.10)

Afficher les fichiers ouverts par un processus (uid):

lsof -p 75014

Afficher les connexions internet ouvertes par un processus :

lsof -i -p 75014

Pour connaître tous les ports réseau ouvert par le processus qui a le pid 75014 (-a est interprété comme AND)

lsof -i -a -p 75014

La forme suivante de la commande permet de connaître tous les fichiers ouverts par l’utilisateur starmate:

lsof -u starmate

La même chose mais cette fois cela concerne tous les utilisateurs sauf starmate:

lsof -u ^starmate

L’option « -t » permet de retourner dans la sortie standard uniquement l’uid du/des processus ouvrant le/les fichier(s), il est simple par la suite de l’exploiter avec une petite boucle:

for i in `lsof -t -u starmate`; do kill -9 $i; done

Pour identifier les processus en cours d’exécution qui ont gardés ouvert des fichiers qui ont été supprimés:

lsof +L1

Les processus qui n’ont pas libérés les fichiers supprimés sont identifiés avec l’argument (deleted) en fin de ligne.

Derniers Articles