===== Exemplos do comando tcpdump ===== ==== Nível Básico ==== * **Capturar todo o tráfego de rede em uma interface:** - tcpdump -i eth0 - Captura todo o tráfego na interface `eth0`. * **Capturar pacotes e salvar a saída em um arquivo:** - tcpdump -i eth0 -w captura.pcap - Salva os pacotes capturados em um arquivo chamado `captura.pcap`. * **Capturar apenas pacotes de um host específico:** - tcpdump -i eth0 host 192.168.1.10 - Captura apenas pacotes vindos ou indo para o host `192.168.1.10`. * **Capturar pacotes ICMP (ping):** - tcpdump -i eth0 icmp - Captura somente pacotes ICMP, que são usados pelo ping. ==== Nível Intermediário ==== * **Capturar pacotes em uma porta específica:** - tcpdump -i eth0 port 80 - Captura apenas pacotes que estão usando a porta 80 (HTTP). * **Capturar pacotes TCP e exibir apenas o tráfego SYN:** - tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0' - Captura pacotes TCP e filtra apenas pacotes com o flag SYN. * **Capturar pacotes de ou para uma rede específica:** - tcpdump -i eth0 net 192.168.1.0/24 - Captura pacotes de toda a rede `192.168.1.0/24`. * **Capturar pacotes UDP de uma porta específica:** - tcpdump -i eth0 udp port 53 - Captura apenas pacotes UDP na porta 53 (DNS). ==== Nível Avançado ==== * **Capturar e exibir pacotes com resolução de nome de domínio desativada:** - tcpdump -i eth0 -n - Evita a resolução de nomes DNS, exibindo apenas endereços IP. * **Capturar e exibir pacotes com timestamp:** - tcpdump -i eth0 -tttt - Exibe os pacotes com timestamps detalhados. * **Capturar pacotes e exibir apenas o primeiro 100 bytes do payload:** - tcpdump -i eth0 -s 100 - Captura apenas os primeiros 100 bytes de cada pacote. * **Filtrar pacotes por intervalo de portas:** - tcpdump -i eth0 portrange 1000-2000 - Captura pacotes que usam portas no intervalo de 1000 a 2000. ==== Nível Especializado ==== * **Capturar pacotes e exibir apenas pacotes HTTP com strings filtradas:** - tcpdump -i eth0 -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' | grep "GET" - Exibe pacotes HTTP e filtra por requisições GET. * **Capturar pacotes e filtrar por flags específicos (SYN, ACK, FIN):** - tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn|tcp-ack|tcp-fin) != 0' - Captura pacotes TCP com flags SYN, ACK ou FIN. * **Capturar pacotes com filtros complexos (host, porta e protocolo):** - tcpdump -i eth0 'host 192.168.1.10 and tcp port 443 and ip proto \\tcp' - Captura pacotes TCP para o host `192.168.1.10` na porta 443 (HTTPS). * **Capturar pacotes e filtrar por tamanho (maiores que 1000 bytes):** - tcpdump -i eth0 'greater 1000' - Captura apenas pacotes com mais de 1000 bytes. * **Capturar pacotes VLAN:** - tcpdump -i eth0 'vlan 10' - Captura pacotes da VLAN 10.