我正在使用 snmp,如何获取主机上所有接口的列表。
use Net::SNMP::Interfaces;
my $interfaces = Net::SNMP::Interfaces->new(Hostname => 'localhost',
Community => 'public' );
my @ifnames = $interfaces->all_interfaces();
但我收到的答复是:
root@localhost:~# perl i.pl
Can't call method "all_interfaces" on an undefined value at i.pl line 6.
答案1
我认为 Red Cricket 的想法是正确的。Net::SNMP::Interfaces->new
如果出现问题,将返回 undef。
您可以尝试执行以下操作吗?
#!/usr/bin/perl
use strict;
use warnings;
use Net::SNMP::Interfaces;
use Data::Dumper;
my $interfaces = Net::SNMP::Interfaces->new(
Hostname => 'localhost',
Community => 'public'
) or die "Error: $Net::SNMP::Interfaces::error";
my @ifnames = $interfaces->all_interfaces();
print Dumper \@ifnames;