Sunteți pe pagina 1din 5

Introduccin a las rdenes SNMP bsicas 1.

snmpget La rden snmpget se puede utilizar para obtener datos de un host remoto dado su nombre de host, la informacin y un OID. Como ejemplo veamos la siguiente rden: # snmpget -c public -v 2c localhost system.sysUpTime.0 SNMPv2-MIB::sysUpTime.0 = Timetic s: (326510) 0:54:25.10 En la rden anterior, localhost es el nombre del equipo con el que queremos h ablar, utilizando la comunidad SNMP public y solicitamos el valor del OID system.sysUpT ime.0. Todas las utilidades que vamos a ver permiten utilizar abreviaturas de OID y realizan bsquedas de la porcin pasada como argumento en todo el arbol por defecto para facilitar la tarea al usuario. De este modo podemos utilizar simplemente una por cin del OID si as lo deseramos: # snmpget -c public -v 2c localhost sysUpTime.0 SNMPv2-MIB::sysUpTime.0 = Timetic s: (326510) 0:54:25.10 Un error habitual cuando utilizamos esta rden es olvidar poner el ndice en lo s datos que estamos buscando. En las rdenes anteriores, la variable solicitada es u n escalar y el ndice de los datos escalares es siempre un simple 0, de ah el .0 en tod os los OIDs anteriores. Si lo hubiramos olvidado hubiramos obtenido un error que es diferente en funcin de si estamos utilizando una versin u otra de SNMP: # snmpget -c public -v 1 localhost system.sysUpTime Error in pac et Reason: (noSuchName) There is no such variable name in this MIB. Failed object: SNMPv2-MIB::sysUpTime # snmpget -c public -v 2c localhost system.sysUpTime SNMPv2-MIB::sysUpTime = No Such Instance currently exists at this OID Se pueden realizar mltiples consultas en una nica rden: snmpget -c public -v 2c localhost system.sysUpTime.0 system.sysName.0 SNMPv2-MIB::sysUpTime.0 = Timetic s: (390447) 1:05:04.47 SNMPv2-MIB::sysName.0 = STRING: mago.aut.uah.es 1 2. snmptranslate Esta rden es una herramiente muy poderosa que permite explorar el rbol MIB de diversas formas desde la lnea de rdenes. Su forma ms bsica permite pasar de un OID a la variable que representa (repre sentacin textual): #snmptranslate .1.3.6.1.2.1.1.3.0 SNMPv2-MIB::sysUpTime.0 Tambin permite pasar del nombre de la variable al OID que representa: #snmptranslate -On SNMPv2-MIB::system.sysUpTime.0 .1.3.6.1.2.1.1.3.0 La variable que pasamos como argumento a snmptranslate se puede expresar en cualquier formato numrico, texto o una mezcla de ambos. El flag -On simplemente sirve para indicar que queremos la salida en formato de OID: #snmptranslate .iso.3.6.1.private.enterprises.2021.2.1.prNames.0 UCD-SNMP-MIB::prNames.0 #snmptranslate -On .iso.3.6.1.private.enterprises.2021.2.1.prNames.0 .1.3.6.1.4.1.2021.2.1.2.0 Hay ocasiones en que no recordamos el OID completo que estamos buscando. En esos casos es til la opcin -IR permite realizar bsquedas del OID completo si conocemos parte del mismo:

# snmptranslate sysUpTime.0 sysUpTime.0: Un nown Object Identifier (Sub-id not found: (top) ->sysUpTime ) # snmptranslate -IR sysUpTime.0 SNMPv2-MIB::sysUpTime.0 Puede que, incluso, ni siquiera conozcamos el nombre completo del OID sino slo una parte del mismo. En ese caso puede ser til la opcin -Ib (b del ingls best match) que nos da el OID que se concuerde con el patrn que le indicamos. Los patrones so n similares a los que vimos en la introduccin a Linux: # snmptranslate -Ib sys.*ime SNMPv2-MIB::sysORUpTime Para obtener una lista de todos los nodos que se ajustan a un patrn determin ado utilizamos el flag -TB: #snmptranslate -TB vacm.*table SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyTable SNMP-VIEW-BASED-ACM-MIB::vacmAccessTable SNMP-VIEW-BASED-ACM-MIB::vacmSecurityToGroupTable SNMP-VIEW-BASED-ACM-MIB::vacmContextTable Para obtener informacin sobre un determinado nodo del mib podemos utilizar e l flag -Td: # snmptranslate -On -Td -Ib sys.*ime 2 .1.3.6.1.2.1.1.9.1.4 sysORUpTime OBJECT-TYPE -- FROM SNMPv2-MIB -- TEXTUAL CONVENTION TimeStamp SYNTAX TimeTic s MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time this conceptual row was last instantiated." ::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) system(1) sysORTable( 9) sysOREntry(1) 4 } Para finalizar son esta rden, podemos obtener una representacin del rbol, o de una porcin del mismo utilizando el flag -Tp: # snmptranslate -Tp -IR system +--system(1) | +-- -R-- String sysDescr(1) | Textual Convention: DisplayString | Size: 0..255 +-- -R-- ObjID sysObjectID(2) +-- -R-- TimeTic s sysUpTime(3) +-- -RW- String sysContact(4) | Textual Convention: DisplayString | Size: 0..255 +-- -RW- String sysName(5) | Textual Convention: DisplayString | Size: 0..255 +-- -RW- String sysLocation(6) | Textual Convention: DisplayString | Size: 0..255 +-- -R-- INTEGER sysServices(7) | Range: 0..127 +-- -R-- TimeTic s sysORLastChange(8)

