基本上就是想做Tshark所做的事情
tshark -r mysample.pcapng.gz -2 -Tfields -R ip -eip.src -eip.dst -eframe.protocols使用perl..。所以从k12文本文件中提取(文本文件中的信息示例)
+---------+---------------+----------+
02:25:41,660,101 ETHER
|0 |ff|ff|ff|ff|ff|ff|b4|b6|76|53|9d|a0|08|00|45|00|00|4e|4f|85|00|00|80|11|68|b3|c0|a8|00|17|c0|a8|00|ff|
00|89|00|89|00|3a|74|68|c6|2a|01|10|00|01|00|00|00|00|00|00|20|46|48|46|41|45|42|45|45|43|41|43|41|43|41|43|41|43|41|43|41|43|41|43|41|43|41|43|41|43|41|41|41|00|00|20|00|01|我一直在检查我的代码,拆分和排序到aray,只是无法让我的生活甚至开始。基本上需要删除直到第二个"|“的所有内容。接下来的6个部分(用”|“分隔)是目的IP,接下来的6个是源IP,接下来的2个是协议类型,然后转换为二进制。
如果有人为此写了什么简单的东西,我将非常感谢。这是一篇班级作业,针对证券课。
原始源Wireshark Display Filter for Unique Source/Destination IP and Protocol
发布于 2014-10-01 16:07:33
您只需要一个函数来创建一个可以用来比较条目的键:
# untested
sub key {
my $line = shift;
my @key = (split /\|/, $line)[2..7, 8..13, 14..15];
return join '-', @key;
}
sub sort_lines {
my @lines = @_;
return sort { key($a) cmp key($b) } @lines;
}顺便说一句,不需要转换成二进制,比较十六进制表示也是正确的。
https://stackoverflow.com/questions/26133868
复制相似问题