Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Как работать с SNMP по-другому? (http://forum.oszone.net/showthread.php?t=325469)

glukin 02-04-2017 19:36 2725263

Как работать с SNMP по-другому?
 
Есть скрипт:
Скрытый текст
Код:

set objSNMP = CreateObject("OlePrn.OleSNMP")

strHostname =  InputBox("Введите hostname или IP: ", "Input hosname:", "localhost")
strCommunity = InputBox("Введите Community: ", "Input Community:", "public")
strOID = InputBox("Введите OID: ", "Input OID:", "1.3.6.1.2.1.1.5.0")

objSNMP.Open strHostname, strCommunity, 2, 1000
arrOut = objSNMP.GetTree("." & strOID)

if UBound(arrOut, 2) = -1 then
  wscript.echo objSNMP.Get("." & strOID)
Else
  For i = 0 To UBound(arrOut, 1) - 1
      For j = 0 To UBound(arrOut, 2)
        wscript.echo arrOut(i, j)  & " (" & join(objSNMP.OIDFromString(arrOut(i, j)), ".") & ") = " & arrOut(i+1, j)
      Next
  Next
End If

objSNMP.Close


Но я его, если честно, не понимаю, ранее работал с SNMP вот так:
Set colSystem = objWmiServices.ExecQuery("SELECT sysName FROM SNMP_RFC1213_MIB_system",,, objWmiNamedValueSet)
Объясните, плз, как мне спуститься по дереву MIB SNMP ниже, то есть вместо SNMP_RFC1213_MIB_system я ставлю SNMP_RFC1213_MIB_ip, затем мне надо в ipAddrTable, затем в ipAddrEntry, и там уже получить ipAdEntIfIndex.

glukin 03-04-2017 09:22 2725675

Я что-то не то написал или никто не знает?

Elven 03-04-2017 10:56 2725715

glukin, не совсем понятно что требуется. Задача больше по раздербаниванию MIB'ов нежели по VBS, если я правильно понимаю.

glukin 03-04-2017 11:02 2725717

Elven, Ну да, толко делать это надо с vbs.
Другими словами, мне надо добраться из скрипта вот до этого:
Код:

snmpwalk -v 2c -c public 10.0.0.1  1.3.6.1.2.1.4.20.1.2.10.0.0.1
IP-MIB::ipAdEntIfIndex.10.0.0.1 = INTEGER: 44

Индекс 44

Запрашиваем имя интерфейса

snmpwalk -v 2c -c public 10.0.0.1 1.3.6.1.2.1.31.1.1.1.1.44

IF-MIB::ifName.44 = STRING: Tu1

То есть взять индекс интерфейса по IP, затем по индексу взять имя интерфейса.
Это вывод из линупса, мне из него не подходит, так как разрешенный IP-адрес для скана сети по SNMP находится на винде 2003.

glukin 03-04-2017 19:00 2725896

Не? Никто не в курсе?

Elven 03-04-2017 21:43 2725945

разве что пронатить порт через эту машину и с линухи гонять что угодно после этого. к слову поддержка 2003 закончилась уж скоро как два года (если я правильно помню), м.б. стоит вместо 2003 поставить... ну то что удобно, словом. В качестве альтернативы попробовать виндовый пакет Net-SNMP.


Время: 03:43.

Время: 03:43.
© OSzone.net 2001-