Mailinglist Archive: opensuse-es (758 mails)

< Previous Next >
Re: [opensuse-es] Recoger o atrapar eventos snmp [Era: Sistemas de detección de intrusiones]
  • From: "Carlos E. R." <robin.listas@xxxxxxxxxxxxxx>
  • Date: Wed, 12 Mar 2008 11:42:12 +0100 (CET)
  • Message-id: <alpine.LSU.1.00.0803121114370.6321@xxxxxxxxxxxxxxxx>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



El 2008-03-12 a las 11:08 +0100, Camaleón escribió:

El 12/03/08, Carlos E. R. escribió:

Vale, lo hago ahora mismo [...] nada. En el syslog se ve el evento:

Mar 11 23:53:50 router klogd: ADSL link down

(...)

Pues eso si que no puede ser. Perder la sincronización yo diría que se
trata de un evento "gordo". Como mínimo, debe registrar la caída como
ves en el otro registro que tiene.

Claro.

Han hecho lo mínimo. Han cogido el paquete net-snmp de linux, lo han metido y compilado, y punto. Igual no se han molestado en configurarlo. Con el daemon de agente vienen ejemplos como para hacer que envíe un evento si el espacio en disco duro está bajo. Podrías hacer que enviara uno si el correo se acumula sin salir, o te bombardean a faxes. El evento lo recibe otro ordenador.

Discos llenos en cinco ordenadores de la sala --> enventos al admin --> correo automático al de compras.

:-P


Puede ser. No me extrañaría.

O que no lo envíe el router o que no estés cargando una tabla de la
que poder extraer los datos que necesitas.

Es que yo no estoy seguro que haga falta cargar una tabla para usar el snmpwalk. El manual no lo dice:

If no OID argument is present, snmpwalk will search the subtree
rooted at SNMPv2-SMI::mib-2 (including any MIB object values from
other MIB modules, that are defined as lying within this subtree).
If the network entity has an error processing the request packet, an
error packet will be returned and a message will be shown, helping
to pinpoint why the request was malformed.

If the tree search causes attempts to search beyond the end of the
MIB, the message "End of MIB" will be displayed.

Lo hace con llamadas get next:

snmpgetnext - communicates with a network entity using SNMP GETNEXT
requests


Pero por ningún lado habla de cargar tablas de un fichero. No tiene esa opción en la linea de comandos. El único que habla de eso es el tkmib, pero creo que es porque dibuja el arbol antes de intentar conectar para descargarlo. Yo creo que el ficherito sirve para que muestre el arbol que corresponde con el cacharro al otro extremo; pero los datos se pueden sacar sin ello.



Buf.... cuando lo encuentres... porque no veo ninguno de comtrend. Y no
tiene botón de "search" :-(

Tiene el botón para buscar, pero no va :-).

En todo caso, te interesa sólo las del "ADSL-*" que son mibs que no
veo disponibles en los directorios /mib de net-snmp.

¡me puedo morir antes!

¡Uacc, Uaccc! << el pájaro de mal agüero

Es un ruter casero, no se le pueden pedir peras al olmo. Y de taiwan.


buscando en google la cadena "SNMPv2-SMI::enterprises.4413.2.10" encuentro
dos entradas, y una es de un correo mio del 2006.

Y la otra es <http://www.ixbt.com/comm/adsl/usrobotics-9108/snmp.shtml>,
en ruso. No sale lo mismo que en el mio.

Hum... el ruso ve direcciones IP:

Las vi.

¡Pero fíjate que el nombre de la variable ya contiene la IP!


***
IP-MIB::ipAdEntAddr.10.0.0.56 = IpAddress: 10.0.0.56
IP-MIB::ipAdEntAddr.127.0.0.1 = IpAddress: 127.0.0.1
IP-MIB::ipAdEntAddr.192.168.1.1 = IpAddress: 192.168.1.1
***

Yo no puedo pedir eso via snmpget, porque para pedirlo es que ya sabes la ip. Si yo veo esta parrafada en el walk:

IF-MIB::ifDescr.8 = STRING: br0
IF-MIB::ifDescr.9 = STRING: nas_8_32
IF-MIB::ifDescr.10 = STRING: nas_8_36
IF-MIB::ifDescr.11 = STRING: ppp_8_32_1
IF-MIB::ifType.1 = INTEGER: softwareLoopback(24)
IF-MIB::ifType.2 = INTEGER: atm(37)


