0

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

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

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

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

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

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

4

1 回答 1

1

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

my @output= `tshark -i ether proto \0x88cc`;
foreach my $item (@output) {
    print "${item}\n";
}
于 2013-11-02T17:45:38.947 回答