Advertisement
Izya12

run_sn.sh

Apr 11th, 2014
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 8.40 KB | None | 0 0
  1. #/bin/bash
  2. . "/etc/CFG_FULL.cfg"
  3.  
  4. #rm $pwd/db_ip_test.txt
  5. #rm $pwd/db_ip_agr.txt
  6.  
  7. nmap --excludefile $pwd/db_ip_exclude.txt -sn 192.168.212.0/22 | egrep -v "Host|nmap" | awk '{print $5}' | grep "[[:digit:]]" > $pwd/db_ip_test.txt
  8. nmap --excludefile $pwd/db_ip_agr_exclude.txt -sn 192.168.212.2-49 | egrep -v "Host|nmap" | awk '{print $5}' | grep "[[:digit:]]" > $pwd/db_ip_agr.txt
  9.  
  10. cd $pwd/name_sn
  11. DATE="$(date +"%Y%m%d")"
  12. #------------------------------------------------------------------------------------------------------------------------------------#
  13. #------------------------------------------------------------------------------------------------------------------------------------#
  14. #------------------------------------------------------------------------------------------------------------------------------------#
  15. #Коммутаторы доступа
  16. #------------------------------------------------------------------------------------------------------------------------------------#
  17. #------------------------------------------------------------------------------------------------------------------------------------#
  18. #------------------------------------------------------------------------------------------------------------------------------------#
  19. # Задаем имена таблици
  20. echo "IP, Модель, HW, FW, Всего портов, Занято портов, Улица, Дом, Подъезд, SN, MAC, IP-TV, PPPoE, PPPoE name" > LOG/name_sn.db_1_$DATE.csv
  21.  
  22. AllSnmp ()
  23. {
  24.     SN=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.3.6.1.4.1.171.12.1.1.12.0 | awk '{print $4}' | sed -e "s/\"//g")
  25.     NAMEUL=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.3.0 | awk '{print $4}' | sed -e "s/\"//g" | awk -F "-" '{print $1}')
  26.     NAMEDOM=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.3.0 | awk '{print $4}' | sed -e "s/\"//g" | awk -F "-" '{print $2}')
  27.     NAMEPOD=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.3.0 | awk '{print $4}' | sed -e "s/\"//g" | awk -F "-" '{print $3}')
  28.     MAC=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.2.0 | awk '{print $4 , $5 , $6 , $7 , $8 , $9}' | sed -e "s/ /-/g")
  29.     PORTOV=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.3.6.1.2.1.17.1.2.0 | awk '{print $4}')
  30.     VLANPPPoE=$(/usr/local/bin/snmpwalk -v2c -c $CommunityRO $IP SNMPv2-SMI::mib-2.17.7.1.4.3.1.1 | grep -E "4.3.1.1.[[:digit:]][[:digit:]][[:digit:]][[:digit:]]" | awk -F "." '{print $9}' | awk '{print $1}' | head -n 1)
  31.     VLANPPPoEName=$(/usr/local/bin/snmpwalk -v2c -c $CommunityRO $IP SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.$VLANPPPoE | awk '{print $4}' | sed -e "s/\"//g")
  32.     ZANYATO=$(cat $pwd/port_up_down/log/$IP.log | grep "[[:digit:]]" | wc -l)
  33. return
  34. }
  35.  
  36. while read IP
  37. do
  38.  
  39.   HW=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.3.6.1.2.1.16.19.3.0 | awk '{ print $4 }' | sed -e "s/\"//g")
  40.   if [ "$HW" = "A1" -o "$HW" = "B1" ]
  41.     then
  42.       MODEL=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.3.6.1.2.1.1.1.0 | awk '{print $5}' | sed -e "s/\"//g")
  43.       if [[ "$MODEL" = DES-3200* ]]
  44.       then
  45.     #------------------------------------------------------------------------------------------------------------------------------------#
  46.     AllSnmp
  47.     BUILD=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.3.6.1.2.1.47.1.1.1.1.9.1 | awk '{print $4}' | sed -e "s/\"//g")
  48.     if [ "$PORTOV" = "26" ]
  49.     then
  50.       VLANIPTV=$(/usr/local/bin/snmpwalk -v2c -c $CommunityRO $IP 1.3.6.1.4.1.171.11.113.1.5.2.7.8.1.1 | awk '{print $4}' | sed -e "s/\"//g")
  51.     else
  52.       VLANIPTV=$(/usr/local/bin/snmpwalk -v2c -c $CommunityRO $IP 1.3.6.1.4.1.171.11.113.1.3.2.7.8.1.1 | awk '{print $4}' | sed -e "s/\"//g")
  53.     fi
  54.     echo "$IP, $MODEL, $HW, $BUILD, $PORTOV, $ZANYATO, $NAMEUL, $NAMEDOM, $NAMEPOD, $SN, $MAC, $VLANIPTV, $VLANPPPoE, $VLANPPPoEName" >> LOG/name_sn.db_1_$DATE.csv
  55.       elif [[ "$MODEL" = DES-1228* ]]
  56.       then
  57.     AllSnmp
  58.     BUILD=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP  1.3.6.1.2.1.16.19.2.0 | awk '{print $5}' | sed -e "s/\"//g")
  59.     VLANIPTV=$(/usr/local/bin/snmpwalk -v2c -c $CommunityRO $IP 1.3.6.1.4.1.171.11.116.2.2.7.8.1.1 | awk '{print $4}')
  60.     echo "$IP, $MODEL, $HW, $BUILD, $PORTOV, $ZANYATO, $NAMEUL, $NAMEDOM, $NAMEPOD, $SN, $MAC, $VLANIPTV, $VLANPPPoE, $VLANPPPoEName" >> LOG/name_sn.db_1_$DATE.csv
  61.       fi
  62.  
  63.     #------------------------------------------------------------------------------------------------------------------------------------#
  64.     elif [ "$HW" = "C1" -o "$HW" = "A3" ]
  65.     then
  66.       #------------------------------------------------------------------------------------------------------------------------------------#
  67.       AllSnmp
  68.       MODEL=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.3.6.1.2.1.1.1.0 | awk '{print $4}' | sed -e "s/\"//g")
  69.       BUILD=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.3.6.1.2.1.47.1.1.1.1.9.1 | awk '{print $4}' | sed -e "s/\"//g")
  70.       VLANIPTV=$(/usr/local/bin/snmpwalk -v2c -c $CommunityRO $IP 1.3.6.1.4.1.171.12.64.3.1.1.1 | awk '{print $4}' | sed -e "s/\"//g")
  71.       echo "$IP, $MODEL, $HW, $BUILD, $PORTOV, $ZANYATO, $NAMEUL, $NAMEDOM, $NAMEPOD, $SN, $MAC, $VLANIPTV, $VLANPPPoE, $VLANPPPoEName" >> LOG/name_sn.db_1_$DATE.csv
  72.       #------------------------------------------------------------------------------------------------------------------------------------#
  73.     else
  74.       #------------------------------------------------------------------------------------------------------------------------------------#
  75.       AllSnmp
  76.       MODEL=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.3.6.1.2.1.1.1.0 | awk '{print $5}' | sed -e "s/\"//g")
  77.       BUILD=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.3.6.1.2.1.47.1.1.1.1.9.1 | awk '{print $4}' | sed -e "s/\"//g")
  78.       VLANIPTV=$(/usr/local/bin/snmpwalk -v2c -c $CommunityRO $IP 1.3.6.1.4.1.171.11.113.1.3.2.7.8.1.1 | awk '{print $4}' | sed -e "s/\"//g")
  79.       echo "$IP, $MODEL, $HW, $BUILD, $PORTOV, $ZANYATO, $NAMEUL, $NAMEDOM, $NAMEPOD, $SN, $MAC, $VLANIPTV, $VLANPPPoE, $VLANPPPoEName" >> LOG/name_sn.db_1_$DATE.csv
  80.       /bin/echo "$IP $HW" >> $pwd/name_sn/erorr_log_$DATE.log
  81.       #------------------------------------------------------------------------------------------------------------------------------------#
  82.   fi
  83.  
  84.  
  85. done < $pwd/db_ip_test.txt
  86. #------------------------------------------------------------------------------------------------------------------------------------#
  87. #------------------------------------------------------------------------------------------------------------------------------------#
  88. #------------------------------------------------------------------------------------------------------------------------------------#
  89. #Коммутаторы агригации
  90. #------------------------------------------------------------------------------------------------------------------------------------#
  91. #------------------------------------------------------------------------------------------------------------------------------------#
  92. #------------------------------------------------------------------------------------------------------------------------------------#
  93. # Задаем имена таблици
  94. echo "IP, Модель, Всего портов, FW, Адрес, SN, MAC" > LOG_AGR/name_sn.db_agr_$DATE.csv
  95.  
  96. while read IP
  97. do
  98.   #------------------------------------------------------------------------------------------------------------------------------------#
  99.   SN=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.3.6.1.4.1.171.12.1.1.12.0 | awk '{print $4}' | sed -e "s/\"//g")
  100.   NAME=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.3.0 | awk '{print $4}' | sed -e "s/\"//g")
  101.   MODEL=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.3.6.1.2.1.1.1.0 | awk '{print $4}' | sed -e "s/\"//g")
  102.   MAC=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.0.8802.1.1.2.1.3.2.0 | awk '{print $4 , $5 , $6 , $7 , $8 , $9}' | sed -e "s/ /-/g")
  103.   BUILD=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.3.6.1.2.1.47.1.1.1.1.9.1 | awk '{print $4}' | sed -e "s/\"//g")
  104.   PORTOV=$(/usr/local/bin/snmpget -v2c -c $CommunityRO $IP iso.3.6.1.2.1.17.1.2.0 | awk '{print $4}')
  105.   echo "$IP, $MODEL, $PORTOV, $BUILD, $NAME, $SN, $MAC" >> LOG_AGR/name_sn.db_agr_$DATE.csv
  106.   #------------------------------------------------------------------------------------------------------------------------------------#
  107. done < $pwd/db_ip_agr.txt
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement