El protocolo simple de ad­mi­ni­s­tra­ción de red (SNMP) es uno de los pro­to­co­los más usados en la co­mu­ni­ca­ción entre redes de or­de­na­do­res. Muchas he­rra­mie­n­tas de ad­mi­ni­s­tra­ción se basan en este protocolo cliente-servidor, lanzado en 1990, pe­r­mi­tie­n­do así al usuario su­pe­r­vi­sar y controlar todos los di­s­po­si­ti­vos de red como los routers, los co­n­mu­ta­do­res o los sistemas NAS (al­ma­ce­na­mie­n­to conectado en red). Gracias a las he­rra­mie­n­tas snmpwalk y snmpget es posible solicitar registros de datos de las MIB (bases de in­fo­r­ma­ción de gestión) de agentes SNMP se­le­c­cio­na­dos, los cuales están in­s­ta­la­dos por defecto en la mayoría de di­s­po­si­ti­vos Linux y Windows. Para saber para qué sirven y cómo funcionan estas he­rra­mie­n­tas, sigue leyendo este tutorial de SNMP.

¿Qué hay detrás de las he­rra­mie­n­tas snmpwalk y snmpget?

Las he­rra­mie­n­tas de línea de comandos snmpwalk y snmpget son parte de la suite Net-SNMP, con la que SNMP puede im­ple­me­n­tar­se y usarse en redes IPv4 e Ipv6. Este conjunto de he­rra­mie­n­tas está di­s­po­ni­ble para la mayoría de sistemas UNIX y Linux (en la gestión de paquetes), así como para Microsoft Windows. La fu­n­cio­na­li­dad de cada apli­ca­ción, sin embargo, puede variar li­ge­ra­me­n­te de­pe­n­die­n­do del sistema. snmpwalk y snmpget se cuentan entre los in­s­tru­me­n­tos in­te­gra­dos para solicitar in­fo­r­ma­ción de di­s­po­si­ti­vos que utilizan SNMP mediante un comando GET (snmpget) o mediante varios comandos GETNEXT (snmpwalk).

snmpget: so­li­ci­tu­des SNMP simples

Con la apli­ca­ción snmpget se puede solicitar in­fo­r­ma­ción de una unidad de red a través del protocolo simple de ad­mi­ni­s­tra­ción de red (SNMP). Para ello, se usa el mensaje GET de SNMP que solicita un registro de datos es­pe­cí­fi­co en el sistema de destino. Para que funcione, el servidor (nombre o dirección IP) y la cadena de comunidad o los datos de au­te­n­ti­ca­ción (SNMPv3), así como el número de ide­n­ti­fi­ca­ción co­rre­s­po­n­die­n­te (object ide­n­ti­fier, OID), deben in­tro­du­ci­r­se como ar­gu­me­n­tos.

snmpget [opciones] [cadena de comunidad/datos de autenticación] [nombre o dirección de host] [object identifier]

snmpwalk: so­li­ci­tu­des SNMP de MIB completas

Con la he­rra­mie­n­ta snmpwalk no se solicita tan solo un registro de datos concreto del di­s­po­si­ti­vo SNMP, sino también registros de datos que le sigan (útil en el caso de tablas, por ejemplo). Para solicitar tales conjuntos enteros de in­fo­r­ma­ción, es decir, una MIB completa, snmpwalk usa mensajes del tipo GETNEXT que piden in­fo­r­ma­ción de los agentes hasta que se alcance el final de la MIB en cuestión. En lo que respecta a la sintaxis, el uso de snmpwalk no se di­fe­re­n­cia de las so­li­ci­tu­des sencillas de snmpget.

snmpwalk [opciones] [cadena de comunidad/datos de autenticación] [nombre o dirección de host] [OID]

Tutorial de SNMP: los comandos más im­po­r­ta­n­tes de snmpget y snmpwalk

Como he­rra­mie­n­tas de línea de comandos, snmpwalk y snmpget son ac­ce­si­bles sin problemas desde la terminal de línea de comandos. Una vez la suite Net-SNMP está instalada en el sistema, basta con abrir la línea de comandos para comenzar a consultar la in­fo­r­ma­ción de red deseada. En este tutorial de SNMP resumimos algunos de los comandos más im­po­r­ta­n­tes para ambas he­rra­mie­n­tas.

Nota

En­co­n­tra­rás el paquete de in­s­ta­la­ción de Net-SNMP en el apartado de descargas de la página web oficial. Puesto que los archivos binarios para Windows se basan en la versión 0.9.8r de OpenSSL, por motivos de co­m­pa­ti­bi­li­dad la in­s­ta­la­ción no funciona en sistemas que tengan instalada la versión 1.0 o una superior.

¿Cómo funciona la solicitud de datos con snmpget?

Para fa­mi­lia­ri­zar­te más fá­ci­l­me­n­te con las opciones de snmpget , puedes empezar abriendo el menú de ayuda. Aquí se enumeran los pa­rá­me­tros di­s­po­ni­bles, in­clu­ye­n­do breves ex­pli­ca­cio­nes. Se puede abrir con el siguiente comando:

snmpget -h

