tcpdump - dicas



-A: Exibe o payload em ascii;

-i any : interface alvo, é todas mas desativa o modo prosmicuo.

-n : não resolve hostnames.

-nn : não resolve hostnames ou portnames.

-X : Exibe o hex and ASCII do pacote.

-XX : o mesmo que -X, mas exite o cabeçalho ethernet.

-v, -vv, -vvv : incremento de informações sobre o pacote.

-c : Contador de pacotes.

-s : size, tanho a ser capturado. Use -s0 para o pacote completo, a menos que seja intencional a captura de tamanho fixo dos pacotes, ex: -s970.

-S : Exibe a sequência absoluta.

-e : pega o cabeçalho ethernet.

-q : exibe as informações sobre o protocolo.

-E : Decifra o trafico IPSEC por meio de uma chave.



Apresenta em tela, todas os pacotes das NIC indicadas
tcpdump -i wlan0
tcpdump -i eth0
tcpdump -i eth1
tcpdump -i any


Captura de pacotes ethernet, camada 2
tcpdump -n ether host 6c:2e:85:ec:44:db
tcpdump -e -i eth0 | grep '6c:2e:85:ec:44:db'

Captura de transações DHCP
tcpdump -n port 67

Captura da interface eth1 sem resolução de nomes:
tcpdump -ni eth1


Aumentar os níveis de detalhes da captura:
tcpdump -v -ni eth1
tcpdump -vv -ni eth1
tcpdump -vvv -ni eth1

Armazenar em arquivo a captura:
sudo tcpdump -i wlan0 -vvv -w HomeNet20120817.pcap
sudo tcpdump -vvv -nni eth0 -w wrt54g_wlan0_`date +%s`.pcap

Captura de um host específico:
tcpdump -i eth 1 -n -w capture.pcap host 192.168.25.1

Captura apenas a quantidade de bytes descritas no parametro:
tcpdump -s 1514

Captura todos os pacotes da rede especificada:
tcpdump -i wlan0 -nn net 172.16.2.0/24
tcpdump -i eth1 -n -w capture.pcap net 192.168.1
tcpdump -i eth1 -n -w capture.pcap net 192.168.1.0 mask 255.255.255.0

Captura todo o trafego IP
tcpdump -i eth1 -n -w capture.pcap ip

Captura todo o trafego TCP
tcpdump -i eth1 -n -w capture.pcap tcp

Fitragem com a codificação do protocolo IP:
tcpdump -i eth1 -n -w capture.lpc -s 1514 ip proto l2tp
tcpdump -i eth1 -n -w capture.pcap ip proto 115

Filtro de captura por portas ou serviços:
tcpdump -i eth1 -n -w capture.pcap port 21 and port 20
tcpdump -i eth1 -n -w capture.pcap port 80 || 443
tcpdump -i eth1 -n -w capture.pcap port http or https
tcpdump -i eth1 -n -w capture.pcap port ftp && port ftp-data
tcpdump -w `date +%s`.pcap -i eth1 tcp port 6881 or udp \( 33210 or 33220 \)
tcpdump -ni eth0 -w `date +%s`.pcap -s 0 -c 1000 not port 22
ou
tcpdump -ni eth0 -w `date +%s`.pcap -s 0 -c 1000 ! port 22
tcpdump -ni wlan0 -w capture.pcap '(! tcp port 80 && ! tcp port 443)'
tcpdump -ni wlan0 -w capture.pcap '(not tcp port http and not tcp port https)'

Ranger de portas
tcpdump portrange 21-23

Pelo tamanho do pacote em Bytes
tcpdump less 80
tcpdump greater 1024

Captura de pacotes ICMP:
tcpdump -e -x "icmp[0]=0"
tcpdump -e -x "icmp[0]=8"

Captura de pacotes exceto ICMP:
tcpdump -nnvvvXSs 0 dst 192.168.0.2 and src net and not icmp

Captura todo o trafego exceto ping echo e reply:
tcpdump 'icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply'

Captura entre hosts específicos:
tcpdump src 10.1.1.1
tcpdump dst 10.1.1.100

tcpdump -ennvvvS and src 10.1.1.3 and dst port 443 -w `date +%s`.pcap

