Python SNMP knihovny

19 views
Skip to first unread message

Fa...@orkasystems.cz

unread,
Sep 16, 2020, 8:19:36 PM9/16/20
to django-cs
Vážené kolegyně a kolegové,

potřeboval bych poradit s knihovnami pro komunikaci Python a SNMP.

mám následující problém
pokud v linuxu spustim snmpwalk s nasledujicim nastavenim:

snmpwalk -v 1 -c public 10.40.1.10 .1.3.6.1.4.1.11863.6.15.1.1.1.1

dostanu takový výstup:
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.176.72.122.216.156.245 = Hex-STRING: B0 48 7A D8 9C F5 39 39 36 31 32
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.188.150.128.69.149.161 = Hex-STRING: BC 96 80 45 95 A1 39 39 36 30 36
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.240.118.28.88.83.137 = Hex-STRING: F0 76 1C 58 53 89 32 30 30 38 31 34
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.176.72.122.241.94.83 = Hex-STRING: B0 48 7A F1 5E 53 32 30 33 34 32 31
Error: OID not increasing: iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.240.118.28.88.83.137
 >= iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.176.72.122.241.94.83


toto umím ošetčit v linuxu parametrem -Cc v příkaze snmpwalk, takže:

spravce@debdesk:~$ snmpwalk -v 1 -c public -Cc 10.40.1.10 .1.3.6.1.4.1.11863.6.15.1.1.1.1

iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.176.72.122.216.156.245 = Hex-STRING: B0 48 7A D8 9C F5 39 39 36 31 32
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.188.150.128.69.149.161 = Hex-STRING: BC 96 80 45 95 A1 39 39 36 30 36
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.240.118.28.88.83.137 = Hex-STRING: F0 76 1C 58 53 89 32 30 30 38 31 34
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.176.72.122.241.94.83 = Hex-STRING: B0 48 7A F1 5E 53 32 30 33 34 32 31
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.196.233.132.109.65.125 = Hex-STRING: C4 E9 84 6D 41 7D 32 30 33 35 39 39
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.160.243.193.147.164.43 = Hex-STRING: A0 F3 C1 93 A4 2B 32 30 32 32 32 38
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.0.64.202.115.180.116 = ""
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.132.22.249.211.182.81 = Hex-STRING: 84 16 F9 D3 B6 51 32 30 34 31 38 38
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.192.74.0.197.48.127 = Hex-STRING: C0 4A
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.216.93.76.219.10.83 = Hex-STRING: D8 5D 4C DB 0A 53 32 30 31 30 33 33
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.0.23.8.53.188.54 = ""
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.132.22.249.226.108.85 = Hex-STRING: 84 16 F9 E2 6C 55 32 30 32 30 34 37

a pokračuje to dále 


v žádné z knihoven (a že jsem jich prošel :( )  se nedostanu ke zpusobu, jak ignorovat tu chybu " Error: OID not increasing: "

V současnosti používám EasySnmp, ale zkoušel jsem i puresnmp, pysnmp a ja nevim co ještě....

Jako uplne se mi nechce hrabat ve zdrojáku easysnmp, jak jsem to musel delat v PHP pripade jednoho webu, kde byl stejny problem, ale tam stacilo to zdroje pridat ten parametr -Cc protoze ta knihovna v podstate jen zapouzdrovala systemovy snmpwalk.


Nemáte někdo radu? :)


Díky

Jiří Fait

Petr Messner

unread,
Sep 17, 2020, 7:25:19 AM9/17/20
to djan...@googlegroups.com
Ahoj,

ten snmpwalk, to je odtud? http://net-snmp.sourceforge.net/


Jinak vypadá to celé jako C knihovna a samotný snmpwalk ji "jen" používá: https://sourceforge.net/p/net-snmp/code/ci/master/tree/apps/snmpwalk.c

Takže úplně stejně tu knihovnu můžeš používat z Pythonu.

Petr


čt 17. 9. 2020 v 2:19 odesílatel Fa...@orkasystems.cz <Fa...@orkasystems.cz> napsal:
--
--
E-mailová skupina djan...@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
---
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny „django-cs“ ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu django-cs+...@googlegroups.com.
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/django-cs/0a4ec54a-9746-4bae-a71b-1c7d9e3f4343n%40googlegroups.com.

Jiri Fait

unread,
Sep 19, 2020, 7:03:17 PM9/19/20
to djan...@googlegroups.com
Dík za popostrčení :), ale jelikož je pro mne Python celkem nový jazyk, jak tam dostanu ten parametr '-Cc' ?

Jirka


čt 17. 9. 2020 v 13:25 odesílatel Petr Messner <petr.m...@gmail.com> napsal:

Petr Messner

unread,
Sep 20, 2020, 4:51:10 AM9/20/20
to djan...@googlegroups.com
ne 20. 9. 2020 v 1:03 odesílatel Jiri Fait <Fa...@orkasystems.cz> napsal:
Dík za popostrčení :), ale jelikož je pro mne Python celkem nový jazyk, jak tam dostanu ten parametr '-Cc' ?

Jirka


Myslel jsem to tak, že zavoláš z Pythonu stejné C funkce, jako volá snmpwalk. Ale asi bude lepší, když prostě zavoláš snmpwalk přes python subprocess a zpracuješ jeho výstup.

Petr

Jiri Fait

unread,
Sep 20, 2020, 8:21:45 AM9/20/20
to djan...@googlegroups.com
Petře, díky moc za nakopnutí, tudy cesta vede :)

vlans = subprocess.run('snmpwalk -v 1 -c {} -Cc 10.40.1.10 .1.3.6.1.4.1.11863.6.15.1.1.1.1'.format(community), shell=True)

iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.176.72.122.216.156.245 = Hex-STRING: B0 48 7A D8 9C F5 39 39 36 31 32
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.188.150.128.69.149.161 = Hex-STRING: BC 96 80 45 95 A1 39 39 36 30 36
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.240.118.28.88.83.137 = Hex-STRING: F0 76 1C 58 53 89 32 30 30 38 31 34
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.176.72.122.241.94.83 = Hex-STRING: B0 48 7A F1 5E 53 32 30 33 34 32 31
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.196.233.132.109.65.125 = Hex-STRING: C4 E9 84 6D 41 7D 32 30 33 35 39 39
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.160.243.193.147.164.43 = Hex-STRING: A0 F3 C1 93 A4 2B 32 30 32 32 32 38
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.0.64.202.115.180.116 = ""
iso.3.6.1.4.1.11863.6.15.1.1.1.1.1.132.22.249.211.182.81 = Hex-STRING: 84 16 F9 D3 B6 51 32 30 34 31 38 38 
.....


Jirka


ne 20. 9. 2020 v 10:51 odesílatel Petr Messner <petr.m...@gmail.com> napsal:
--
--
E-mailová skupina djan...@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
---
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny „django-cs“ ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu django-cs+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages