Ho ricevuto consigli per verificare se un'app di iTunes invia dati al cloud utilizzando questa riga di comando
lsof -i | grep -E "(LISTEN|ESTABLISHED)"
Qualcuno può spiegare come funziona? Come funziona la pipeline qui?
Ho ricevuto consigli per verificare se un'app di iTunes invia dati al cloud utilizzando questa riga di comando
lsof -i | grep -E "(LISTEN|ESTABLISHED)"
Qualcuno può spiegare come funziona? Come funziona la pipeline qui?
Viene eseguito il primo lsof
:
lsof - list open files
con l'opzione -i:
-i [i] selects the listing of files any of whose Internet address matches the address specified in i. If no address is speci- fied, this option selects the listing of all Internet and x.25 (HP-UX) network files.
Quindi ottieni una lista simile a questa:
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)
con molte più voci. Per filtrare le voci si utilizza grep
:
The grep utility searches any given input files, selecting lines that match one or more patterns. By default, a pattern matches an input line if the regular expression (RE) in the pattern matches the input line without its trailing newline. An empty expression matches every line. Each input line that matches at least one of the patterns is written to the standard output.
grep is used for simple patterns and basic regular expressions (BREs); egrep can handle extended regular expressions (EREs). See re_format(7) for more information on regular expressions. fgrep is quicker than both grep and egrep, but can only handle fixed patterns (i.e. it does not interpret regular expressions). Patterns may consist of one or more lines, allowing any of the pattern lines to match a portion of the input.
e l'opzione -E effettua le seguenti operazioni:
-E, --extended-regexp
Interpret pattern as an extended regular expression (i.e. force grep to behave as egrep).
In questo caso la regex è "(LISTEN|ESTABLISHED)"
che significa semplicemente stampare le righe con listen o stabilito.