snmp

Global variables

 

Descripción

Las siguientes variables pueden modificarse de modo global.

Nombre Descripción Valor por defecto
hostname
El nombre del host o dirección IP del dispositivo SNMP que deseas consultar ""
version
La versión del protocolo SNMP que se utilizará para la comunicación. Puede ser 1, 2 o 3 1
community
La cadena de comunidad utilizada en SNMPv1 y SNMPv2c para autenticar el acceso. Es como una contraseña simple que permite la lectura de información public
user
El nombre de usuario utilizado en SNMPv3 para autenticación y autorización ""
auth_protocol
El protocolo de autenticación utilizado en SNMPv3, como "MD5" o "SHA". Debe coincidir con el protocolo configurado en el dispositivo SNMP ""
auth_password
La contraseña utilizada para autenticación en SNMPv3. Debe coincidir con la configuración del dispositivo SNMP ""
privacy_protocol
El protocolo de privacidad utilizado en SNMPv3 para cifrar los datos, como "DES" o "AES". Debe coincidir con la configuración del dispositivo SNMP ""
privacy_password
La contraseña utilizada para cifrar los datos en SNMPv3. Debe coincidir con la configuración del dispositivo SNMP ""
security_level
El nivel de seguridad utilizado en SNMPv3, que puede ser "noAuthNoPriv" (sin autenticación ni privacidad), "authNoPriv" (autenticación sin privacidad) o "authPriv" (autenticación y privacidad)
noAuthNoPriv
timeout
El tiempo máximo en segundos que se esperará por una respuesta del dispositivo SNMP antes de que se agote el tiempo de espera 2
retries
El número de veces que se reintentará la operación SNMP en caso de que no se reciba una respuesta o se produzca un error 1
remote_port
El número de puerto remoto utilizado para la comunicación SNMP
161

 

Para modificar las variables globales use la función :

set_global_variable

Versión

set_global_variable

Descripción

Establece el valor de una variable global en el diccionario '_GLOBAL_VARIABLES'.

Parámetros

Nombre Tipo Requerido Descripción
variable_name str SI Nombre de la variable a establecer
value None Si Valor a asignar a la variable

Return 

Tipo
None


Versión

Ejemplo

import pandoraPlugintools as pt

# Define the variable name and value to set
variable_name = 'security_level'
new_value = 'auth_without_privacy'

# Set the value of the global variable
pt.snmp.set_global_variable(variable_name, new_value)

# Print the updated value of the global variable
print(f"Updated value of '{variable_name}': {pt.snmp._GLOBAL_VARIABLES[variable_name]}")

get_global_variable

Descripción

Obtiene el valor de una variable global del diccionario '_GLOBAL_VARIABLES'.

Parámetros

Nombre Tipo Requerido Descripción
variable_name str Si Nombre de la variable a establecer

Return 

Tipo
None


Versión

Ejemplo

import pandoraPlugintools as pt

# Define the variable name to retrieve
variable_name = 'community'

# Get the value of the global variable
value = pt.snmp.get_global_variable(variable_name)

# Print the value of the global variable
print(f"The value of '{variable_name}' is: {value}")

create_snmp_session

Descripción

Crea una sesión SNMP basada en las variables de configuración global.

Argumentos

Nombre Tipo Requerido Descripción
host str Si Dirección IP o nombre del dispositivo SNMP
version int No Versión del protocolo SNMP (1, 2 o 3)
community str No Contraseña simple para acceso en SNMPv1/v2c
user str Si Nombre de usuario en SNMPv3
auth_protocol str No Protocolo de autenticación en SNMPv3 (MD5, SHA, etc.)
auth_password str No Contraseña de autenticación en SNMPv3
privacy_protocol str No Protocolo de cifrado en SNMPv3 (DES, AES, etc.)
privacy_password str No Contraseña de cifrado en SNMPv3
security_level str No Nivel de seguridad en SNMPv3
timeout int No Tiempo máximo de espera para respuestas SNMP
retries int No Número de intentos en caso de fallo
remote_port int No Puerto remoto para comunicación SNMP

Return

Tipo Descripción
Session Una sesión SNMP configurada en base a las variables globales


Versión

Ejemplo

import PandoraPlugintools as pt

# Set global variables
pt.set_global_variable('hostname', '192.168.1.1')
pt.set_global_variable('version', 2)
pt.set_global_variable('community', 'public')
pt.set_global_variable('user', 'admin')
pt.set_global_variable('auth_protocol', 'md5')
pt.set_global_variable('auth_password', 'authpass')
pt.set_global_variable('privacy_protocol', 'des')
pt.set_global_variable('privacy_password', 'privpass')
pt.set_global_variable('security_level', 'authPriv')
pt.set_global_variable('timeout', 5)
pt.set_global_variable('retries', 2)
pt.set_global_variable('remote_port', 161)

# Create an SNMP session
session = pt.create_snmp_session()
print(session)

snmp_get

Descripción

Realiza una operación SNMP GET para recuperar el valor de un OID especificado.

Parámetros