La apa­rie­n­cia de un comando para una solicitud estándar de registro de datos se­le­c­cio­na­do dependerá sobre todo de la versión del protocolo su­b­ya­ce­n­te. Dicha versión está indicada en los pa­rá­me­tros y, por su parte, determina si es necesaria la cadena de comunidad (SNMPv1 y SNMPv2c) o un método de au­te­n­ti­ca­ción (au­th­No­Priv, authPriv, noAu­th­No­Priv), in­clu­ye­n­do las in­fo­r­ma­cio­nes de registro co­rre­s­po­n­die­n­tes (SNMPv3). Para saber, por ejemplo, si hay di­s­po­ni­ble alguna ac­tua­li­za­ción firmware o del sistema operativo, se puede teclear una de las si­guie­n­tes cinco opciones de comando, es­pe­cí­fi­cas de cada versión:

Comando snmpget con SNMPv1:

snmpget -v1 -c [cadena de comunidad] [dirección IP del host] [OID para update check]

Comando snmpget con SNMPv2:

snmpget -v2c -c [cadena de comunidad] [dirección IP del host] [OID para update check]

Comando snmpget con SNMPv3 (au­te­n­ti­ca­ción, pero sin cifrado):

snmpget -v3 -l authNoPriv -u [nombre de usuario] -a MD5 -A [hash MD5 de la contraseña de usuario] [dirección IP del host] [OID para update check]

Comando snmpget con SNMPv3 (au­te­n­ti­ca­ción y cifrado):

snmpget -v3 -l authPriv -u [nombre de usuario] -a MD5 -A [contraseña de usuario] -x DES -X [contraseña DES] [dirección IP del host] [OID para update check]

Comando snmpget con SNMPv3 (sin au­te­n­ti­ca­ción ni cifrado):

snmpget -v3 -l noAuthNoPriv -u [nombre de usuario] [dirección IP del host] [OID para update check]

Como resultado de la solicitud se obtiene un valor numérico que informa sobre el estado de la ac­tua­li­za­ción. El valor 1 indica que hay una ac­tua­li­za­ción di­s­po­ni­ble, mientras que el valor 2 se muestra cuando el firmware o el sistema operativo ya están ac­tua­li­za­dos. Para poder in­te­r­pre­tar mejor los valores que se muestran, carga la MIB necesaria en el ordenador en el que estés llevando a cabo las so­li­ci­tu­des SNMP y copia el archivo co­rre­s­po­n­die­n­te en el di­re­c­to­rio /usr/share/snmp/mibs. Para ello, en Linux/UNIX se puede instalar un MIB do­w­n­loa­der que ayuda en dicha tarea.

sudo apt install snmp-mibs-downloader

¿Cómo funciona la solicitud de MIB completas con snmpwalk?

snmpwalk también ofrece la po­si­bi­li­dad de solicitar una visión general de los pa­rá­me­tros di­s­po­ni­bles y re­que­ri­dos. Este menú de ayuda aparece al in­tro­du­cir el siguiente comando:

snmpwalk -h

snmpwalk tampoco se di­fe­re­n­cia apenas de snmpget en lo referente a las so­li­ci­tu­des de datos. La principal di­fe­re­n­cia radica en la ejecución de los comandos. Mientras que snmpget devuelve un único valor para el OID so­li­ci­ta­do o muestra una no­ti­fi­ca­ción de error si no hay ningún objeto di­s­po­ni­ble que se co­rre­s­po­n­da con el número de ide­n­ti­fi­ca­ción, snmpwalk recorre también todos los nodos in­fe­rio­res. Así, se puede mostrar una lista detallada de las in­fo­r­ma­cio­nes re­le­va­n­tes del sistema si la MIB co­rre­s­po­n­die­n­te reconoce el número de ide­n­ti­fi­ca­ción. Como en el caso de las so­li­ci­tu­des sencillas GET, los comandos ne­ce­sa­rios dependen de la versión de protocolo elegida:

Comando snmpwalk con SNMPv1:

snmpwalk -v1 -c [cadena de comunidad] [dirección IP del host] [OID de la MIB de la información del sistema]

Comando snmpwalk con SNMPv2:

snmpwalk -v2c -c [cadena de comunidad] [dirección IP del host] [OID de la MIB de la información del sistema]

Comando snmpwalk con SNMPv3 (au­te­n­ti­ca­ción, pero sin cifrado):

snmpwalk -v3 -l authNoPriv -u [nombre de usuario] -a MD5 -A [contraseña de usuario] [dirección IP del host] [OID de la MIB de la información del sistema]

Comando snmpwalk con SNMPv3 (au­te­n­ti­ca­ción y cifrado):

snmpwalk -v3 -l authPriv -u [nombre de usuario] -a MD5 -A [contraseña de usuario] -x DES -X [contraseña DES] [dirección IP del host] [OID de la MIB de la información del sistema]

Comando snmpwalk con SNMPv3 (sin au­te­n­ti­ca­ción ni cifrado):

snmpwalk -v3 -l noAuthNoPriv -u [nombre de usuario] [dirección IP del host] [OID de la MIB de la información del sistema]

En resumen: snmpwalk y snmpget para so­li­ci­tu­des SNMP sencillas

snmpwalk y snmpget te ayudan a solicitar datos de red mediante el protocolo simple de ad­mi­ni­s­tra­ción de red o SNMP. Como parte de la suite Net SNMP, ambas he­rra­mie­n­tas de la línea de comandos se instalan rá­pi­da­me­n­te en el sistema y son fáciles de usar. En este tutorial de SNMP has co­m­pro­ba­do lo fácil que es controlar una sola in­fo­r­ma­ción o un bloque completo de datos, siempre y cuando se conozcan la dirección IP del agente SNMP y el ide­n­ti­fi­ca­dor de objeto (OID) co­rre­s­po­n­die­n­te.

Ir al menú principal