#!/bin/bash -i ##################################################################### # project for: Advanced Computer Network Technologies 2004/2005 # # authors: Nour Oweis, Milan Egydy # # description: script for print dot1dTpFdbTable using snmpwalk # ##################################################################### tmp1=/tmp/tmp1$$ tmp2=/tmp/tmp2$$ tmp3=/tmp/tmp3$$ statusstr[0]=unknown statusstr[1]=other statusstr[2]=invalid statusstr[3]=learned statusstr[4]=self statusstr[5]=mgmt snmpwalk -c $1 -v 1 -O f $2 1.3.6.1.2.1.17.4.3 > $tmp3 #command snmpwalk -c public -v 1 - O f 127.0.0.1 1.3.6.1.2.1.4 #cat $tmp3 #pok=`cat $tmp3|cut -d: -f4` #echo $pok cat $tmp3|cut -d: -f2 > $tmp1 #cat $tmp1 #wc -l $soubor | cut -d" " -f1 cislo=`wc -l $tmp1 | cut -d" " -f1` cislo=`expr $cislo / 3`; #echo pocetradku $cislo #echo nacitani for((i=0;$i<$cislo ;$((i++)))); do read tmpline < $tmp1 mac[$i]=$tmpline sed '1 d' $tmp1 > $tmp2 tmp=$tmp1 tmp1=$tmp2 tmp2=$tmp done for((i=0;$i<$cislo ;$((i++)))); do #echo ahoj + $i read tmpline < $tmp1 #echo $tmpline port[$i]=$tmpline sed '1 d' $tmp1 > $tmp2 tmp=$tmp1 tmp1=$tmp2 tmp2=$tmp done for((i=0;$i<$cislo ;$((i++)))); do #echo ahoj + $i read tmpline < $tmp1 #echo $tmpline status[$i]=$tmpline sed '1 d' $tmp1 > $tmp2 tmp=$tmp1 tmp1=$tmp2 tmp2=$tmp done echo MAC Address table: echo "MAC address port status " echo "=========================================" for((i=0;$i<$cislo ;$((i++)))); do echo -n ${mac[$i]} " " echo -n ${port[$i]} " " echo ${statusstr[${status[$i]}]} done #echo konec rm -f $tmp1 rm -f $tmp2 rm -f $tmp3