ExpVadim писал(а):
Всем привет.
Даже не мог предположить, что такой простой вопрос поставит меня в тупик.
Как по SNMP определить сколько у коммутатора портов? Не интерфейсов! Желательно, сделать это одной командой.
Так вот. ifNumber (1.3.6.1.2.1.2.1) возвращает нам количество интерфейсов. Причем, на разных моделях, в этот список попадает куча всего разного. Возникает резонное желание - проверить тип каждого интерфейса (ifType(1.3.6.1.2.1.2.2.1.3)). Заметьте, это уже вторая команда. Проверяем. Получаем опять непонятки. От DGS-1100-06 получаем, что у него 10 интерфейсов. Первые 6 - "D-Link DGS-1100-06/ME Rev.A1/1.05.B018 Port ...", следующий - "L2VLAN Interface", все остальные - ошибочный запрос. Как так? Он же сам мне говорит, что у него 10 интерфейсов, а проверить тип можно только у первых 7-ми. Опрашиваю второй, точно такой, же свитч. Там получаю 9 интерфейсов, и опять тип могу проверить только у первых 7. У других типов свитчей картина, с небольшими отличиями, примерно такая же.
Идем дальше. Теперь берем коммутатор с бОльшим количеством портов. Опросить все порты за один запрос не получается (не знаю с чем это связано, возможно с размером буфера SNMP). Это еще плюс одна команда. В коммутаторах с 52-я портами потребуется аж 4 запроса. Тут уже проще будет опрашивать тип каждого порта отдельным запросом.
Так вот. Возвращаюсь к своему вопросу. Ка за один запрос (максимум два) узнать количество портов на устройстве?
Всем спасибо.
Добрый день, можно таким способом:
artem@artem-desktop:~$ snmpwalk -v2c -c public 10.90.90.90 1.3.6.1.2.1.1.1
iso.3.6.1.2.1.1.1.0 = STRING: "DGS-1100-06/ME/A1"
Он выводит модель коммутатора, исходя их этого можно определить сколько у него портов.
Спасибо.