estratto da pcap tutti i protocolli trovati

9

Ho alcuni file pcap e mi piacerebbe solo avere una lista di protocolli presenti su quel file pcap. Mi piacerebbe in modalità batch, non utilizzando wireshark

Penso che tshark sia in grado di farlo, ma non sono riuscito a trovare il modo. qualche idea?

    
posta VP. 06.05.2011 - 15:46
fonte

4 risposte

9

Penso che -Tfields -eframe.protocols sarebbe la cosa più vicina che otterrai.
L'output è simile a questo:

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

Come si può vedere le informazioni visualizzate variano un po 'a seconda di quale decodificatore di protocollo può giocare. Quindi dovrai eseguire alcune operazioni di post-elaborazione per tagliare le parti che non ti servono e / o deduplica (ad esempio utilizzando il suggerimento di @ Mark nel commento).

    
risposta data 06.05.2011 - 17:52
fonte
9

Hai provato tshark -r test.cap -q -z io,phs

Ti fornirà un elenco gerarchico di protocolli, non sicuro se soddisferà le tue esigenze.

===================================================================
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
===================================================================

Per ottenere solo l'elenco dei protocolli, potresti eseguire un comando KungFu.

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

che ti darà

eth
ip
tcp
http
ssh
ssl
udp
data
ntp
nbdgm
smb
mailslot
browser
    
risposta data 06.05.2011 - 17:41
fonte
3

tcpdstat farà questo per te. Credo che sia menzionato in uno dei libri di Richard Bejtlich.

    
risposta data 06.05.2011 - 18:46
fonte
2

A differenza della maggior parte degli altri strumenti, Bro rileva i protocolli applicativi in modo agnostico . Ad esempio, rileva HTTP non solo sulle porte standard (80, 8080, ecc.), Ma in qualsiasi connessione TCP.

L'estrazione del numero di connessioni (TCP e UDP) è semplice:

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

Esempio di output da una piccola traccia HTTP:

 19 -
 53 dns
 34 http
    
risposta data 22.03.2012 - 19:02
fonte

Leggi altre domande sui tag