faq обучение настройка
Текущее время: Сб июл 19, 2025 21:01

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: MAC, SNMP, Powershell DES-1210-08P
СообщениеДобавлено: Сб фев 20, 2021 07:46 
Не в сети

Зарегистрирован: Сб фев 20, 2021 07:22
Сообщений: 1
Всем привет!!!
Такая проблема, для поучения данных по протоколу snmp использую powershell в связи с тем, что данный коммутатор урезанный и не имеет snmp в telnet. Установил модуль SNMP прописав следующую строку: Install-Module -Name SNMP
Вроде всё нормально, и имя коммутатора выводит, и изменения параметров работают, всё без ошибок и так, как надо. Но вот мне потребовалось вывести mac-адрес устройства. прошу показать мне OID .1.3.6.1.2.1.4.22.1.2 операцией Walk и тут происходит непонятное. За место нормального MAC-адреса он мне выводит этот кошмар:
Вложение:
изображение_2021-02-20_113356.png
изображение_2021-02-20_113356.png [ 5.72 KiB | Просмотров: 1473 ]

На сколько я понял, это дело в кодировке, потому что MIB Browser может мне показать похожий результат, если нажать 2 раза на Value:
Вложение:
изображение_2021-02-20_113748.png
изображение_2021-02-20_113748.png [ 4.46 KiB | Просмотров: 1473 ]

Вот сама функция, кому интересно:
Код:
function Invoke-SnmpWalk {

[CmdletBinding()]
param (
    # Endpoint IP address.
    [Parameter(
        Mandatory = $true,
        HelpMessage = 'Endpoint IP address'
    )]
    [Net.IPAddress]$IP,

    # OID of root object.
    [Parameter(
        Mandatory = $true,
        HelpMessage = 'OID of root object'
    )]
    [string[]]$OIDStart,
   
    # SNMP Community.
    [string]$Community = 'private',
   
    # SNMP port.
    [int]$UDPport = 161,

    # SNMP version.
    [Lextm.SharpSnmpLib.VersionCode]$Version = 'V2',

    # "Walk" method mode.
    [Lextm.SharpSnmpLib.Messaging.WalkMode]$WalkMode = 'WithinSubtree',

    # Time out value.   
    [int]$TimeOut = 3000

)

    $OID = New-Object Lextm.SharpSnmpLib.ObjectIdentifier $OIDStart
    $results = New-Object Collections.Generic.List[Lextm.SharpSnmpLib.Variable]
    $endpoint = New-Object Net.IpEndPoint $IP, $UDPport
   
    try {
        [Lextm.SharpSnmpLib.Messaging.Messenger]::Walk(
            $Version,
            $endpoint,
            $Community,
            $OID,
            $results,
            $TimeOut,
            $WalkMode
        ) | Write-Verbose -Message { 'Found: {0}' -f [bool]$_ }
    } catch {
        Write-Warning "SNMP Walk issue: $_"
        return
    }
 
    foreach ($variable in $results) {
        New-Object PSObject -Property @{
            Data = $variable.Data.ToString()
        }
    }
}

Прошу помочь мне с этой проблемой, так-как уже третий день с этим мучаюсь. Заранее спасибо за помощь❤


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: MAC, SNMP, Powershell DES-1210-08P
СообщениеДобавлено: Пн мар 01, 2021 16:13 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Вт июн 20, 2017 17:29
Сообщений: 368
Добрый день!
Опрос МАС адреса выводит МАС в десятичной системе счисления, а не в шестнадцатеричной, как мы привыкли.
Может в этом может быть проблема


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 202


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB