Como posso usar o netstat para exibir apenas protocolo, porta e status?

0

Estou usando netstat -lt | grep LISTEN para listar todas as portas tcp que estão escutando. Eu devo usar esses dados pelo meu aplicativo java, então eu quero formatar a saída no shell para reduzir a sobrecarga de processamento em Java. O que eu quero é:

Protocol port status
tcp      4567 LISTEN

tipo de saída. Existe alguma maneira de conseguir isso usando o netstat ou há outros aplicativos de rede fornecidos pelo unix para fazer isso?

Eu também tentei ler os arquivos de serviços por:

less /etc/services | grep tcp | cut -d '#' -f 1

mas dessa forma listará todas as portas tcp mesmo que estejam abertas ou não. Qualquer sugestão seria ótima!

    
por freerunner 19.09.2016 / 13:54

2 respostas

2

Como alternativa, leia o arquivo / proc / net / tcp em vez de lidar com os problemas de segurança de executar um programa shell.

    
por 19.09.2016 / 14:13
0

Isso não inclui os cabeçalhos de coluna, mas fornece os dados desejados em um formato delimitado por tabulações

netstat -lnt | tail -n+3 | awk '{print $1 "\t" $4 "\t" $6}'

Em execução no meu computador, recebo a seguinte saída

tcp     127.0.0.1:3306  LISTEN
tcp     0.0.0.0:22      LISTEN
tcp6    :::22   LISTEN
    
por 19.09.2016 / 14:06

Tags