greglamb
12/10/2013 - 11:10 PM

Brute Force MIB Resolver

Brute Force MIB Resolver

#!/usr/bin/perl

$childpid = open(NETSNMP_F, "snmptranslate -L o -M . cdrqCmtsCmStatusTable |");
while (<NETSNMP_F>) {
    if ($_ =~ /^Cannot find module/) {
        @mib = split(/[\(\)]/, $_);
        if (!$z{$mib[1]}) {
            print $mib[1]."\n";
            system("curl -O -f http://www.circitor.fr/Mibs/Files/".$mib[1].".mib");
            system("curl -O -f http://download.intermapper.com/thirdparty/libsmi-0.4.8/mibs/iana/".$mib[1].".txt");
            system("curl -O -f http://download.intermapper.com/thirdparty/libsmi-0.4.8/mibs/ietf/".$mib[1].".txt");
            system("curl -O -f http://download.intermapper.com/thirdparty/libsmi-0.4.8/mibs/irtf/".$mib[1].".txt");
            system("curl -O -f http://download.intermapper.com/thirdparty/libsmi-0.4.8/mibs/site/".$mib[1].".txt");
            system("curl -O -f http://download.intermapper.com/thirdparty/libsmi-0.4.8/mibs/tubs/".$mib[1].".txt");
            system("curl -O -f http://net-snmp.sourceforge.net/docs/mibs/".$mib[1].".txt");
            system("curl -O -f ftp://ftp.cisco.com/pub/mibs/v1/".$mib[1]."-V1SMI.my");
            system("curl -O -f ftp://ftp.cisco.com/pub/mibs/v2/".$mib[1].".my");
            $z{$mib[1]} = 1;
        }
    }
}