-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 22ou
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 thetcpflags
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.pcapAcima é 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.pcapAcima é 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.pcapAcima é 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 tcpdumphttp://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