IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Simple Network Management Protocol

NOTA: SNMP és un protocol del nivell d'aplicació que facilita l'intercanvi d'informació d'administració entre dispositius de xarxa.


Utilitza un servei no orientat a connexió (protocol UDP)

  • Permet als administradors supervisar de forma remota els dispositius d'una xarxa.

Hi han 3 versions del protocol:


Les més utilitzades són SNMPv1 i SNMPv2

A la nova versió (SNMPv3) s'han introduït força canvis sobretot respecte al tema de seguretat però encara no esta gaire suportat per la industria.

components

  • Dispositius administrats
  • Agents de programari
  • Sistemes administradors de xarxa

Els dispositius administrats tenen instal·lat un programari (agent) que s'encarreguen de recollir i emmagatzemar informació de la màquina administrada. La informació emmagatzemada es posa a disposició dels sistemes administradors de la xarxa mitjançant SNMP. Les màquines administrades poden ser encaminadors, servidors, commutadors, estacions de treball, impressores, perifèrics de xarxa o altres màquines connectades a la xarxa (màquines dispensadores d'aliments, alarmes, estacions meteorològiques, etc.)


Management Information Bases (MIB)

Característiques d'un MIB:

  • Emmagatzema una col·lecció d'informació d'administració que està organitzada jeràrquicament.
  • Són les dades que guarden els dispositius administrats i que es posen a disposició dels gestors de la xarxa (NM) a través de SNMP.
  • Avegades els dispositius administrats s'anomenen objectes MIB.

Es una base de dades jeràrquica on cada node de l'arbre és un objecte. Hi ha dos tipus d'objectes:

  • Escalars: Els objectes tabulars són simplement una variable
  • Tabulars: Estan formats per altres objectes

1.3.6.1.2.1 Aqui esta tot o casi tot.

ArbreMIBSNMP.JPG

IMPORTANT: Per defecte anira a busca l'objecte dins el 1.3.6.1.2.1 es l'arrel per defecte.

sino vls posa els numeros hem de posa ifNumber es a dir el nom del objecte.

si volem buscar un altre objecte que no estigui a l'arrel per defecte hem de posa tota la ruta en numeros o en lletres.

instal·lacio SNMP

instalacio del client snmp i el servidor snmpd

$ sudo apt-get install snmp
$ sudo apt-get install snmpd

Veure els ports.

$ cat /etc/services | grep snmp

snmp		161/tcp				# Simple Net Mgmt Protocol
snmp		161/udp				# Simple Net Mgmt Protocol
snmp-trap	162/tcp		snmptrap	# Traps for SNMP
snmp-trap	162/udp		snmptrap	# Traps for SNMP
$ nmap localhost snmp
Starting Nmap 5.21 ( http://nmap.org ) at 2012-04-12 19:48 CEST
Failed to resolve given hostname/IP: snmp.  Note that you can't use '/mask' AND '1-4,7,100-' style IP ranges
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00029s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
631/tcp open  ipp

Per posar-lo en marxa

$ sudo service snmpd start 
* Starting network management services:
$ ps aux | grep snmp
snmp      6284  0.0  0.2  13312  4144 ?        S    19:55   0:00 /usr/sbin/snmpd -Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid

Missatges SNMP

GetRequest: l'administrador del sistema sol·licita a l'agent que li retorni el valor d'un objecte a partir del seu identificador

GetNextRequest: serveix per processar llistes d'objectes. Un cop s'ha obtingut un objecte amb GetRequest es pot utilitzar GetNextRequest per repetir el procés amb el següent objecte de la taula

SetRequest: SNMP també suporta modificar valors d'administració de forma remota utilitzant una comunitat (paraula de pas) específica

GetResponse: respostes dels agents.

Client snmp

Tenim totes aquestes comandes.

$ dpkg -L snmp | grep bin
/usr/bin
/usr/bin/snmpbulkget
/usr/bin/snmpbulkwalk
/usr/bin/snmpconf
/usr/bin/snmpdelta
/usr/bin/snmpdf
/usr/bin/snmpget
/usr/bin/snmpgetnext
/usr/bin/snmpnetstat
/usr/bin/snmpset
/usr/bin/snmpstatus
/usr/bin/snmptable
/usr/bin/snmptest
/usr/bin/snmptranslate
/usr/bin/snmptrap
/usr/bin/snmpusm
/usr/bin/snmpvacm
/usr/bin/snmpwalk
/usr/bin/encode_keychange
/usr/bin/fixproc
/usr/bin/traptoemail
/usr/bin/snmpinform

Comanda snmpwalk

La comanda snmpwalk ens mostra els continguts de la base de dades MIB de SNMP

exemple

$ snmpwalk -Os -c public -v 2c 10.36.253.1 ifNumber
ifNumber.0 = INTEGER: 16
$ snmpwalk -Os -c public -v 2c 10.36.253.1 mib.2 |more
sysDescr.0 = STRING: RouterOS RB600A
sysObjectID.0 = OID: enterprises.14988.1
sysUpTimeInstance = Timeticks: (191754300) 22 days, 4:39:03.00
sysContact.0 = STRING: [email protected]
sysName.0 = STRING: TortosaINSEbreRd1
sysLocation.0 = STRING: TortosaINSEbre
sysServices.0 = INTEGER: 78
ifNumber.0 = INTEGER: 16
ifIndex.1 = INTEGER: 1
ifIndex.2 = INTEGER: 2
ifIndex.3 = INTEGER: 3
ifIndex.4 = INTEGER: 4
ifIndex.5 = INTEGER: 5
ifIndex.6 = INTEGER: 6
ifIndex.7 = INTEGER: 7
ifIndex.8 = INTEGER: 8