Reduzindo um arquivo pcap para todas as operações em um arquivo NFS específico

3

Eu tenho uma captura de pacotes de 80GB (libpcap) e quero filtrá-la para tudo que envolva todas as operações em um determinado arquivo / filehandle do NFS.

Como posso conseguir isso?

Eu sei os seguintes fatos sobre o que eu quero capturar (no formato de exibição tshark):

nfs.name == ".o1_mf_1_1093__1366653401581181_.arc
nfs.fh.hash == 0x5c191ad8
nfs.fhandle == 3a:4f:47:4c:20:11:7b:48:7f:88:4f:16:94:90:a0:34:9a:fa:cf:71:e1:6a:95:fc:3e:3b:4e:6a:bb:9c:c6:c4:49:db:80:ca

Mas eu não sei como dizer ao tshark para me dar as solicitações / respostas / etc aplicáveis.

Eu tentei:

tshark -r ginormous.pcap -w 1366653401581181.pcap \
    -R "nfs.fh.hash == 0x5c191ad8" \
    -o nfs.file_name_snooping:TRUE \
    -o nfs.file_full_name_snooping:TRUE \
    -o nfs.fhandle_find_both_reqrep:TRUE

para tentar persuadir tshark a fazer a espionagem que a GUI completa faria, mas sem sucesso.

    
por MikeyB 22.04.2013 / 21:00

2 respostas

1

Com tshark -r nfs.pcap -R 'nfs.fh.hash == 0x5c191ad8' você pode obter todos os pedidos ou responder com fh. Para casos mais complicados, acho que você precisa escrever algum código. Existe uma ótima ferramenta para o link

    
por 22.04.2013 / 21:23
1

Trabalho em andamento:

tshark -r $BIGFILE -T fields -e rpc.xid -R "nfs.fh.hash == 0x5c191ad8" | \
   tshark -r $BIGFILE -R "$(\
       python -c 'import sys; xids = sys.stdin.readlines(); print("||".join(["rpc.xid=={0}".format(xid.strip()) for xid in xids]))'\
   )"
    
por 22.04.2013 / 23:35

Tags