首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从k12文本文件中为源/目标IP排序Wireshark以太网数据包的Perl脚本

从k12文本文件中为源/目标IP排序Wireshark以太网数据包的Perl脚本
EN

Stack Overflow用户
提问于 2014-10-01 11:56:20
回答 1查看 265关注 0票数 0

基本上就是想做Tshark所做的事情

代码语言:javascript
复制
tshark -r mysample.pcapng.gz -2 -Tfields -R ip -eip.src -eip.dst -eframe.protocols

使用perl..。所以从k12文本文件中提取(文本文件中的信息示例)

代码语言:javascript
复制
+---------+---------------+----------+
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

EN

回答 1

Stack Overflow用户

发布于 2014-10-01 16:07:33

您只需要一个函数来创建一个可以用来比较条目的键:

代码语言:javascript
复制
# 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;
}

顺便说一句,不需要转换成二进制,比较十六进制表示也是正确的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26133868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档