2 votes

De quoi se compose lsof -i | grep -E "(LISTEN|ESTABLISHED)" ?

On m'a conseillé de vérifier si une application iTunes envoie des données vers le cloud en utilisant la ligne de commande suivante

lsof -i | grep -E "(LISTEN|ESTABLISHED)"

Quelqu'un peut-il m'expliquer comment cela fonctionne ? Comment le pipeline fonctionne-t-il ici ?

6voto

Premier lsof est exécuté :

lsof - list open files

avec l'option -i :

-i [i] sélectionne la liste des fichiers dont l'adresse Internet correspond à l'adresse spécifiée dans i. Si aucune adresse n'est spécifiée, cette option spécifiée, cette option sélectionne la liste de tous les fichiers Internet et x.25 (HP-UX).

Vous obtenez donc une liste similaire à celle-ci :

Safari      252 pfitz   33u  IPv4 0x1052718d4b4f54ef      0t0  TCP localhost:49289->localhost:6263 (ESTABLISHED)
Safari      252 pfitz   36u  IPv4 0x1052718d4b4f54ef      0t0  TCP localhost:49289->localhost:6263 (ESTABLISHED)
iTunes      254 pfitz   28u  IPv4 0x1052718d460f9d07      0t0  TCP *:49196 (LISTEN)
iTunes      254 pfitz   30u  IPv4 0x1052718d460fb4ef      0t0  TCP *:daap (LISTEN)
iTunes      254 pfitz   31u  IPv6 0x1052718d37b6b627      0t0  TCP *:daap (LISTEN)

avec beaucoup plus d'entrées. Pour filtrer les entrées, on utilise grep :

L'utilitaire grep recherche dans tous les fichiers d'entrée donnés, en sélectionnant les lignes qui qui correspondent à un ou plusieurs motifs. Par défaut, un motif correspond à une ligne d'entrée d'entrée si l'expression régulière (RE) du motif correspond à la ligne d'entrée sans sa nouvelle ligne de fin. Une expression vide correspond à toutes les lignes. Chaque ligne d'entrée de ligne d'entrée qui correspond à au moins un des motifs est écrite sur la sortie standard.

grep est utilisé pour les motifs simples et les expressions régulières de base (BRE) ; egrep peut gérer les expressions régulières étendues (ERE). Voir re_format(7) pour pour plus d'informations sur les expressions régulières. fgrep est plus rapide que grep et egrep, mais ne peut traiter que les motifs fixes (c'est-à-dire qu'il n'interprète pas les expressions régulières). n'interprète pas les expressions régulières). Les motifs peuvent consister en une ou plusieurs lignes, permettant à n'importe laquelle des lignes du motif de correspondre à une partie de l'entrée.

et l'option -E fait ce qui suit :

-E, --extended-regexp

Interpréter le motif comme une expression régulière étendue (c'est-à-dire forcer grep à se comporter comme egrep).

La regex dans ce cas est "(LISTEN|ESTABLISHED)" ce qui signifie qu'il suffit d'imprimer les lignes avec listen ou established.

Conclusion

  1. lsof construit une liste avec toutes les connexions Internet.
  2. Pour être utile, il doit être filtré avec grep.
  3. Il est donc filtré avec l'expression régulière qui recherche soit ÉCOUTEZ o ÉTABLI

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X