snmp
- Global variables
- set_global_variable
- get_global_variable
- create_snmp_session
- snmp_get
- snmp_walk
- snmp_trap
- class SNMPTarget
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 :
Versión
- 1.0.0
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
- 1.0.0
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
- 1.0.0
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
- 1.0.0
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
- 1.0.0
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. |
- 1.0.0
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
- 1.0.0
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
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)