我正在开发一个库存代理守护进程,因此我目前正在尝试创建一个perl脚本,该脚本将使用LLDP协议解析以太网数据包。
我使用tshark以太网过滤器来获取这些细节,然后将它们打印出来
@ARGV = ``tshark -i ether proto \0x88cc'`;
while (@ARGV)
{
my $item = @ARGV;
print "$item \n";
}
这会导致编译错误:Can't exec "tshark"
。
我认为我没有正确地将tshark过滤器选项传递给命令行,但据我所知,反引号用于捕获命令行参数的输出。
答案 0 :(得分:1)
我不知道tshark
。但如果tshark -i ether proto \0x88cc
是来自shell的可执行命令,请尝试关注其他内容,请提供更多详细信息
my @output= `tshark -i ether proto \0x88cc`;
foreach my $item (@output) {
print "${item}\n";
}