Puedo también pedir una variable cualquiera:

cer@nimrodel:~> snmpget -c private -v2c router IF-MIB::ifType.2
IF-MIB::ifType.2 = INTEGER: atm(37)

Si pido una de esas del ruso:

cer@nimrodel:~> snmpget -c private -v2c router ipAdEntAddr.192.168.1.1
IP-MIB::ipAdEntAddr.192.168.1.1 = No Such Object available on this agent at
this OID


me manda a hacer gárgaras. Y no sé si hay algún comando para decirle que intente bajarse todo el "IP-MIB" si existe, o cual es la sintaxis.


Si uso esta sintaxis:

cer@nimrodel:~> snmpwalk -Os -c public -v 2c router system
sysDescr.0 = STRING: Broadcom Bcm963xx Software Version 2.20L.01
sysObjectID.0 = OID: enterprises.4413.2.10
sysUpTimeInstance = Timeticks: (273103500) 31 days, 14:37:15.00
sysContact.0 = STRING: unknown
sysName.0 = STRING: Broadcom
sysLocation.0 = STRING: unknown
sysServices.0 = INTEGER: 72

Puedo entonces pedir "ipAdEntAddr" como el ruso:

cer@nimrodel:~> snmpwalk -Os -c public -v 2c router ipAdEntAddr
ipAdEntAddr = No more variables left in this MIB View (It is past the end of
the MIB tree)


pero narices.



Pero a ti se te cortaba y te decía que "no hay más variables en esa vista":

***
IF-MIB::ifSpecific.11 = No more variables left in this MIB View (It is
past the end of the MIB tree)
***

Intentar forzar una carga de la tabla "IP-MIB" o "IP-FORWARD-MIB" de
las cuales explican su uso en la documentación:


No hay comandos para cargar tablas en el walk. O no me he enterado.


http://net-snmp.sourceforge.net/docs/mibs/

Pero yo no creo que con el fichero ese se puedan sacar más datos que los
que saca el snmpwalk, que según el manual parece que saca todos los que
existan. O entiendo mal el manual.

Saca estos MIB:

SNMPv2-MIB::, DISMAN-EVENT-MIB::, SNMPv2-MIB::, IF-MIB::,

Esos, esos, prueba con alguno de ésos. El que te carga (SNMPv2-SMI) es
genérico, no tendrá todos los datos que buscas.


Pero el contenido entero de esos cutro es lo que sale en el walk.


La info la da por telnet, ssh, o web (con javacsript) correctamente. La
cuestión era ver que se puede sacar por snmp, si lo mismo o no.

Bueno, la información y que registre el evento como hace el syslog del
router (caída de la línea, incremento o disminución de la velocidad de
subida y bajada o variación en los valores de atenuación y ruido, por
ejemplo).

Algunas cosas se pueden sacar interrogando al agente. Menos que por telnet.



Por cierto, ¿cuántos mibs se pueden cargar? :-? Si es un demonio,
quizá puedas tener varias instancias con un mib distinto para atrapar
más cositas :-)

El daemon recibe lo que le manden, le da igual. Este es el único evento registrado desde ayer, cuando se enciende:

Mar 11 16:28:46 nimrodel snmptrapd[3767]: router [UDP: [192.168.1.1]:3073]: Trap , DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (201) 0:00:02.01, SNMPv2-MIB::snmpTrapOID.0 = OID: SNMPv2-MIB::coldStart, SNMPv2-MIB::snmpTrapEnterprise.0 = OID: SNMPv2-SMI::enterprises.4413.2.10

Que se corresponde con esto otro que se ve con el "snmpwalk":

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (272970853) 31 days,
14:15:08.53


Yo creo que el fichero MIB sólo serviría para ponerlo más bonito, pero los datos son esos. Podría intentar capturarlo con ethereal para asegurarme.


Lo que pasa es que el daemon se puede usar para disparar tareas de todo tipo al recibir un evento. Puedes hacer que se mande un correo o te llame al movil, por ejemplo. Lo que te de la gana. O unicamente escribirlo en el log, que es lo que yo hago.



- -- Saludos
Carlos E.R.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4-svn0 (GNU/Linux)

iD8DBQFH17OPtTMYHG2NR9URAp9CAJ43uA6iBBS68FO2H7wt8p+j/O/1xQCdFHiJ
u4uBntDdiuaqClzJQbWULao=
=Nzww
-----END PGP SIGNATURE-----
< Previous Next >
Follow Ups