Portál AbcLinuxu, 10. května 2025 08:08

Dotaz: python snmp ifPhysAddress

2.12.2011 10:46 jessica
python snmp ifPhysAddress
Přečteno: 203×
Odpovědět | Admin
Zdravim
Potreboval bych poradit jak v pythonu prevest macAddresu ziskanou ze snmp na nejakou citelnou podobu.Kdyz se zeptam snmpwakem na oid 1.3.6.1.2.1.2.2.1.6.7 tak mi vrati 0:15:6d:e2:ca:4b coz je v poho.(nevim proc tam neni na zacatku 00: ale to je detail).Kazdopadne kdyz se zeptam pomoci pysnmp tak mi vrati 'mãÊK'.Kdyz pouziju repr tak OctetString('\x00\x15m\xe2\xcaK').Dokumentace k pysnmp mi prijde dost stroha a nemuzu v ni najit nic pouzitelnyho.Poradil mi nekdo nekdo nejaky citelny zpusob ja z toho hnusu co mi vraci snmp udelat string ktery pak muzi porovnat oproti necemu jinymu.
Predem diky.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

2.12.2011 11:29 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: python snmp ifPhysAddress
Odpovědět | | Sbalit | Link | Blokovat | Admin

Ahoj.

ASCII pro "m" a "K" se mi ted hledat nechce a python neznam, takze tipuji, ze ten pysnmp ti vrati 6 bytu dlouhy string a zalezi na tobe, jak ho zobrazis ('mãÊK' - ASCII, \x00 a \x15 jsou ridici = nezobrazitelne znaky) nebo na co ho prevedes (OctetString '\x00\x15m\xe2\xcaK').

ASCII:                 m   ã    Ê  K
OctetString: \x00 \x15 m \xe2 \xca K

Dejv

Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
rADOn avatar 2.12.2011 15:10 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: python snmp ifPhysAddress
Odpovědět | | Sbalit | Link | Blokovat | Admin
struct.unpack("BBBBBB", s)
ti vybali MAC adresu na pole bajtu.
"%02x:%02x:%02x:%02x:%02x:%02x" % struct.unpack("BBBBBB", s)
udela klasicke formatovani. Vcetne nul na zacatku :-)
"2^24 comments ought to be enough for anyone" -- CmdrTaco

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.