Problema com o mergecap [concatenação de arquivos pcap] - informações indesejadas no arquivo de saída

0

Espero que alguém possa me ajudar ... O problema é mesclar vários arquivos .pcap. Recentemente - como uma semana atrás eu usei um mergecap para mesclar vários arquivos pcap em um. Tudo funcionou bem.

Aqui está como eu faço:

mergecap -w 28_30.11.dump.pcap testdump.pcap17  testdump.pcap19  testdump.pcap21  testdump.pcap23  testdump.pcap25

Aqui está o head do arquivo de saída (observe o ASCII na coluna do lado direito):

00000000   D4 C3 B2 A1  02 00 04 00  00 00 00 00  00 00 00 00  FF FF 00 00  01 00 00 00  32 38 B3 50  7F 11 09 00  ........................28.P....
00000020   3C 00 00 00  3C 00 00 00  00 1F D0 03  A4 9C 00 25  9C 8B F5 3E  08 06 00 01  08 00 06 04  00 01 00 25  <...<..........%...>...........%
00000040   9C 8B F5 3E  01 00 00 01  00 00 00 00  00 00 01 00  00 02 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ...>............................
00000060   00 00 00 00  32 38 B3 50  89 11 09 00  2A 00 00 00  2A 00 00 00  00 25 9C 8B  F5 3E 00 1F  D0 03 A4 9C  ....28.P....*...*....%...>......
00000080   08 06 00 01  08 00 06 04  00 02 00 1F  D0 03 A4 9C  01 00 00 02  00 25 9C 8B  F5 3E 01 00  00 01 39 38  .....................%...>....98
000000A0   B3 50 C6 78  05 00 57 00  00 00 57 00  00 00 00 25  9C 8B F5 3E  00 1F D0 03  A4 9C 08 00  45 00 00 49  .P.x..W...W....%...>........E..I
000000C0   8F 7F 40 00  40 11 81 50  01 00 00 02  3E E9 E9 E9  A1 5A 00 35  00 35 44 D5  9A FF 01 00  00 01 00 00  ..@[email protected]....>....Z.5.5D.........

Tudo ótimo. Mas ... agora quando eu faço o mesmo para qualquer arquivo capturado e uso o comando:

mergecap -w test3.pcap testdump.pcap133 testdump.pcap134 testdump.pcap135

O arquivo de saída contém informações adicionais na parte superior do arquivo (claramente visíveis na coluna ASCII à direita):

00000000   0A 0D 0D 0A  98 00 00 00  4D 3C 2B 1A  01 00 00 00  FF FF FF FF  FF FF FF FF  01 00 65 00  46 69 6C 65  ........M<+...............e.File
00000020   20 63 72 65  61 74 65 64  20 62 79 20  6D 65 72 67  69 6E 67 3A  20 0A 46 69  6C 65 31 3A  20 74 65 73   created by merging: .File1: tes
00000040   74 64 75 6D  70 2E 70 63  61 70 31 33  33 20 0A 46  69 6C 65 32  3A 20 74 65  73 74 64 75  6D 70 2E 70  tdump.pcap133 .File2: testdump.p
00000060   63 61 70 31  33 34 20 0A  46 69 6C 65  33 3A 20 74  65 73 74 64  75 6D 70 2E  70 63 61 70  31 33 35 20  cap134 .File3: testdump.pcap135
00000080   0A 00 00 00  04 00 08 00  6D 65 72 67  65 63 61 70  00 00 00 00  98 00 00 00  01 00 00 00  20 00 00 00  ........mergecap............ ...

Pessoal, eu estou completamente sem noção - qualquer conselho (excluindo cortar os primeiros bytes do arquivo) será muito apreciado.

O sistema operacional: Backtrack 5 R2 (derivativo do Ubuntu)

uname: Linux z 3.2.6 #1 SMP Fri Feb 17 10:40:05 EST 2012 i686 GNU/Linux

tcpdump version 4.3.0

libpcap version 1.0.0

Informação adicional:

ls /usr/local/bin/mergecap
-rwxr-xr-x 1 root root 37572 2012-10-31 08:09 /usr/local/bin/mergecap

 ~ > md5sum /usr/local/bin/mergecap
 e7dde01867c1e3f84dc48e5dae266f67  /usr/local/bin/mergecap

Por que isso é um problema para mim? Porque não consigo mais ler o arquivo mesclado com tcpdump -r . Tcpdump está retornando um erro que o arquivo de despejo está no formato incorreto.

    
por mnmnc 10.12.2012 / 14:19

3 respostas

0

Ok. Eu encontrei a solução, mas não a causa.

Compartilharei para futuras 'vítimas' deste infortúnio;)

Como uma dica , adicionarei que: Recentemente, eu fiz apt-get update & upgrade , o que pode de alguma forma afetar meu sistema, mas para ser completamente honesto, não tenho idéia de como e por que isso afetará a fusão.

A solução é especificar o tipo de arquivo mergecap output manualmente. Por padrão, ele deve ser libpcap, mas parece que minha versão de mergecap mudou de repente para outro tipo de arquivo de saída e usou o outro tipo por padrão.

Então, se eu usar mergecap -F libpcap -w out.pcap test1.pcap test2.pcap agora - tudo funciona bem. Não há lista de arquivos ou informações adicionais no início do arquivo de saída e o tcpdump lê o arquivo corretamente - hooray!

    
por 10.12.2012 / 15:34
1

Eu acho que você deve ter feito algo estranho, parece funcionar perfeitamente para mim:

$ head oo.pcap.merged | hexdump -C


00000000  0a 0d 0d 0a 84 00 00 00  4d 3c 2b 1a 01 00 00 00  |........M<+.....|
00000010  ff ff ff ff ff ff ff ff  01 00 52 00 46 69 6c 65  |..........R.File|
00000020  20 63 72 65 61 74 65 64  20 62 79 20 6d 65 72 67  | created by merg|
00000030  69 6e 67 3a 20 0a 46 69  6c 65 31 3a 20 61 61 61  |ing: .File1: aaa|
00000040  61 2e 70 63 61 70 20 0a  46 69 6c 65 32 3a 20 62  |a.pcap .File2: b|
00000050  62 62 62 62 2e 70 63 61  70 20 0a 46 69 6c 65 33  |bbbb.pcap .File3|
00000060  3a 20 63 63 63 63 63 2e  70 63 61 70 20 0a 00 00  |: ccccc.pcap ...|
00000070  04 00 08 00 6d 65 72 67  65 63 61 70 00 00 00 00  |....mergecap....|

Então, ele está exibindo o mesmo comportamento que você descreve, mas quando tento usar o tcpdump no arquivo, parece funcionar:

$ tcpdump -r oo.pcap.merged | head
reading from file oo.pcap.merged, link-type EN10MB (Ethernet)

E depois continua normalmente para 369 linhas.

tcpdump versão 4.3.0

Mergecap 1.8.0

    
por 10.12.2012 / 14:47
0

"0a 0d 0d 0a" é o cabeçalho do formato pcapng. O segundo arquivo é o formato pcapng.

O mergecap aceita arquivos no formato pcap ou pcapng. A libpcap atualizada se parece com o culpado.

    
por 18.04.2018 / 11:37