| Textual Convention: TimeStamp | +--sysORTable(9) | +--sysOREntry(1) | Index: sysORIndex | +-- ---- INTEGER sysORIndex(1) | Range: 1..2147483647 +-- -R-- ObjID sysORID(2) +-- -R-- String sysORDescr(3) | Textual Convention: DisplayString | Size: 0..255 +-- -R-- TimeTic s sysORUpTime(4) Textual Convention: TimeStamp 3 3. snmgetnext Esta rden es similar al comando snmpget se utiliza para obtenet el siguiente oid en el rbol de datos del mib. En lugar de obtener los datos que se solicitan directam ente, devuelve el siguiente OID en el rbol y su valor: SNMPv2-MIB::sysContact.0=STRING:Root<root@localhost>(configure /etc/snmp/snm p.local.conf) Esta rden tambin se puede utilizar para recorrer de forma manual el rbol de las mib en un host remoto, especificando siempre el ltimo OID aparecido en la lnea de rdenes para la siguiente rden: snmpgetnext -v 2c -c public localhost system.sysUpTime.0 SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost>(configure /etc/snmp /snmp.local.conf) [root@mago root]# snmpgetnext -v 2c -c public localhost system.sysContact.0 SNMPv2-MIB::sysName.0 = STRING: mago.aut.uah.es [root@mago root]# snmpgetnext -v 2c -c public localhost system.sysName.0 SNMPv2-MIB::sysLocation.0 = STRING: Un nown (edit /etc/snmp/snmpd.conf) La rden snmpwal que veremos a continuacin hace exactamente esto pero de una sola vez. La rden snmgetnext devuelve el valor de un OID del que hayamos olvidado el ndice frente a snmpget que devolva un error: snmpget -v 2c -c public localhost system.sysUpTime.0 SNMPv2-MIB::sysUpTime.0 = Timetic s: (95862) 0:15:58.62 [root@mago root]# snmpgetnext -v 2c -c public localhost system.sysUpTime SNMPv2-MIB::sysUpTime.0 = Timetic s: (96847) 0:16:08.47 4. snmpwal Esta rden realiza una serie completa de getnexts automticamente y se detiene cuando devuelve resultados que no estn en el rango del OID especificado originalmente. Por ejemplo, si quisiramos obtener toda la informacin almacenada en el grup o system del MIB de una mquina podramos hacerlo utilizando esta rden: # snmpwal -v 2c -c public localhost system SNMPv2-MIB::sysDescr.0 = STRING: Linux mago.aut.uah.es 2.6.0-test11 #27 Tue Dec 16 11:39:03 CET 2003 i686 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 SNMPv2-MIB::sysUpTime.0 = Timetic s: (120246) 0:20:02.46 SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost>(configure /etc/snmp /snmp.local.conf) SNMPv2-MIB::sysName.0 = STRING: mago.aut.uah.es SNMPv2-MIB::sysLocation.0 = STRING: Un nown (edit /etc/snmp/snmpd.conf) SNMPv2-MIB::sysORLastChange.0 = Timetic s: (4) 0:00:00.04 SNMPv2-MIB::sysORID.1 = OID: IF-MIB::ifMIB SNMPv2-MIB::sysORID.2 = OID: SNMPv2-MIB::snmpMIB

