Librairie SNMP (administration réseau)
Publié : mer. 03/janv./2007 10:59
j'essaie de faire une librairie SNMP mais la structure et les codes BER employés rendent ma tâche difficile (je ne suis plus un programmeur depuis plusieurs années et la reprise en Purebasic reste difficile malgré sa simplicitéd'utilisation).
Ci-dessous, le schéma d'une structure type : mon objectif étant de pouvoir récupérer les variables simples (SysUpTime, SysName, IfInByte, IfInErrorByte,... )

Dois-je utiliser une liste chainé, une structure, un buffer (avec pointeurs) sachant qu'il n'est pas possibled'utiliser une chaîne de caractères (var.s ou var$) à cause des caractères $00 (null) pouvant apparaître dans la requête...
Voici également la signification de la plupart des valeurs possibles pour le codage/décodage d'une requête :
Ci-dessous, le schéma d'une structure type : mon objectif étant de pouvoir récupérer les variables simples (SysUpTime, SysName, IfInByte, IfInErrorByte,... )

Dois-je utiliser une liste chainé, une structure, un buffer (avec pointeurs) sachant qu'il n'est pas possibled'utiliser une chaîne de caractères (var.s ou var$) à cause des caractères $00 (null) pouvant apparaître dans la requête...
Voici également la signification de la plupart des valeurs possibles pour le codage/décodage d'une requête :
Code : Tout sélectionner
; --------------------------------------------------
;| Librairies SNMP |
; --------------------------------------------------
;
; ========= CONSTANTES (pour information) ==========
; Sequence
#ASNSeq = $30
; Primitives ASN.1 Type Identifier
#ASNInt = $02
#ASNBitStr = $03
#ASNOctStr = $04
#ASNNull = $05
#ASNOID = $06
; Primitives SNMP application types
#SNMPIPaddr = $40
#SNMPcount = $41
#SNMPGauge = $42
#SNMPTimeTic= $43
#SNMPOpaque = $44
#SNMPNSAPAd = $45
#SNMPCnt64 = $46 ; SNMP v2 only
#SNMPUInt32 = $47 ; SNMP v2 only
; Context-specific type SNMP message
#SNMPGetReq = $a0
#SNMPNxtReq = $a1
#SNMPResp = $a2
#SNMPSetReq = $a3
#SNMPTrap = $a4 ; obsolete in SNMP v2
#SNMPBlkReq = $a5 ; Added in SNMP v2
#SNMPInfReq = $a6 ; Added in SNMP v2
#SNMPTrapV2 = $a7 ; Added in SNMP v2