Informe SNMP deber1

Click here to load reader

download Informe SNMP deber1

of 27

  • date post

    25-Jun-2015
  • Category

    Documents

  • view

    172
  • download

    0

Embed Size (px)

Transcript of Informe SNMP deber1

TEMA

SCRIPT PARA SNMPOBJETIVOSObjetivo General Conocer la manera de elaborar scripts en el Sistema Operativo Linux para obtener los diferentes parmetros del protocolo SNMP. Objetivo Especfico Investigar sobre los comandos que se utilizan para la elaboracin de los scripts en el Sistema Operativo Linux. Elaborar un script en el Sistema Operativo Linux que permita obtener los diferentes datos que maneja el protocolo SNMP para su posterior anlisis.

JUSTIFICACINEl protocolo SNMP es un protocolo que sirve para hacer gestin a una red, es por eso que existe la necesidad del estudio y la elaboracin de scripts con los que se pueden realizar anlisis y estudio de los paquetes que se envan a travs de la red. As de esta manera se puede mejorar la eficiencia de la misma y el rendimiento de todos sus componentes.

MARCO TERICOEl Protocolo Simple Network Management Protocol (SNMP) es un protocolo de la capa de aplicacin que facilita el intercambio de informacin de administracin entre dispositivos de red, es decir, realiza gestin de red esto es un conjunto de estructuras y primitivas que permiten tener datos concretos del trfico que se produce en la red, as como quien lo produce. Es parte de la familia de protocolos TCP/IP. SNMP permite a los administradores supervisar el funcionamiento de la red, buscar y resolver sus problemas, y planear su crecimiento. Comandos SNMP para Sistema Operativo Linux Existen varios comandos que se utilizarn para realizar el script de acuerdo a las necesidades, entre estos tenemos: clear.- limpia la pantalla. echo.- muestra lo que escribamos a continuacin entre comillas dobles. read.- lee la respuesta del usuario, case.- permite realizar de una forma bastante sencilla, varios if anidados. $.- Se utiliza para asignar los valores de variables a los nmeros que se manejan en el men. while/do.- While se usa para repetir un conjunto de comandos/instrucciones dependiendo de si se cumple o no la condicin. La condiciones que se pueden poner en el while son con el comando test , poniendo un true ( poniendo un true en el while se crea un bucle infinito) o poner un comando con comillas invertidas. El break se pone solo si se desea salir bruscamente del bucle.

snmpget.- El comando snmpget se puede utilizar para obtener datos de un host remoto dado su nombre de host, la informacin y un OID. # snmpget -v 2c -c public localhost OID snmpwalk.- El comando snmpwalk es usado para leer todos los valores de un agente SNMP especificado por el hostname. Community especifica la comunidad lectora para el agente. Un object_id nulo se toma como la raz del arbol de los objetos SNMP y todos los objetos por debajo de ese arbol son devueltos como una matriz. Si object_id es especificado, todos los objetos SNMP por debajo de object_id son devueltos. #snmpwalk -v 2c -c public localhost OID. snmptrap.- permite enviar notificaciones del agente al gestor, sin peticiones del gestor. function.- es el trmino para describir una secuencia de rdenes que hacen una tarea especfica de una aplicacin ms grande. Es la forma en la que ms me gusta programar, modulando todo en partes pequeas para despus obtener una mayor, con lo cual el programar algo se hace fcil y divertido. function nombreFuncion (){ comando1 comando2 [ return codigoSalida ] } Tambin se especifica sin poner function, pero puede llegar a dar problemas as que se recomienda ponerlo. >.- Crea un archive de texto en el que almacena la informacin por cada vez que se ejecuta el programa. >>.- Guarda en el mismo archivo la informacin que se va generando cada vez que se ejecuta un programa. 2>.- Permite enviar los mensaje de error a un archivo de texto.

EJECUCIN DEL PROGRAMA# # # # # # # # # ********************************************************* ** INGENIERA ELECTRONICA Y REDES DE LA INFORMACIN ** ** Gestin de Redes ** ** Deber: Script de opciones snmp ** ** Integrantes: ** ** * Guanoluisa Carina ** ** * Montoya Oscar ** ** * Villenas Alejandra ** *********************************************************

#!/bin/sh clear opcion="0" h=$1 #host p=$2 #puerto v=$3 #version o1=$4 #OID o2=$5 o3=$6

