5 votes

inverse de `lsof -i`

La course à pied lsof -i (sans arguments pour -i) "sélectionne la liste de tous les fichiers Internet et réseau x.25 (HP-UX)". Je cherche un moyen fiable de faire l'inverse : afficher une liste de tous les fichiers SAUF les fichiers Internet. Par fiable, j'entends un moyen qui ne nécessiterait que l'exécution de lsof une fois . Deux séries ultérieures (c'est-à-dire une série de tests normaux) ont été effectuées. lsof suivi d'un lsof -i afin de les comparer) n'est pas fiable en raison de la forte possibilité de désabonnement.

Merci d'avance !

2voto

Virmundi Points 393

Que dire de.. :

lsof | awk '$5 !~ /IPv[46]/{print}'

0voto

johnshen64 Points 5687

Sudo lsof | grep -v IPv4 | grep -v IPv6

Cela fonctionnerait-il pour vous ? Cela exclurait seulement ce que -i énumère.

0voto

Soviero Points 4246

Je l'ai fait rapidement, il se peut donc que la qualité ne soit pas au rendez-vous.

Ce script Python lit chaque ligne renvoyée par la commande "lsof" et vérifie que la colonne "TYPE" n'inclut pas spécifiquement "IPv4" ou "IPv6".

#!/usr/bin/env python

from sys import stdin
from re  import search

def main():
    lsof = stdin.read().strip()

    final_files = [lsof.split('\n')[0]]

    for line in lsof.split('\n')[1:]:
        if not search(r'.*(IPv4|IPv6).*', line.split()[4]):
            final_files.append(line)

    print '\n'.join(final_files)

if __name__ == '__main__':
    main()

Vous pouvez l'exécuter comme suit :

lsof | ./inverse_lsof.py

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X