Я надеюсь, что кто-нибудь сможет мне помочь ... Проблема заключается в объединении нескольких файлов .pcap. Недавно, как и неделю назад, я использовал mergecap для объединения нескольких файлов pcap в один. Все работало нормально
Вот как я это делаю:
mergecap -w 28_30.11.dump.pcap testdump.pcap17 testdump.pcap19 testdump.pcap21 testdump.pcap23 testdump.pcap25
Вот head
выходной файл (обратите внимание на ASCII в правом столбце):
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 ..@.@..P....>....Z.5.5D.........
Все здорово. Но ... теперь, когда я делаю то же самое для любых захваченных файлов и использую команду:
mergecap -w test3.pcap testdump.pcap133 testdump.pcap134 testdump.pcap135
Выходной файл содержит дополнительную информацию в верхней части файла (хорошо видно в столбце ASCII справа):
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............ ...
Ребята, я совершенно невежественен - любые советы (за исключением вырезания первых нескольких байтов из файла) будут высоко оценены.
ОС: Backtrack 5 R2 (производная от Ubuntu)
uname: Linux z 3.2.6 # 1 SMP пт 17 февраля 10:40:05 EST 2012 i686 GNU / Linux
tcpdump версия 4.3.0
libpcap версия 1.0.0
Дополнительная информация:
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
Почему это проблема для меня?
Потому что я больше не могу читать объединенный файл с tcpdump -r
. Tcpdump возвращает ошибку, что файл дампа в неправильном формате.
tcpdump
легко прочитать вновь созданный файл pcap с помощьюtcpdump -r mergedfile.pcap
now, с этой дополнительной информацией tcpdump возвращает ошибку:tcpdump: bad dump file format
tcpdump -h
печатает? Поскольку онtcpdump
не может прочитатьmergecap
созданный файл pcap-ng , он, вероятно, не сообщаетlibpcap version 1.1.0
или более позднюю версию libpcap, так как 1.1.0 и более поздние версии могут читать некоторые файлы pcap-ng, поэтомуtcpdump
использование 1.1.0 или более поздних версий может читать их.Ответы:
Я думаю, что вы, должно быть, сделали что-то странное, мне кажется, это работает очень хорошо
Итак, он отображает то же поведение, которое вы описали, но затем, когда я пытаюсь использовать tcpdump для файла, похоже, что оно работает:
А затем продолжается нормально для 369 строк.
tcpdump версия 4.3.0
Mergecap 1.8.0
источник
Хорошо. Я нашел решение, но не причину.
Я поделюсь им для будущих «жертв» этого несчастья;)
В качестве подсказки добавлю, что: недавно я сделал,
apt-get update & upgrade
что может как-то повлиять на мою систему, но, если честно, я понятия не имею, как и почему это повлияет на слияние.Решение состоит в том, чтобы указать
mergecap
тип выходного файла вручную. По умолчанию это должен быть libpcap, но, похоже, моя версияmergecap
внезапно переключилась на другой тип выходного файла и по умолчанию использовала другой тип.Так что, если я использую
mergecap -F libpcap -w out.pcap test1.pcap test2.pcap
сейчас - все работает нормально. В начале выходного файла нет списка файлов или дополнительной информации, и tcpdump правильно читает файл - ура!источник
«0a 0d 0d 0a» - заголовок формата pcapng. Второй файл в формате pcapng.
mergecap принимает файлы формата pcap или pcapng. Обновленный libpcap выглядит как виновник.
источник