o4=$7 o5=$8 o6=$9 # -------------------------------------------------------------------------> FUNCIONES function reporwalk() { fec=`date` echo "========================== REPORTE ============================" >> ReporteConsulta.txt echo "La fecha y hora de la consulta es: $fec" >> ReporteConsulta.txt echo "El tipo de operacion es: SNMPWALK" >> ReporteConsulta.txt echo "El host consultado es: $h" >> ReporteConsulta.txt echo " " >> ReporteConsulta.txt echo "RESULTADO: " >> ReporteConsulta.txt } # ---------------------------------------------function reporget() { fec=`date` echo "========================== REPORTE ============================" >> ReporteConsulta.txt echo "La fecha y hora de la consulta es: $fec" >> ReporteConsulta.txt echo "El tipo de operacion es: SNMPGET" >> ReporteConsulta.txt echo "El host consultado es: $h" >> ReporteConsulta.txt echo " " >> ReporteConsulta.txt echo "RESULTADO: " >> ReporteConsulta.txt } # ---------------------------------------------function reporgetnext() { fec=`date` echo "========================== REPORTE ============================" >> ReporteConsulta.txt echo "La fecha y hora de la consulta es: $fec" >> ReporteConsulta.txt echo "El tipo de operacion es: SNMPGETNEXT" >> ReporteConsulta.txt echo "El host consultado es: $h" >> ReporteConsulta.txt echo " " >> ReporteConsulta.txt echo "RESULTADO: " >> ReporteConsulta.txt } # ---------------------------------------------function reporset() { fec=`date` echo "========================== REPORTE ============================" >> ReporteConsulta.txt echo "La fecha y hora de la consulta es: $fec" >> ReporteConsulta.txt echo "El tipo de operacion es: SNMPSET" >> ReporteConsulta.txt echo "El host consultado es: $h" >> ReporteConsulta.txt } # ----------------------------------------------

function reporwalkerror() { fec=`date` echo "========================== REPORTE ============================" >> ReporteError.txt echo "La fecha y hora de la consulta es: $fec" >> ReporteError.txt echo "El tipo de operacion es: SNMPWALK" >> ReporteError.txt echo "El host consultado es: $h" >> ReporteError.txt echo " " >> ReporteError.txt echo "RESULTADO: " >> ReporteError.txt } # ---------------------------------------------function reporgeterror() { fec=`date` echo "========================== REPORTE ============================" >> ReporteError.txt echo "La fecha y hora de la consulta es: $fec" >> ReporteError.txt echo "El tipo de operacion es: SNMPGET" >> ReporteError.txt echo "El host consultado es: $h" >> ReporteError.txt echo " " >> ReporteError.txt echo "RESULTADO: " >> ReporteError.txt } # ---------------------------------------------function reporgetnexterror() { fec=`date` echo "========================== REPORTE ============================" >> ReporteError.txt echo "La fecha y hora de la consulta es: $fec" >> ReporteError.txt echo "El tipo de operacion es: SNMPGETNEXT" >> ReporteError.txt echo "El host consultado es: $h" >> ReporteError.txt echo " " >> ReporteError.txt echo "RESULTADO: " >> ReporteError.txt } # ---------------------------------------------function reporseterror() { fec=`date` echo "========================== REPORTE ============================" >> ReporteError.txt echo "La fecha y hora de la consulta es: $fec" >> ReporteError.txt echo "El tipo de operacion es: SNMPSET" >> ReporteError.txt echo "El host consultado es: $h" >> ReporteError.txt } # -----------------------------------------------------------------------------------------------------par="$#" #almaceno el nmero de parametros ingresados al script #echo se le han pasado $par arguments service snmpd restart # reinicio el servicio snmpd clear while [ $opcion -le 6 ] fech=`date` do

# MENU DE OPCIONES SNMP echo "GESTION DE REDES" echo "FECHA ACTUAL: $fech" echo "Usted ha ingresado con: sh prog1.sh $h $p $v $o1 $o2 $o3 $o4 $o5 $o6" printf "\n" echo "------------ MENU DE OPCIONES SNMP -------------" echo "1. Consulta snmpwalk." echo "2. Consulta snmpget." echo "3. Consulta snmpset." echo "4. Consulta trap." echo "5. Consulta snmpgetnext." echo "6. Salir." echo "Favor elija una opcion: " read opcion case $opcion in 1) # ================================================================ = echo "OPCION SELECCIONADA: SNMPWALK" # -------------------------------------> OID 6 if [ $par = 9 ] then snmpwalk -v $v -c public $h $o6 > zom.txt # Creo el archivo temporal para analizar error aux=`cat zom.txt | cut -d " " -f 3 | grep "No"` # Analizo el temporal y verifico si hay error o no. if [ $aux = No ] # Verifico si existe error o no en el comando ejecutado. then reporwalkerror # llamo a la funcion que me imprime la cabecera del reporte de error WALK echo "El OID consultado es: " >> ReporteError.txt snmptranslate -On -IR $o6 >> ReporteError.txt # me da el OID consultado snmpwalk -v $v -c public $h $o6 >> ReporteError.txt # ejecuto el comando y envio resultado alreporte de error echo " " >> ReporteError.txt clear else reporwalk # llamo a la funcion que me imprime la cabecera del reporte de consulta WALK echo "El OID consultado es: " >> ReporteConsulta.txt snmptranslate -On -IR $o6 >> ReporteConsulta.txt # me da el OID consultado snmpwalk -v $v -c public $h $o6 >> ReporteConsulta.txt # ejecuto el comando y envio resultado alreporte de consulta echo " " >> ReporteConsulta.txt clear

fi fi # -------------------------------------> OID 5 if [ $par -ge 8 -a $par -le 9 ] then snmpwalk -v $v -c public $h $o5 > zom.txt aux=`cat zom.txt | cut -d " " -f 3 | grep "N