#! /usr/local/bin/perl use strict; use Net::SNMP; #SNMP verwenden ################################################################################################################################################ do { ################################################################################################################################################ open(IP, ") { chomp($_); #Zeilenumbruch verschwindibus #sonst wird die Ausgabe Verschoben ################################################################################################################################################ my ($session, $error) = Net::SNMP->session( #Sitzung starten -hostname => shift || $_, #IP zum Gerät #kann auch Internetadresse sein -community => shift || '*****', -port => shift || 161 ); ################################################################################################################################################ if (!defined($session)) #Prüfung ob die Sitzung funktioniert { printf("ERROR: %s.\n", $error); exit 1; } ################################################################################################################################################ my $OID = '.1.3.6.1.2.1.1.2.0'; #Variable OID #OID zur Hersteller OID my $Name = '.1.3.6.1.2.1.1.5.0'; #Variable Name #OID zum Gerätename my $Loc = '.1.3.6.1.2.1.1.6.0'; #Variable Loc #OID zum Standort my $result = $session->get_request ( -varbindlist => [$OID, $Name, $Loc] ); if (!defined($result)) { printf("ERROR: %s.\n", $session->error); $session->close; exit 1; } ################################################################################################################################################ open (file, ">>ausgabe.txt"); #öffnet Datei zum speichern ################################################################################################################################################ printf ( "Standort: %s\nIP: %s\tGeraetename: %s\tOID: %s\nTemperatur: %s\tLuftfeuchte: %s\n\n", #Ausgabe der Hersteller OID $result->{$Loc}, $session->hostname, $result->{$Name}, $result->{$OID} ); printf file ( "Standort: %s\nIP: %s\tGeraetename: %s\tOID: %s\nTemperatur: %s\tLuftfeuchte: %s\n\n", #speichern in die Datei $result->{$Loc}, $session->hostname, $result->{$Name}, $result->{$OID} ); ################################################################################################################################################ $session->close; ################################################################################################################################################ } close(IP); ################################################################################################################################################ print file ( "----------------------------------------------------------------------\n\n" ); close (file); #schließen der Ausgabe Datei ################################################################################################################################################ print "----------------------------------------------------------------------\n\n"; sleep(5); ################################################################################################################################################ } while(0<1); ################################################################################################################################################ exit 0;