Publicado el 25 de Abril del 2018
382 visualizaciones desde el 25 de Abril del 2018
51,4 KB
7 paginas
Creado hace 20a (22/01/2004)
Introduccin a las rdenes SNMP bÆsicas
Enrique de la Hoz de la Hoz
22 de enero de 2004
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 = Timeticks: (326510) 0:54:25.10
En la rden anterior, localhost es el nombre del equipo con el que queremos hablar,
utilizando la comunidad SNMP public y solicitamos el valor del OID system.sysUpTime.0.
Todas las utilidades que vamos a ver permiten utilizar abreviaturas de OID y real-
izan bœsquedas 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 porcin
del OID si as lo deseÆramos:
# snmpget -c public -v 2c localhost sysUpTime.0
SNMPv2-MIB::sysUpTime.0 = Timeticks: (326510) 0:54:25.10
Un error habitual cuando utilizamos esta rden es olvidar poner el ndice en los
datos que estamos buscando. En las rdenes anteriores, la variable solicitada es un
escalar y el ndice de los datos escalares es siempre un simple 0, de ah el ’.0’ en todos
los OIDs anteriores. Si lo hubiØramos olvidado hubiØramos 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 packet
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 mœltiples consultas en una œnica rden:
snmpget -c public -v 2c localhost system.sysUpTime.0 system.sysName.0
SNMPv2-MIB::sysUpTime.0 = Timeticks: (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 mÆs bÆsica 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
TambiØn 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 numØrico, texto o una mezcla de ambos. El ag -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 bœsquedas del OID completo si cono-
cemos parte del mismo:
# snmptranslate sysUpTime.0
sysUpTime.0: Unknown 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 inglØs ’best match’)
que nos da el OID que se concuerde con el patrn que le indicamos. Los patrones son
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 determinado
utilizamos el ag -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 el
ag -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 TimeTicks
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 nalizar son esta rden, podemos obtener una representacin del Ærbol, o de
una porcin del mismo utilizando el ag -Tp:
# snmptranslate -Tp -IR system
+--system(1)
|
+-- -R-- String sysDescr(1)
| Textual Convention: DisplayString
| Size: 0..255
+-- -R-- ObjID sysObjectID(2)
+-- -R-- TimeTicks 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-- TimeTicks 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-- TimeTicks 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 directamente,
devuelve el siguiente OID en el Ærbol y su valor:
SNMPv2-MIB::sysContact.0=STRING:Root<root@localhost>(configure /etc/snmp/snmp.local.conf)
Esta rden tambiØn se puede utilizar para recorrer de forma manual el Ærbol de las
mib en un host remoto, especicando 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: Unknown (edit /etc/snmp/snmpd.conf)
La rden snmpwalk 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 = Timeticks: (95862) 0:15:58.62
[root@mago root]# snmpgetnext -v 2c -c public localhost system.sysUpTime
SNMPv2-MIB::sysUpTime.0 = Timeticks: (96847) 0:16:08.47
4.
snmpwalk
Esta rden realiza una serie completa de getnexts automÆticamente y se detiene
cuando devuelve resultados que no estÆn en el rango del OID especicado original-
mente. Por ejemplo, si quisiØramos obtener toda la informacin almacenada en el grupo
system del MIB de una mÆquina podramos hacerlo utilizando esta rden:
# snmpwalk -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 = Timeticks: (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: Unknown (edit /etc/snmp/snmpd.conf)
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (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::snmpFrameworkMIBCompliance
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 network 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 implementations
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 implementations
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 Dispatching.
SNMPv2-MIB::sysORDescr.9 = STRING: The management information definitions
for the SNMP User-based Security Model.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (4) 0:00:00.04
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (4) 0:00:00.04
SNMPv2-MIB::sysORUpTime.9 = Timeticks: (4) 0:00:00.04
5.
snmptable
Esta rden muestra una tabla SNMP en un formato de las y columnas de manera
que su visionado y comprensin es mÆs sencillo que si utilizamos la rden snmpwalk:
# snmptranslate -Tp -IR sysORTable
+--sysORTable(9)
|
+--sysOREntry(1)
| Index: sysORIndex
|
+-- ---- INTEGER
Comentarios de: Introducción a las órdenes SNMP básicas (0)
No hay comentarios