Perl для системного администрирования


Протокол SNMP - часть 7


use SNMP;

tt Дополнительные модули MIB, нужные нам, которые можно найти з

# том же каталоге, что и сценарий

$ENV{'MIBFILES' } =

"CISCO-SMI.my:FDDI-SMT73-MIB.my:CISCO-STACK-MIB.my:BRIDGE-MIB.my ' :

tf соединяемся и получаем список виртуальных локальных сетей с

tf этого коммутатора

Ssession = new SNMP::Session(DestHost => $ARGV[0],

Community => $ARGV[1]);

die "Ошибка создания сессии: $SNMP::Session::ErrorStr" unless

(defined Ssession);

if enterprises. cisco.workgroup.ciscoStackMIB. vlanGrp. vlanTable. vlanEnrry

tt из CISCO-STACK-MIB

Svars = new SNMP::VarList(['vlanlndex' ]);

Svlan = $session->getnext($vars);

die $session->{ErrorStr) if ($session->{ErrorStr});

while (!$sess]on->{ErrorStr} and $$vars[0]->tag eq "vlanlndex"){

tf Ha CISCO CATALYST 5XXX просто не может быть более 1000

tt виртуальных локальных сетей (этот предел, скорее всего,

tf отличается для различных коммутаторов)

push(@vlans,$vlan) if $vlan < 1000;

Svlan = $session->getnext($vars):

};

undef Ssesaion,$vars;

на Cisco 5000

UseSprintVaiue => 1);

die ириска создания сессии. SSNMP . : ьеьъ^и! ..сr ruiЫ

I,: less (defined Ssession)

 dotldBi idgo.aotldTp.dotldTpFdoTable.do-.rdTpFaprr/ -,

# .13 RFC1493 BRIDGE-MIB

$vars = new S'iMP: :VarLisi(['dotiaTprcoAcaress1 ]. [ coticToFaoPort' ]):

(Smacaddr, Sportnum) = $sessior,->getnex* ($vars):

die $session-> {ErrorStr} if" ($session->{Erroi'Str/):

while ('$session->{ErrprStr} and

$$vars[0]-nag eq "dot1dTpFdpAddress"){

n ddtldBridge.dotIdBase.dotIdBasePortTable.dotIdBasePortEn try

и из RFC1493 BRIDGE-MIB

$ifnum =

(exists $ifnum{$portnum/) ? $ifnum{$portnuir\} :

($ifnum{$portnum} =

Ssession->get("dotIdBasePortIfIndex\.Sportnum")):

# из ifMIB.ifMIBODjects.ifXTable.ifXEntry из RFC1573 IF-MIB

Sportname =

(exists $portname{$ifnum}) ? $portnarne{$ifnum} :

($portname{$ifnum}=$session->get("ifName\.Sifnum"));

print "Smacaddr в виртуальной локальной сети $vlan на $portname\n":




- Начало -  - Назад -  - Вперед -



Книжный магазин