text2pcap 未检测到以下格式

text2pcap is not detecting the below format

我正在尝试将从路由器获得的十六进制转储转换为 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..(..@...1...
   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..;..@...0...
   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

是否有任何可用的转换器工具或脚本?

是否有可用的转换工具或脚本?

如您所知,text2pcap doesn't currently support this data format; however, I have opened a Wireshark bug report so that one day text2pcap may natively support reading data in such a format. Feel free to follow Wireshark Bug 16193 - text2pcap could be enhanced to accept input in other formats 对此增强请求的任何更新。

与此同时,您要么必须自己编写 script/command(s),找人为您编写一个,要么 use/modify 一个现有的 script/command 以便将数据转换为 text2pcap 可读的格式。为了帮助您前进,我为您提供了一种在我的测试中似乎有效的方法。假设您的输出保存在 dump.in 文件中,您可以 运行 以下内容:

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

两者都cat and sed should be available on most platforms. I actually ran this command on Windows 10 under 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

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

另请参阅:How to convert hex dump from 4 hex digit groups to 2 hex digit groups