Windump: TCPdump para Windows

3 12 2008

Quem está acostumado a usar o sniffer de linha de comando tcpdump no linux, provavelmente já deve ter passado pelo menos uma vez pela situação de precisar uma ferramenta parecida no windows.

Por acaso dando uma googleada eu descobri o windump, que apesar do nome diferente é a mesma ferramenta, e funciona com os mesmos parâmetros do tcpdump.

Existe um software para windows com interface gráfica chamado Wireshark que é bem mais completo. Mas ainda assim o windump pra quem está acostumado, é uma boa pedida. Quem quiser testar é só seguir os procedimentos abaixo:

Primeiro baixar aqui o windump e winpcap.

Após instalar o winpcap, é só escolher a interface onde serão escutados os pacotes do windows e o resto é tudo igual ao tcpdump. Para listar as interfaces é usado o parâmetro -D, conforme figura abaixo:

Após listar as interfaces, basta selecionar a desejada e usar o parametro -i conforme imagem abaixo:

No mesmo comando onde é usado o parâmetro -i para escolher a interface, podem ser escolhidos uma série de outros parâmetros para filtrar os dados conforme desejado.

Seguem alguns exemplos de comandos (os exemplos valem tanto para tcpdump no linux, quanto para windump no windows):

parametro -w -> grava pacotes em um arquivo)
parametro -r -> lê do arquivo criado pela opção -w (os arquivos gerados com -w podem ser lidos no wireshark tb)

tcpdump host <hostname ou endereço IP>
# scaneia somente hostname ou IP especificado
 
tcpdump host \(10.10.100.100 and 10.10.200.200\)
# scaneia os dois IP (comunicação entre dois IP)
 
windump host (10.10.100.100 and 10.20.200.200)
# OBS. windump não usa "\"
 
windump host (10.10.100.100 or 10.20.200.200)
# usando a opção "or"
 
tcpdump port 386 and not host x.x.x.x
# scaneia a porta 386 mas descarta host IP x.x.x.x
 
tcpdump -n icmp
# o argumento -n evita name service queries
tcpdump icmp
# mostra qualquer pacote ICMP
tcpdump net 10.10.0.0 mask 255.255.0.0
#  scaneia restritamente a network especificada.
 
tcpdump -n -t tcp or udp
# scaneia restritamente  TCP ou UDP
 
tcpdump -n icmp and ip src 10.0.0.1
# scaneia especifico source IP e trafego de ICMP somente
tcpdump tcp port 22
# scaneia restritamente TCP port 22
 
Filtros == > Windump usa (“argumento”) ao invés de (‘argumento’).
 
tcpdump 'ip[0] & 0x0f > 5'
# filtra pacotes com cabeçalhos maiores de 20 bytes.
 
tcpdump 'ip[8] > 5'
# filtra pacotes com valores TTL maiores de 5.
 
tcpdump ‘ip[9] = 6# filtra o 10º byte ou 9º offset  (protocol field) -  TCP = port 6  UDP = port 17
tcpdump -vv -n -x src host 192.168.0.24
# filtra pacotes da fonte especificado.
tcpdump -vv -n -x dst host 192.168.0.24
# filtra pacote do destino especificado.
tcpdump –F filter_file
# usa o arquivo filter_file.txt para especifica filtragem.
Arquivo filter_file.txt
 
#Este filtro tenta descobrir qualquer tentativa de inclusão de dados no pacote de SYN inicial.
#Fonte: Livro Network Intrusion Detection - ISBN 0-7357-1008-2 - pagina 307
 
######Inicio - cortar aqui
tcp[13] = 2
and
(      ip[2:2] -
((ip[0] & 0x0f*4) -
((tcp[12] & 0xf0/4)
) != 0
######Fim - cortar aqui
 
tcpdump 'icmp[0] != 8 and icmp[0] != 0'
# filtra ICMP mas ignora echo requests/replies
 
tcpdump ‘ip[0] & 0x0f > 5# filtra pacotes de IP maiores de 20 bytes
 
tcpdump ‘ip[19] = 0xff or ip[19] = 0x00’
# filtra .255 ou .0 broadcast
 
tcpdump ‘tcp[13] = 2# filtra TCP com flag SYN
1 = FIN , 2 = SYN , 4 = RST, 8 = PSH,
16 = ACK, 32 = URG, 64/128 = REServed.

** O 0x usado nos filtros acima informam ao TCPdump/Windump que os valores estarão sendo representados  em hexadecimal ao invés de decimal.

  • Twitter
  • RSS
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Live
  • Technorati
  • MySpace
  • Rec6
  • Digg
  • LinkedIn
  • E-mail this story to a friend!
  • Print this article!

Posts Relacionados


Acoes

Informacoes

Mande um comentario! :)

Vc pode usar essas tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">