Nombre Tipo Requerido Descripción
oid str Si El OID para la operación SNMP GET
host str Si Dirección IP o nombre del dispositivo SNMP
version int No Versión del protocolo SNMP (1, 2 o 3)
community str No Contraseña simple para acceso en SNMPv1/v2c
user str Si Nombre de usuario en SNMPv3
auth_protocol str No Protocolo de autenticación en SNMPv3 (MD5, SHA, etc.)
auth_password str No Contraseña de autenticación en SNMPv3
privacy_protocol str No Protocolo de cifrado en SNMPv3 (DES, AES, etc.)
privacy_password str No Contraseña de cifrado en SNMPv3
security_level str No Nivel de seguridad en SNMPv3
timeout int No Tiempo máximo de espera para respuestas SNMP
retries int No Número de intentos en caso de fallo
remote_port int No Puerto remoto para comunicación SNMP

Return 

Tipo Descripción
str El valor recuperado del OID especificado


Versión

Ejemplo

import PandoraPlugintools as pt

# Set global variables
pt.set_global_variable('hostname', '192.168.1.1')
pt.set_global_variable('version', 2)
pt.set_global_variable('community', 'public')
pt.set_global_variable('timeout', 5)
pt.set_global_variable('retries', 2)
pt.set_global_variable('remote_port', 161)

# Create an SNMP session
session = pt.create_snmp_session()

# Specify the OID for the SNMP GET operation
oid = '1.3.6.1.2.1.1.1.0'

# Perform an SNMP GET operation
value = pt.snmp_get(session, oid)
print('SNMP GET Value:', value)

snmp_walk

Descripción

Realiza una operación SNMP WALK para recuperar una lista de valores de un subárbol de la MIB.

Parámetros

Nombre Tipo Requerido Descripción
oid str Si El OID para la operación SNMP GET
host str Si Dirección IP o nombre del dispositivo SNMP
version int No Versión del protocolo SNMP (1, 2 o 3)
community str No Contraseña simple para acceso en SNMPv1/v2c
user str Si Nombre de usuario en SNMPv3
auth_protocol str No Protocolo de autenticación en SNMPv3 (MD5, SHA, etc.)
auth_password str No Contraseña de autenticación en SNMPv3
privacy_protocol str No Protocolo de cifrado en SNMPv3 (DES, AES, etc.)
privacy_password str No Contraseña de cifrado en SNMPv3
security_level str No Nivel de seguridad en SNMPv3
timeout int No Tiempo máximo de espera para respuestas SNMP
retries int No Número de intentos en caso de fallo
remote_port int No Puerto remoto para comunicación SNMP
Tipo Descripción
dict Diccionario con la OID y el valor de cada elemento.

Ejemplo

import PandoraPlugintools as pt

# Set global variables
pt.set_global_variable('hostname', '192.168.1.1')
pt.set_global_variable('version', 2)
pt.set_global_variable('community', 'public')
pt.set_global_variable('timeout', 5)
pt.set_global_variable('retries', 2)
pt.set_global_variable('remote_port', 161)

# Create an SNMP session
session = pt.create_snmp_session()

# Specify the OID for the SNMP WALK operation
oid = '1.3.6.1.2.1.2.2.1.2'  # Example OID for interface descriptions

# Perform an SNMP WALK operation
values = pt.snmp_walk(session, oid)
for value in values:
    print('SNMP WALK Value:', value)

snmp_trap

Descripción

Envía un trap SNMP a la IP de destino especificada utilizando el OID, valor y comunidad dados.

Parámetros

Nombre Tipo Requerido Descripción
trap_oid
str
Si
El OID para el trap SNMP
trap_value
str
SI
El valor asociado a la trampa
destination_ip
str
Si
La dirección IP del destino de la trampa
community
str
Si
La cadena de comunidad SNMP para la autenticación

Return 

Tipo
None


Versión

Ejemplo

import PandoraPlugintools as pt

# Specify the trap details
trap_oid = '1.3.6.1.4.1.12345.1.0'  # Example OID for custom trap
trap_value = 'Trap from my application'
destination_ip = '192.168.1.2'
community = 'public'

# Send an SNMP trap
pt.send_trap(trap_oid, trap_value, destination_ip, community)
print('SNMP Trap sent successfully.')

class SNMPTarget

Descripción

Una clase que representa un objetivo SNMP, proporcionando métodos para establecer la configuración SNMP
y realizar operaciones SNMP como GET y WALK.

Ejemplo

import pandoraPlugintools as pt

target = pt.SNMPTarget(
    host="192.168.1.1",
    community="public",
    version=2,
    timeout=5,
    retries=3
)

Funciones

snmp_get

Descripción

Parámetros

Nombre Tipo Requerido Descripción
oid str SI El OID para la operación SNMP GET

Return 

Tipo Descripción
str El valor recuperado del OID especificado

Versión

  • 1.0.0

Ejemplo

import pandoraPlugintools as pt

target = pt.SNMPTarget(
    host="192.168.1.1",
    community="public",
    version=2,
    timeout=5,
    retries=3
)

oid_value = target.snmp_get("1.3.6.1.2.1.1.1.0")
print("Valor del OID 1.3.6.1.2.1.1.1.0:", oid_value)

snmp_walk
Descripción

Parámetros

Nombre Tipo Requerido Descripción
oid str Si El OID para la operación SNMP WALK
Tipo Descripción
dict Diccionario con la OID y el valor de cada elemento.

Versión

  • 1.0.0

Ejemplo

import pandoraPlugintools as pt

target = pt.SNMPTarget(
    host="192.168.1.1",
    community="public",
    version=2,
    timeout=5,
    retries=3
)

oid_values_dict = target.snmp_walk("1.3.6.1.2.1.2.2.1.2")
print("Valores del OID 1.3.6.1.2.1.2.2.1.2:", oid_values_dict)