Автор Тема: [d'link]Модуль netsnmp в python,проблема с получением маков по портам по snmp  (Прочитано 303 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

FessAectan

  • Супермодератор
  • Сообщений: 6303
  • Репутация: 39.2099
  • OS:
  • Linux (Gentoo) Linux (Gentoo)
  • Browser:
  • Chrome 17.0.963.38 Chrome 17.0.963.38
    • Просмотр профиля
Всем привет.
Суть проблемы в следующим, когда я вбиваю в консоли команду
$ snmpwalk -v2c -c public 10.75.0.2 1.3.6.1.2.1.17.7.1.2.2.1.2
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.1.0.37.158.92.118.231 = INTEGER: 24
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.1.240.125.104.240.106.130 = INTEGER: 0
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.201.0.27.42.145.82.200 = INTEGER: 24
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.201.28.126.229.129.50.0 = INTEGER: 21
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.201.28.126.229.129.66.0 = INTEGER: 21
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.201.240.125.104.240.106.131 = INTEGER: 4297
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.201.240.125.104.240.109.111 = INTEGER: 22
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.201.240.125.104.240.109.207 = INTEGER: 21
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.201.252.117.22.57.0.0 = INTEGER: 21
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.202.0.27.42.145.82.201 = INTEGER: 24
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.202.0.162.180.116.6.251 = INTEGER: 21
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.202.0.162.180.116.8.251 = INTEGER: 24
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.202.0.162.180.116.11.251 = INTEGER: 21
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.202.0.162.180.116.32.251 = INTEGER: 24
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.202.0.162.180.116.97.239 = INTEGER: 23
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.202.0.162.180.116.104.239 = INTEGER: 21
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.202.0.192.183.87.105.123 = INTEGER: 21
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.202.0.192.183.87.106.176 = INTEGER: 21
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.202.0.192.183.87.219.189 = INTEGER: 21
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.202.0.192.183.87.219.199 = INTEGER: 24
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.202.0.192.183.88.81.77 = INTEGER: 24
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.202.0.192.183.88.81.132 = INTEGER: 23
я получаю то, что мне необходимо(пусть маки в десятичной форме, это пока не важно).
Тогда как скрипт на python
#!/usr/bin/env python
import netsnmp
info = '.1.3.6.1.2.1.17.7.1.2.2.1.2'
infovar = netsnmp.Varbind(info)
infores = netsnmp.snmpwalk(infovar, Version = 2, DestHost = '10.75.0.2', Community='public')
print infores
выдает нам
$ python ./get_snmp_udk.py
   .1.3.6.1.2.1.17.7.1.2.2.1 2 = None ( None )
('24', '0', '24', '21', '21', '4297', '22', '21', '21', '24', '21', '24', '21', '24', '23', '21', '21', '21', '21', '24', '24', '23', '24', '24', '24', '24', '21', '21', '21', '21', '21', '24', '24', '24', '22', '22', '22', '22', '22', '21', '22', '22', '22', '22', '21', '21', '22', '21', '21', '21', '21', '21', '22', '24', '21', '21', '21', '21', '24', '21', '24', '21', '24', '22', '22', '22', '22', '19', '16', '18', '13', '11', '20', '22', '22', '15', '17', '10', '14', '1', '5', '2', '8', '9', '3', '7', '4', '12', '6', '24', '21', '21', '21', '21', '15', '10', '22', '22', '22', '16', '21', '21', '21', '21', '22', '22', '22', '19', '21', '21', '21', '21', '21', '21', '21', '21', '22', '22', '22', '17', '21', '18', '21', '22', '21', '21', '24', '24', '24', '24', '21', '21', '21', '21', '21', '21', '21', '24', '24', '24', '21', '21', '21', '21', '24', '21', '21', '21', '21', '21', '22', '22', '22', '22', '22', '18', '24', '22', '22', '9', '12', '13', '12', '22', '18', '7', '22', '8', '22', '3', '22', '22', '22', '6', '20', '22', '17', '24', '21', '21', '22', '22', '17', '21', '21', '21', '18', '21', '21', '21', '22', '10', '21', '21', '21', '21', '21', '21', '21', '24', '21', '21', '21', '21', '21', '21', '21', '21', '21', '21', '21', '21', '21', '21', '24', '21')
То есть вместо строки
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.1.0.37.158.92.118.231 = INTEGER: 24нам возвращается только
24В чем трабл?
Я не всегда понимаю, о чем говорю, но всегда уверен, что я прав.
– Мухаммед Али

t1bur1an

  • Участник форума
  • Сообщений: 538
  • Репутация: 5.65
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 16.0.912.63 Chrome 16.0.912.63
    • Просмотр профиля
хз. пока не могу понять в чем косяк. можешь если хочешь быстро сделать то юзай os.popen() и парси вывод snmpwalk'a
« Последнее редактирование: Январь 31, 2012, 10:43:55 am от t1bur1an »
принимать роды у соевой колбасы при помощи аргонной сварки?
форум профессионалов, хуле (c)зеленый

FessAectan

  • Супермодератор
  • Сообщений: 6303
  • Репутация: 39.2099
  • OS:
  • Linux (Gentoo) Linux (Gentoo)
  • Browser:
  • Chrome 17.0.963.38 Chrome 17.0.963.38
    • Просмотр профиля
сли хочешь быстро сделать надо то юзай os.popen()
спасиб, так и поступлю.
Я не всегда понимаю, о чем говорю, но всегда уверен, что я прав.
– Мухаммед Али