Kolejne wyzwanie, bash i snmpwalk w roli głównej

Ostatnio naszła mnie potrzeba sprawdzić jaki firmware posiadają urządzenia sieciowe w sieci. Prosta sprawa, można zalogować się na każde i sprawdzić, jednak przy ilości idącej w dziesiątki urządzeń nie napawa to optymizmem. Raczej nudnym klikaniem po klawiaturze męczącym bardziej niż praca w budowlance. Do pomocy przychodzi nam prosty skrypt, nawet totalny laik poświęci mniej czasu na naukę i napisanie go niż przeklikanie kilkudziesięciu urządzeń.

Potrzebujemy dwa pliki, jeden z IP urządzeń w formie:

192.168.1.1
...
192.168.10.1
192.168.12.1
192.168.13.1
...

Drugi to skrypt bash, który wykona odpowiednie polecenie pobierając sobie IP z podanego pliku:

#!/bin/bash
SNMPWALK="/usr/bin/snmpwalk"
OID1="iso.3.6.1.2.1.16.19.2.0"
OID2="iso.3.6.1.2.1.1.6.0"
LIST=`cat $HOME/ip.list`
COMMUNITY="public"
SNMPVERSION="1"
echo FIRMWARE
for ip in $LIST
do
 echo $ip
 $SNMPGET -c $COMMUNITY -v$SNMPVERSION $ip $OID1
 $SNMPGET -c $COMMUNITY -v$SNMPVERSION $ip $OID2
done

Zmienne są zmienne i można ustawić swoje, OIDy można zmienić, dodać bardzo łatwo idąc schematem przedstawionym w skrypcie. Pozdrawiam

Dodaj komentarz