extraer de pcap todos los protocolos encontrados

9

Tengo algunos archivos de pcap, y me gustaría obtener una lista de los protocolos que están presentes en ese archivo de pcap. Me gustaría en modo por lotes, no usar wireshark

Creo que tshark es capaz de hacerlo, pero no pude encontrar cómo. alguna idea?

    
pregunta VP. 06.05.2011 - 15:46
fuente

4 respuestas

9

Creo que -Tfields -eframe.protocols sería lo más cercano que obtendrás.
La salida se ve algo como esto:

eth:ip:tcp:http
eth:ip:tcp
eth:ip:tcp:http:media
eth:ip:tcp
eth:ip:udp:nbdgm:smb:browser
eth:ip:tcp
eth:arp
eth:arp
eth:ipv6:udp:http
eth:ip:udp:http

Como se puede ver, la información mostrada variará un poco dependiendo del protocolo que el disector pueda jugar. Por lo tanto, deberá realizar un procesamiento posterior para cortar las piezas que no necesita y / o la deducción (por ejemplo, utilizando la sugerencia de @ Mark en el comentario).     

respondido por el Eugen Constantin Dinca 06.05.2011 - 17:52
fuente
9

¿Has probado tshark -r test.cap -q -z io,phs

Le proporcionará una lista jerárquica de protocolos, sin estar seguro de si se ajustará a sus necesidades.

===================================================================
Protocol Hierarchy Statistics
Filter: frame

frame                                    frames:433 bytes:290520
  eth                                    frames:433 bytes:290520
    ip                                   frames:433 bytes:290520
      tcp                                frames:423 bytes:289464
        http                             frames:188 bytes:267285
        ssh                              frames:24 bytes:7968
        ssl                              frames:2 bytes:237
      udp                                frames:10 bytes:1056
        data                             frames:6 bytes:355
        ntp                              frames:2 bytes:180
        nbdgm                            frames:2 bytes:521
          smb                            frames:2 bytes:521
            mailslot                     frames:2 bytes:521
              browser                    frames:2 bytes:521
===================================================================

Para obtener solo la lista de protocolos, puede hacer algo de línea de comando KungFu.

tshark -r test.cap -z io,phs -q | tr -s ' ' | cut -f 2 -d ' ' | tail -n +7 | head -n -1

que te dará

eth
ip
tcp
http
ssh
ssl
udp
data
ntp
nbdgm
smb
mailslot
browser
    
respondido por el Mark Davidson 06.05.2011 - 17:41
fuente
3

tcpdstat lo hará por usted. Creo que se menciona en uno de los libros de Richard Bejtlich.

    
respondido por el atdre 06.05.2011 - 18:46
fuente
2

A diferencia de la mayoría de las otras herramientas, Bro detecta los protocolos de aplicación de forma port-agnostic . Por ejemplo, detecta HTTP no solo en los puertos estándar (80, 8080, etc.), sino en cualquier conexión TCP.

La extracción del número de conexiones (TCP y UDP) es sencilla:

bro -r trace.pcap
bro-cut service < conn.log | sort | uniq -c

Ejemplo de salida de una pequeña traza HTTP:

 19 -
 53 dns
 34 http
    
respondido por el mavam 22.03.2012 - 19:02
fuente

Lea otras preguntas en las etiquetas