MergeCap 问题 [ PCAP 文件连接 ] - 输出文件中存在不需要的信息

MergeCap 问题 [ PCAP 文件连接 ] - 输出文件中存在不需要的信息

我希望有人能帮助我...问题在于合并多个 .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  ..@[email protected]....>....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 星期五 2 月 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 返回错误,表示转储文件格式不正确。

答案1

我想你一定做了一些奇怪的事情,它对我来说似乎效果很好:

$ 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

答案2

好的。我找到了解决方案,但没有找到原因。

我会与未来遭遇这场不幸的“受害者”分享它;)

作为一个暗示我要补充一点:最近我所做的apt-get update & upgrade事情可能以某种方式影响了我的系统,但说实话,我不知道它会如何以及为什么会影响合并帽。

解决方案是手动指定mergecap输出文件类型。默认情况下应该是 libpcap,但我的版本似乎mergecap突然切换到其他类型的输出文件并默认使用其他类型。

所以如果我mergecap -F libpcap -w out.pcap test1.pcap test2.pcap现在使用 - 一切都会正常。输出文件的开头没有文件列表或其他信息,tcpdump 可以正确读取文件 - 太棒了!

答案3

“0a 0d 0d 0a”是pcapng格式的头文件。第二个文件是pcapng格式的。

mergecap 接受 pcap 或 pcapng 格式的文件。更新后的 libpcap 看起来是罪魁祸首。

相关内容