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



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

我使用 tshark 以太网过滤器来获取这些详细信息,然后打印出来

@ARGV = ``tshark -i ether proto x88cc'`;
while (@ARGV)
{
    my $item =  @ARGV;
    print "$item n";   
}

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

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

我不知道tshark.但是,如果tshark -i ether proto x88cc是来自 shell 的可执行命令,请尝试以下操作,请提供更多详细信息

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

最新更新