Convertir snmp octuor à cordes de l'homme lisible format de la date
À l'aide de la pysnmp cadre-je obtenir certaines valeurs en faisant un snmp walk. Malheureusement pour les oid
1.3.6.1.21.69.1.5.8.1.2 (DOCS DE CÂBLE D'APPAREIL-MIB)
- je obtenir un résultat bizarre dont je ne peux pas imprimer correctement ici, car il contient des caractères ascii comme BEL
ACK
Lors d'une repr j'obtiens:
OctetString('\x07\xd8\t\x17\x03\x184\x00')
Mais le résultat devrait ressembler à:
2008-9-23,3:24:52.0
le format est appelé "DateAndTime". Comment puis-je traduire le OctetString de sortie à un "human readable" date/heure ?
OriginalL'auteur Michael Lang | 2010-12-31
Vous devez vous connecter pour publier un commentaire.
Le format est ici.
Vous pouvez utiliser struct.décompresser:
À noter également que la zone 7 est deci-secondes (0..9), tandis que timetuple[6] est microsecondes (0 <= x < 1000000); la bonne implémentations est laissé comme exercice au lecteur.
OriginalL'auteur Paulo Scardine
@Paulo Scardine: C'était la meilleure réponse que j'ai trouvé en ligne lorsque l'on cherche à résoudre un problème très similaire. Toujours il m'a fallu un peu de temps pour résoudre mon problème, même avec cette réponse, donc je voulais poster un suivi de la réponse qui peut ajouter plus de clarté. (plus précisément, le problème avec la date avoir différentes options de longueur).
Le morceau de code suivant se connecte à un serveur et attrape le système de temps et puis les sorties comme une chaîne de caractères pour illustrer la méthode.
J'espère que cela aide d'autres gens qui ont des problèmes similaires en essayant de travailler avec ce type de données.
OriginalL'auteur swill
Plug sans vergogne ici: Le Pycopia SNMP et SMI modules de gérer correctement cet objet, ainsi que d'autres.
Pycopia est installé à partir des sources, et n'oubliez pas les mibs fichier si vous l'essayez.
OriginalL'auteur Keith