Escutando serviços no Linux com netstat
Autor: Dário Junior | Publicado: 2013-01-02T15:41:00-02:00




O netstat

Sempre que se fala em ver as conexões que um host está abrindo com o mundo a primeira coisa que vem à cabeça de boa parte dos administradores de rede é o comando netstat.

O comando netstat aceita vários parâmetros e mostra conexões de rede, tabela de roteamento, estatí­sticas de interfaces, conexões masquerade, etc.

netstat -a

O Parâmetro -a serve para mostrar todas a conexões do computador:

# netstat -a | moreActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Foreign Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Statetcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 localhost:30037&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTENudp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 *:bootpc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Active UNIX domain sockets (servers and established)Proto RefCnt Flags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; State&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I-Node&nbsp;&nbsp; Pathunix&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ ACC ]&nbsp;&nbsp;&nbsp;&nbsp; STREAM&nbsp;&nbsp;&nbsp;&nbsp; LISTENING&nbsp;&nbsp;&nbsp;&nbsp; 6135&nbsp;&nbsp;&nbsp;&nbsp; /tmp/.X11-unix/X0unix&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ ACC ]&nbsp;&nbsp;&nbsp;&nbsp; STREAM&nbsp;&nbsp;&nbsp;&nbsp; LISTENING&nbsp;&nbsp;&nbsp;&nbsp; 5140&nbsp;&nbsp;&nbsp;&nbsp; /var/run/acpid.socketPodendo ser combinado com os parâmetros -t (netstat -at) ou -u (netstat -au) para listar respectivamente todas as conexões TCP ou UPD. 

netstat -l
O Parâmetro -l serve para mostrar as conexões com estado "LISTEN" do computador:

# netstat -lActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Foreign Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Statetcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 localhost:ipp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTENtcp6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 localhost:ipp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [::]:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTENudp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 *:49119&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *:* 

Podendo ser combinado com os parâmetros -t (netstat -lt) ou -u (netstat -lu) para listar respectivamente as conexões TCP ou UPD.

netstat -n
O Parâmetro -n serve para não tentar resolver nomes, muito útil em ocasiões onde se tem um número muito grande de conexões, pois ficaríamos bastante tempo esperando o comando terminar de resolver todos os nomes.

netstat -r
Exibe as rotas de seu computador, dependendo da tabela de rotas é interessante se utilizar netstat -nr.

netstat -p
Exibe o PID e o daemon que estão ligados à porta, eficaz para encontrar qual o processo responsável.

netstat -o
Mostra o temporizador da conexão.

netstat -s
Mostra estatísticas dos protocolos, parecido com o SNMP.