Netstat a fundo (parte 1)
Vejo muito amigos e até mesmo eu usando o comando NETSTAT para ver as conexões que um determinado host está abrindo com o mundo e vice-versa, porém poucos parâmetros desse comando são utilizados. Neste artigo veremos um resumo das principais opções do comando netstat, de forma a melhor aproveitá-lo no Linux.
O comando netstat
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).
E assim sucessivamente...
Pode-se combinar a vontade, como por exemplo: netstat -autn , netstat -axn etc.
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.
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
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/socketAs 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