Я думаю, что вы, должно быть, сделали что-то странное, мне кажется, это работает очень хорошо:
$ 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....|
Итак, он отображает то же поведение, которое вы описали, но затем, когда я пытаюсь использовать tcpdump для файла, похоже, что оно работает:
$ tcpdump -r oo.pcap.merged | head reading from file oo.pcap.merged, link-type EN10MB (Ethernet)
А затем продолжается нормально для 369 строк.
tcpdump версия 4.3.0
Mergecap 1.8.0