如何十六进制转储从4个十六进制数字组转换为2个十六进制数字组

如果我在下面的文本格式,这是在fortigate或的FortiMail如何十六进制转储从4个十六进制数字组转换为2个十六进制数字组

FortiMail # diag sniffer packet port1 'tcp port 443' 3 

interfaces=[port1]

filters=[tcp port 443]

10.651905 192.168.0.1.50242 -> 192.168.0.2.443: syn 761714898

0x0000 0009 0f09 0001 0009 0f89 2914 0800 4500 ..........)...E.

0x0010 003c 73d1 4000 4006 3bc6 d157 fede ac16 .<[email protected]@.;..W....

0x0020 0ed8 c442 01bb 2d66 d8d2 0000 0000 a002 ...B..-f........

0x0030 16d0 4f72 0000 0204 05b4 0402 080a 03ab ..Or............

0x0040 86bb 0000 0000 0103 0303 ..........

如何CLI数据包捕获数据包捕获将其转换为此格式,以便能够使用text2pcap将其转换为pcap。因此可以在wireshark中轻松打开。

FortiMail # diag sniffer packet port1 'tcp port 443' 3 

interfaces=[port1]

filters=[tcp port 443]

10.651905 192.168.0.1.50242 -> 192.168.0.2.443: syn 761714898

0000 00 09 0f 09 00 01 00 09 0f 89 29 14 08 00 45 00 ..........)...E.

0010 00 3c 73 d1 40 00 40 06 3b c6 d1 57 fe de ac 16 .<[email protected]@.;..W....

0020 0e d8 c4 42 01 bb 2d 66 d8 d2 00 00 00 00 a0 02 ...B..-f........

0030 16 d0 4f 72 00 00 02 04 05 b4 04 02 08 0a 03 ab ..Or............

0040 86 bb 00 00 00 00 01 03 03 03 ..........

回答:

一个非常类似的问题被提出和回答的老Wireshark的询问Q &站点。 Here“SA链接到我的回答这个问题张贴逐字下面为了方便:


是的,你可以用text2pcap将其转换为一个PCAP文件,但你首先需要将数据按摩到的格式text2pcap接受,因为描述的格式目前不支持text2pcap

因此,首先,你可以将数据通过Kurt Knochner的perl脚本转换成合适的格式,给出的答案this问题,这里复制的方便:

#!/usr/bin/perl 

$| = 1;

my $regexp_time = '(\d\d:\d\d:\d\d\.\d+)';

my $regexp_hex = '(0x\d+:\s+)([0-9a-f ]+)+ ';

while (<STDIN>) {

my $input = $_;

if ($input =~ /^$regexp_time/) {

print "$1\n";

}

if ($input =~ /$regexp_hex/) {

my $counter = $1;

my $line = $2;

$line =~ s/ //g;

$counter =~ s/(0x|:)//g;

print $counter . join(' ', ($line =~ m/../g)) . "\n";

}

}

假设tcpdump输出被保存在一个名为,tcpdump.txt文件,Kurt的Perl脚本保存为convert.pl,运行:

cat tcpdump.txt | convert.pl > tcpdump_converted.txt 

一旦这样做了,在转换后的文件运行text2pcap

text2pcap -l 101 tcpdump_converted.txt tcpdump_converted.pcap 

请注意,这里我指定“原始IP”封装。有关链接类型,请参阅http://www.tcpdump.org/linktypes.html。


我意识到不是从tcpdump产生的输出,因此脚本可能无法正常工作究竟为你的情况,但它不应该太困难定制以满足您的需求如果它没有做到你需要它开箱即用。

回答:

我解决了2 VIM问题替换命令

这样一来取代所有4位十六进制为2位十六进制

%s/\s\([0-9a-f]\{2}\)\([0-9a-f]\{2}\)/ \1 \2 /g 

而这一次删除从行的开头0X

%s/^0x// 

然后运行:

text2pcap in-mod.txt out.pcap 

以上是 如何十六进制转储从4个十六进制数字组转换为2个十六进制数字组 的全部内容, 来源链接: utcz.com/qa/264831.html

回到顶部