Назад | Перейти на главную страницу

Perl - Использование Net :: SNMP :: Interfaces для вывода списка интерфейсов хоста

Как я могу получить список всех интерфейсов на хосте с помощью 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.

Я думаю, что у 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;