Capturando trafego de rede com TCPDUMP – Parte 2 – Filtros

Logo TCPDUMP
Falando um pouco mais de TCPDUMP, vamos usar agora os filtros!

A função dos filtros como o nome diz é filtrar o trafego a ser capturado, podemos filtrar ele por um monte de parâmetros diferentes como ip origem, destino, protocolo, porta, flags especificas dentro do protocolo, etc.

Bom vamos a alguns exemplos

Filtrando tudo que esteja relacionado ao ip 10.0.0.1

1
tcpdump -ni any host 10.0.0.1

Somente quando a origem for 10.0.0.1

1
tcpdump -ni any src host 10.0.0.1

Somente quando o destino for 10.0.0.1

1
tcpdump -ni any dst host 10.0.0.1

Somente porta 22

1
tcpdump -ni any port 22

somente porta destino 22

1
tcpdump -ni any dst port 22

Outros operadores que podemos usar para combinar :

Ether – especifica mac address

Qualquer comunicação com o mac 11:22:33:44:55:66

1
tcpdump -ni eth0 ether host 11:22:33:44:55:66

Comunicação com o mac origem aa:bb:cc:dd:ee:ff

1
tcpdump -ni eth0 ether src aa:bb:cc:dd:ee:ff

Pacotes com o mac destino 1a:2b:3c:4d:5e:6f

1
tcpdump -ni eth0 ether dst 1a:2b:3c:4d:5e:6f

Net – especifica uma rede inteira

Qualquer pacote relacionado a rede 172.16.0.0/24

1
tcpdump -ni any net 172.16.0.0/24

Pacotes com a rede origem 172.16.0.0/24 (detalhe, especificando a mascara)

1
tcpdump -ni any src net 172.16.0.0 mask 255.255.255.0

Rede destino 10.0.0.0/8

1
tcpdump -ni any dst net 10.0.0.0/8

Port – especifica uma porta, independente de ser tcp ou udp

Qualquer comunicação com a porta 80

1
tcpdump -ni any port 80

Comunicação apenas com destino a porta 443

1
tcpdump -ni any dst port 443

Apenas origem a porta 22 TCP (SSH)

1
tcpdump -ni any tcp src port 22

Apenas com destino a porta 53 UDP (consulta DNS)

1
tcpdump -ni any udp dst port 53

Portrange – define um range de portas, pode usar os mesmos filtros do port para tcp, udp, origem e destino

Comunicação nas portas entre 1 e 1024

1
tcpdump -ni any portrange 1-1024

ip proto


Especifica qual protocolo acima da camada ip o filtro irá atuar. E necessário passar como parâmetro o código do protocolo. É possível ver uma lista de protocolos lendo o arquivo /etc/protocols

Protocolo 47 (GRE – usado em alguns tipos de vpn)

1
tcpdump -ni any ip proto 47

Alguns protocolos não é necessário passar desta forma, pois o tcpdump já os conhece, são eles : icmp, icmp6, igmp, igrp, pim, ah, esp, vrrp, udp, e tcp.
Vendo os pacotes do vrrp

1
tcpdump -ni any vrrp

pacotes igmp

1
tcpdump -ni any igmp

Combinando!


Como vimos podemos usar SRC (para origem) e DST (para destino) nas expressão usada como filtro. Além disto podemos combinar elas usando AND (e) e OR (ou). Detalhe que precisamos usar o operador quando combinamos dois ou mais parâmetros do mesmo tipo (exemplo 2 ips ou 2 portas)
Exemplo:

Ip origem 10.0.0.1 e destino 12.0.0.2

1
tcpdump -ni any src host 10.0.0.1 and dst host 12.0.0.2

Ip origem 10.0.0.1 e destino 12.0.0.2 e porta 22

1
tcpdump -ni any src host 10.0.0.1 and dst host 12.0.0.2 and port 22

Destino ao ip 10.0.3.1 na porta 22/TCP(ssh) ou na 53/UDP (dns)

1
tcpdump -ni eth0 dst host 10.0.3.1 and tcp port 22 or udp port 53

Destino o ip 200.0.0.1 e porta 80/TCP(http) ou 443/TCP(https)

1
tcpdump -ni eth0 dst host 200.0.0.1 and tcp port 80 or tcp port 443

Por hora é só 🙂
em breve vou escrever um sobre filtros com flags especificar!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *