Uma maneira mais eficiente de classificar o resultado do comando netstat

1

Eu estava tentando classificar apenas os endereços IP não relacionados ao firefox e gravá-los em um arquivo. Acabei com esta linha de comando, fiz o trabalho, mas estou me perguntando se existe uma maneira de fazer melhor.

netstat -antp | grep -E ?:80 | grep -v firefox > ipadress.txt &&  awk '{print }' ipadress.txt > ipadress1.txt

E existe uma maneira de ter uma saída mais limpa removendo a porta: 80? Eu usei o ipadress1.txt porque quando eu tentei sobrescrever, não funciona.

    
por eDen 08.03.2017 / 06:00

1 resposta

4

Faça awk fazer todo o trabalho:

$ netstat -antp | awk '/:80/ && !/\/firefox/{print }'                                                           
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
151.101.129.69:80
67.132.183.24:80
91.189.89.144:80
151.101.129.69:80
:::*

Explicação

O programa típico awk está estruturado desta forma:

/pattern/ {code to run if pattern matched}

Neste caso específico, usamos dois padrões: procuramos :80 string e linhas que não têm /firefox nelas. O && é lógico AND, o que significa que os padrões ambos estão à esquerda e à direita. Se tivermos uma correspondência para tal linha - execute o codeblock, que imprime apenas o quinto campo.

    
por Sergiy Kolodyazhnyy 08.03.2017 / 06:18