Bem,
Vejo muito amigos e até eu mesmo usando o comando
netstat para ver as conexões que um determinado host está abrindo com o mundo e vice e versa, porém poucos parâmetros desse comando são utilizados.
Vou exibir novos artigos falando em específico da tratativa de algumas saídas do netstat, principalmente a de rotas e a de interfaces, onde podemos pegar muitos indícios de erro.
Vou tentar ser o mais objetivo possível e espero ajudar o máximo:
# netstat -a
Mostra todas as conexões do computador, incluindo todos os protocolos e sockets (TCP, UDP, RAW).
Conexões internet ativas (servidores e estabelecidas)
Proto Recv-Q Send-Q Endereço Local Endereço Remoto Estado
tcp 0 0 *:10050 *:* OU
tcp 0 0 localhost:mysql *:* OU
tcp 0 0 localhost:submission *:* OU
tcp 0 0 *:netbios-ssn *:* OU
tcp 0 0 *:pop3 *:* OU
tcp 0 0 *:www *:* OU
tcp 0 0 *:ftp *:* OU
tcp6 0 0 [::]:ssh [::]:* OU
tcp6 0 132 teste.com.br:ssh adsl.com.br:4714 ESTABELECIDA
tcp6 0 11844 teste.com.br:ssh adsl.com.br:2288 ESTABELECIDA
udp 0 0 volvo.nti.uf:netbios-ns *:*
udp 0 0 *:netbios-ns *:*
udp 0 0 volvo.nti.u:netbios-dgm *:*
udp 0 0 *:netbios-dgm *:*
udp 0 0 *:46237 *:*
udp 0 0 localhost:snmp *:*
udp 0 0 *:718 *:*
udp 0 0 *:mdns *:*
udp 0 0 *:sunrpc *:*
udp 0 0 *:35573 *:*
Domain sockets UNIX ativos (servidores e estabelecidas)
Proto RefCnt Flags Type State I-Node Caminho
unix 2 [ ACC ] STREAM OUVINDO 14901 @ISCSIADM_ABSTRACT_NAMESPACE
unix 2 [ ACC ] STREAM OUVINDO 17267 @/var/run/dbus-z0P4AMwzz6
unix 2 [ ACC ] STREAM OUVINDO 17462 /var/run/gdm_socket
unix 2 [ ] DGRAM 6511 @/com/ubuntu/upstart
unix 2 [ ACC ] STREAM OUVINDO 17311 @/org/bluez/audio
unix 16 [ ] DGRAM 15719 /dev/log
unix 2 [ ACC ] STREAM OUVINDO 17510 /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM OUVINDO 16234 /var/run/atieventsd.socket
unix 2 [ ] DGRAM 6667 @/org/kernel/udev/udevd
unix 2 [ ACC ] STREAM OUVINDO 16662 @/var/run/hald/dbus-GQ71iqMReW
unix 2 [ ACC ] STREAM OUVINDO 17265 /var/run/sdp
unix 2 [ ACC ] STREAM OUVINDO 16007 /var/run/avahi-daemon/socket
As opções -t, -u, -w e -x exibem as atividades dos protocolos TCP, UDP, RAW ou Unix Socket respectivamente. Então a combinação pode variar, conforme abaixo:
- netstat -at (todas as conexões TCP)
- netstat -au (todas as conexões UDP)
- netstat -aw (todas as conexões RAW)
- netstat -ax (todas as conexões Unix Socket)
- netstat -aut (todas as conexões TCP e UDP)
E assim sucessivamente...
netstat -na
A opção acima é um dos mais interessantes ao meu ver, falando em especial do -n, que faz com que o comando não tente resolver nomes através de consulta ao DNS. Imagine um servidor onde temos milhares de conexões, se não usarmos o -n ficaríamos facilmente alguns bons minutos esperando o comando terminar por completo.
Pode-se combinar a vontade, como por exemplo: netstat -autn , netstat -axn etc.
netstat -r ou sem resolver nomes, netstat -nr
Exibe as rotas do seu computador, novamente, ao omitir a opção -n o comando tentará resolver todos os IPs para nome.
netstat -o
Mostra o temporizador da conexão, ou seja, a quanto tempo essa conexão está estabelecida, pode-se combinar a vontade: netstat -autno, netstat -axuo.
netstat -i
Exibe as informações de todas as interfaces ativas. Podemos ter estatísticas de erros de entrada/saída, assim com estatística de trafego.
netstat -c
Repete o comando ao final, muito útil para verificar o momento exato que uma conexão é estabelecia ou para ter noção do aumento de tráfego nas interfaces, ex.: netstat -ic , netstat -atnc.
netstat -e
Exibe uma lista mais completa. Deve ser combinado com as outras opções, como por exemplo o netstat -atne.
Com esse comando temos mais duas colunas, USER e INODE, ou seja, o usuário que subiu o processo que originou a abertura da porta e o INODE pertencente.
netstat -p
Exibe o daemon e o PID que estão ligados a essa porta, muito importante para detectarmos o daemon responsável.
netstat -s
Exibe as estatísticas dos protocolos, ou seja, quanto foi trafegado em cada protocolo. Podemos combinar para assim pegarmos a estatística de um determinado protocolo, ex.: netstat -st, netstat -su.
Acho que é isso, a principal idéia a ser passada com esse artigo, são as inúmeras combinações que podemos fazer para obter o resultado mais adequado.
Comentários são bem vindos.
Thiago Rodrigues - Miombo