Monitorar conexoes utilizando TCPDump
Posted on Wed 20 July 2016 in Network • 2 min read
O tcpdump é um famoso sniffer para sistemas Linux. Muito util para analise e solução de problemas da rede.
Sua documentação pode ser encontrada no site oficial.
A maioria das distribuições linux possuem binarios, caso não possua, sua instalação é bem simples.
sudo apt-get install tcpdump
Inicialmente não é necessario um parametro para sua execução, você apenas precisa executar como root, pois o tcpdump irá colocar sua placa de rede em modo promiscuo.
tcpdump
Porém podemos utilizar diversos filtros por meio de parametros
Por padrão ele faz a captura da placa de rede ativa.Para selecionar a placa, devemos utilizar o parametro -i seguido da placa a ser monitorada
tcpdump -i eth0
Podemos monitorar conexoes de origem utilizando o parametro -src host. Tudo que vier do nosso gateway (192.168.1.1) para o nosso computador ( 192.168.1.10 ), será monitorado com o seguinte comando
tcpdump -i eth0 src 192.168.1.1
Se quisermos monitorar da forma inversa.Tudo que sair de nosso computador (192.168.1.10) para o nosso gateway, o comando será o seguinte
tcpdump -i eth0 dst 192.168.1.1
Também é possivel especificar a porta de origem e destino com o comando src port e dst port . Um exemplo é monitorar a porta 443
tcpdump -i eth0 dst port 443
Para que o tcpdump não converta os endereços e portas, devemos utilizar o parametro -n
tcpdump -i eth0 -n host www.google.com.br
Podemos tambem utilizar operadores booleanos para um filtro mais refinado.
Por exemplo, capturar todos os pacotes da porta 80 e 443 da rede 192.168.1.0/16
tcpdump -i eth0 -n net 192.168 and port 80 and port 443
Muitas opções podem ser obtidas com o tcpdump, essas são algumas opções basicas pra iniciar com sniffers.