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