tcpdump -nnvvvX src net 192.168.0.0/16 and dst net 10.0.0.0/8 or 172.16.0.0/16
tcpdump -nnvvvX src net 192.168. and dst net 10. or 172.16.

tcpdump 'src 10.1.1.4 and (dst port 543 or 22)'

tcpdump -tttt -nnSAXX -vvv -i vboxnet1 '(host 10.1.1.1 or host 10.1.1.100) and (dst port 8100 or 22) and (not arp)'

Filtros Avançados


Há também a possibilidade de usar filtro por fragmentos de pacote, com as combinações das múltiplas especificações contidas nos protocolos.

Um bom exemplo, é  procurar por SYN ou RST, usando o filtro avançado para isolar o trafego.

As flags especiais no TCP, seguem a seguinte ordem: URG, ACK, PSH, RST, SYN e FIN


Flag URGENT (URG)
#tcpdump -i any 'tcp[13]& 32 != 0'

Flag ACKNOWLEDGE (ACK)
#tcpdump 'tcp[13] & 16!= 0'


Apresenta todos PUSH (PSH) pacotes...
#tcpdump 'tcp[13] & 8 != 0'


Apresenta todos RESET (RST) pacotes...
#tcpdump 'tcp[13] & 4!= 0'

Apresenta todos SYNCHRONIZE (SYN) pacotes...
#tcpdump 'tcp[13] & 2!= 0'

Apresenta todos FINISH (FIN) pacotes...
#tcpdump 'tcp[13] & 1!= 0'

Apresenta todos SYNCHRONIZE/ACKNOWLEDGE (SYNACK) pacotes...
#tcpdump 'tcp[13]=18'

[ Note: Only the PSH, RST, SYN, and FIN flags are displayed in tcpdump's flag field output. URGs and ACKs are displayed, but they are shown elsewhere in the output rather than in the flags field ]

Keep in mind the reasons these filters work. The filters above find these various pacotes because tcp[13] looks at offset 13 in the TCP header, the number represents the location within the byte, and the !=0 means that the flag in question is set to 1, i.e. it's on.

As with most powerful tools, however, there are multiple ways to do things. The example below shows another way to capture pacotes with specific TCP flags set.


Capture TCP Flags Using the tcpflags Option...
#tcpdump 'tcp[tcpflags] && tcp-syn != 0'



Specialized Traffic

Finally, there are a few quick recipes you'll want to remember for catching specific and specialized traffic, such as IPv6 and malformed/likely-malicious pacotes.
IPv6 traffic
# tcpdump ip6
Packets with both the RST and SYN flags set (why?)
# tcpdump 'tcp[13] = 6'
Traffic with the 'Evil Bit' Set
# tcpdump 'ip[6] & 128 != 0'




LER A CAPTURA (pcap) COM TCPDUMP

Execução padrão:
tcpdump -r capture_file

Exemplos:
tcpdump -r sagemcom_1346260719.pcap
tcpdump -t -nr sagemcom_1346260719.pcap
tcpdump -tt -nr sagemcom_1346260719.pcap
tcpdump -tttt -nnr sagemcom_134626


tcpdump -tttt -AXXSnnr sagemcom_1346260719.pcap
Acima é exibido o timestemp completo, o Payload Hex e Ascii, a sequência absoluta dos pacotes, não resolvendo nomes e portas, do arquivo previamente gravado

tcpdump -tttt -nnAXXS -c 2 -r sagemcom_1346261746.pcap
Acima é exibido apenas 2 pacotes com o timestemp completo, sem resolver nomes e portas, o Payload Hex e Ascii, a sequência absoluta dos pacotes do arquivo previamente gravado

tcpdump -tttt -c 2 -ennAXXS -r sagemcom_1346261746.pcap
Acima é exibido apenas 2 pacotes com o timestemp completo, incluindo os cabeçalhos ethernet, sem resolver nomes e portas, o Payload Hex e Ascii, a sequência absoluta dos pacotes do arquivo previamente gravado sagemcom_1346260719.pcap


Referências:

man tcpdump

http://danielmiessler.com/study/tcpdump/

http://linux.byexamples.com/archives/283/simple-usage-of-tcpdump/

http://synjunkie.blogspot.com.br/2007/12/fun-with-tcpdump.html

Comentários