===== 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.