SNMPv2-MIB::sysORID.3 = OID: TCP-MIB::tcpMIB SNMPv2-MIB::sysORID.4 = OID: IP-MIB::ip SNMPv2-MIB::sysORID.5 = OID: UDP-MIB::udpMIB 4 SNMPv2-MIB::sysORID.6 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup SNMPv2-MIB::sysORID.7 = OID: SNMP-FRAMEWORK-MIB::snmpFramewor MIBCompliance SNMPv2-MIB::sysORID.8 = OID: SNMP-MPD-MIB::snmpMPDCompliance SNMPv2-MIB::sysORID.9 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance SNMPv2-MIB::sysORDescr.1 = STRING: The MIB module to describe generic objects for networ interface sub-layers SNMPv2-MIB::sysORDescr.2 = STRING: The MIB module for SNMPv2 entities SNMPv2-MIB::sysORDescr.3 = STRING: The MIB module for managing TCP implementa tions SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for managing IP and ICMP implementations SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing UDP implementa tions SNMPv2-MIB::sysORDescr.6 = STRING: View-based Access Control Model for SNMP. SNMPv2-MIB::sysORDescr.7 = STRING: The SNMP Management Architecture MIB. SNMPv2-MIB::sysORDescr.8 = STRING: The MIB for Message Processing and Dispatc hing. SNMPv2-MIB::sysORDescr.9 = STRING: The management information definitions for the SNMP User-based Security Model. SNMPv2-MIB::sysORUpTime.1 = Timetic s: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.2 = Timetic s: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.3 = Timetic s: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.4 = Timetic s: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.5 = Timetic s: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.6 = Timetic s: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.7 = Timetic s: (4) 0:00:00.04 SNMPv2-MIB::sysORUpTime.8 = Timetic s: (4) 0:00:00.04 SNMPv2-MIB::sysORUpTime.9 = Timetic s: (4) 0:00:00.04 5. snmptable Esta rden muestra una tabla SNMP en un formato de filas y columnas de manera que su visionado y comprensin es ms sencillo que si utilizamos la rden snmpwal : # snmptranslate -Tp -IR sysORTable +--sysORTable(9) | +--sysOREntry(1) | Index: sysORIndex | +-- ---- INTEGER sysORIndex(1) | Range: 1..2147483647 +-- -R-- ObjID sysORID(2) +-- -R-- String sysORDescr(3) | Textual Convention: DisplayString | Size: 0..255 +-- -R-- TimeTic s sysORUpTime(4) Textual Convention: TimeStamp # snmptable -v 2c -Cw 80 -c public localhost sysORTable SNMP table: SNMPv2-MIB::sysORTable 5 sysORID IF-MIB::ifMIB SNMPv2-MIB::snmpMIB TCP-MIB::tcpMIB IP-MIB::ip UDP-MIB::udpMIB SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup SNMP-FRAMEWORK-MIB::snmpFramewor MIBCompliance

SNMP-MPD-MIB::snmpMPDCompliance SNMP-USER-BASED-SM-MIB::usmMIBCompliance SNMP table SNMPv2-MIB::sysORTable, part 2 sysORDescr The MIB module to describe generic objects for networ interface sub-layers The MIB module for SNMPv2 entities The MIB module for managing TCP implementations The MIB module for managing IP and ICMP implementations The MIB module for managing UDP implementations View-based Access Control Model for SNMP. The SNMP Management Architecture MIB. The MIB for Message Processing and Dispatching. The management information definitions for the SNMP User-based Security Mode l. SNMP table SNMPv2-MIB::sysORTable, part 3 sysORUpTime 0:0:00:00.00 0:0:00:00.00 0:0:00:00.00 0:0:00:00.00 0:0:00:00.00 0:0:00:00.00 0:0:00:00.04 0:0:00:00.04 0:0:00:00.04 6. snmpset Esta rden se utiliza para modificar informacin en un host. Por cada una de las variables que se quiere establecer, es necesario el OID a actualizar, el tipo de datos de la variable y el valor al que queramos poner la variable. Podemos obtener los ti pos de datos vlidos del siguiente modo: #snmpset -h | tail -4 TYPE: one of i, u, t, a, o, s, x, d, b, n i: INTEGER, u: unsigned INTEGER, t: TIMETICKS, a: IPADDRESS o: OBJID, s: STRING, x: HEX STRING, d: DECIMAL STRING, b: BITS U: unsigned int64, I: signed int64, F: float, D: double Veamos como consultar, establecer y consultar el nuevo valor de una variable utilizando snmpget y snmpset: 6 #snmpget -v 2c -c public localhost sysContact.0 SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> #snmpset -v 2c -c public localhost sysContact.0 s Admin SNMPv2-MIB::sysContact.0 = STRING: Admin #snmpget -v 2c -c public localhost sysContact.0 SNMPv2-MIB::sysContact.0 = STRING: Admin Si no se tiene drecehos de escritura sobre un objeto obtendremos un error qu e diferir en funcin de si estamos utilizando la versin 1 o la versin 2 de SNMP: # snmpset -v 1 -c public localhost sysName.0 s "alguien" Error in pac et. Reason: (noSuchName) There is no such variable name in this MIB. # snmpset -v 2c -c public localhost sysName.0 s "alguien" Error in pac et. Reason: notWritable (that object does not support modification) 7

S-ar putea să vă placă și