text2pcap 未检测到以下格式

问题描述 投票:0回答:2

我正在尝试将从 Cisco 路由器通过嵌入式数据包捕获功能获取的十六进制转储转换为 pcap 文件。

我的输入格式如下所示

0
   0000:  70E42273 90D2003A 7D36A502 81000183   p."s...:}6......
   0010:  080045C0 003BB1BF 40000106 8FA20A10   ..E..;..@.......
   0020:  91BD0A10 91BEAC03 00B313C4 EE96E803   ................
   0030:  1C875018 3D41832D 0000FFFF FFFFFFFF   ..P.=A.-........
   0040:  FFFFFFFF FFFFFFFF FFFF0013 04         .............
 
 1
   0000:  003A7D36 A50270E4 227390D2 81000183   .:}6..p."s......
   0010:  08004500 00281097 40000106 319E0A10   ..E..([email protected]...
   0020:  91BE0A10 91BD00B3 AC03E803 1C8713C4   ................  
   0030:  EEA95010 7B534936 0000                ..P.{SI6..
 
 2
   0000:  003A7D36 A50270E4 227390D2 81000183   .:}6..p."s......
   0010:  08004500 003B1197 40000106 308B0A10   ..E..;[email protected]...
   0020:  91BE0A10 91BD00B3 AC03E803 1C8713C4   ................
   0030:  EEA95018 7B534508 0000FFFF FFFFFFFF   ..P.{SE.........
   0040:  FFFFFFFF FFFFFFFF FFFF0013 04         .............

text2pcap 不接受上述格式,因为 text2pcap 期望

   0000:  70 E4 22 73 90 D2 00 3A 7D 36 A5 02 81 00 01 83
   0010:  08 00 45 C0 00 3B B1 BF 40 00 01 06 8F A2 0A 10

有可用的转换器工具或脚本吗?

python hex wireshark pcap cisco
2个回答
1
投票

有可用的转换器工具或脚本吗?

如您所知,

text2pcap
目前不支持此数据格式;然而,我已经打开了一份 Wireshark 错误报告,以便有一天 text2pcap 可能原生支持以这种格式读取数据。请随意关注 Wireshark Bug 16193 - text2pcap 可以增强以接受其他格式的输入以获取对此增强请求的任何更新。

与此同时,您要么必须编写自己的脚本/命令,找人为您编写脚本/命令,要么使用/修改现有脚本/命令,以便将数据转换为 text2pcap 可读的格式。为了帮助您继续前进,我为您提供了一种在我的测试中似乎有效的方法。假设您的输出保存在

dump.in
文件中,您可以运行以下命令:

cat dump.in | sed 's/\([0-9A-F]\{2\}\)/\1 /g' | sed 's/\([0-9A-F]\{2\}\) \([0-9A-F]\{2\}\) :  /\1\2  /g' > dump.out

cat
sed
都应该在大多数平台上可用。实际上,我在 Windows 10 上的 Cygwin 下运行了这个命令。

注意:我不是 sed 专家,但几乎可以肯定有 sed 专家,他们可能可以弄清楚如何让它在 1 遍中工作;我无法在我愿意花的时间上做到这一点。

使用提供的命令,我能够将数据转换为 text2pcap 可以读取的格式,然后运行

text2pcap -a dump.out dump.pcap
生成有效的 pcap 文件。运行
tshark -r dump.pcap
会生成以下输出:

1  387 2019-11-12 21:49:23.000000   0.000000 0.000000 10.16.145.189 → 10.16.145.190 BGP 77 KEEPALIVE Message
2  387 2019-11-12 21:49:23.000001   0.000001 0.000001 10.16.145.190 → 10.16.145.189 TCP 58 bgp(179) → 44035 [ACK] Seq=1 Ack=20 Win=31571 Len=0
3  387 2019-11-12 21:49:23.000002   0.000002 0.000001 10.16.145.190 → 10.16.145.189 BGP 77 KEEPALIVE Message

我认为这是正确且预期的输出。

另请参阅:如何将十六进制转储从 4 个十六进制数字组转换为 2 个十六进制数字组


0
投票

只需将文件放在 将十六进制转换为 pcapng

© www.soinside.com 2019 - 2024. All rights reserved.