Perl脚本过滤wireshark以太网数据包

时间:2013-11-02 17:31:41

标签: perl filter command-line-arguments wireshark packet-sniffers

我正在开发一个库存代理守护进程,因此我目前正在尝试创建一个perl脚本,该脚本将使用LLDP协议解析以太网数据包。

我使用tshark以太网过滤器来获取这些细节,然后将它们打印出来

@ARGV = ``tshark -i ether proto \0x88cc'`;

while (@ARGV)
{
    my $item =  @ARGV;
    print "$item \n";   
}

这会导致编译错误:Can't exec "tshark"

我认为我没有正确地将tshark过滤器选项传递给命令行,但据我所知,反引号用于捕获命令行参数的输出。

1 个答案:

答案 0 :(得分:1)

我不知道tshark。但如果tshark -i ether proto \0x88cc是来自shell的可执行命令,请尝试关注其他内容,请提供更多详细信息

my @output= `tshark -i ether proto \0x88cc`;
foreach my $item (@output) {
    print "${item}\n";
}