#! /usr/bin/perl use strict; use warnings; # basic SNMP settings my $comm = $ARGV[1]; my $ip = $ARGV[0]; my @index; my @alias; my @descr; foreach my $result (`snmpwalk -v2c -c $comm -Ovq $ip IF-MIB:ifIndex`) { chomp($result); $index[@index] = $result; } foreach my $result1 (`snmpwalk -v2c -c $comm -Ovq $ip IF-MIB:ifAlias`) { chomp($result1); $alias[@alias] = $result1; } foreach my $result2 (`snmpwalk -v2c -c $comm -Ovq $ip IF-MIB:ifDescr`) { chomp($result2); $descr[@descr] = $result2; } # my $first = 1; print "{\n"; print "\t\"data\":[\n"; for (my $i = 0; $i < @index; $i++) { print "\t,\n" if not $first; $first = 0; print "\t{\n"; print "\t\t\"{#INDEX}\":\"$index[$i]\",\n"; print "\t\t\"{#ALIAS}\":\"$alias[$i]\",\n"; print "\t\t\"{#DESCR}\":\"$descr[$i]\"\n"; print "\t}\n"; } print "\n\t]\n"; print "}\n";