Переклад результату SNMPWALK у читаний для людини формат


12

Я задаю це запитання, яке пов'язане з питанням, яке я раніше задавав, і на нього всебічно відповів @MikePennington. Коли я задав це запитання, я мав намір знати, як опитувати таблицю arp через комутатор, але у свою відповідь він також включив таблиці адрес mac. З цікавості я опитав таблиці мак-адрес. Я використав команду:

 sudo /usr/bin/snmpbulkwalk -v 2c -c public@1 -OXsq 10.0.0.98 .1.3.6.1.2.1.17.4.3.1.2

У рішенні Майка він показав чіткий результат, показаний нижче

[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public@10 -OXsq \
    172.16.1.210 .1.3.6.1.2.1.17.4.3.1.2 
dot1dTpFdbPort[0:6:53:fe:39:e0] 52 
dot1dTpFdbPort[0:1d:a1:cd:53:46] 52 
dot1dTpFdbPort[0:30:1b:bc:a7:d7] 52
 dot1dTpFdbPort[0:80:c8:0:0:0] 52 
dot1dTpFdbPort[38:ea:a7:6d:2e:8e] 52 
dot1dTpFdbPort[80:ee:73:2f:b:40] 52 
[mpenning@tsunami ~]$

Це чітке рішення, в якому ви можете легко вказати порт і адресу Mac. Однак моє власне рішення виходить у формі

iso.3.6.1.2.1.17.4.3.1.2.0.20.42.49.139.235 25
iso.3.6.1.2.1.17.4.3.1.2.0.21.23.10.229.224 25
iso.3.6.1.2.1.17.4.3.1.2.28.111.101.71.85.113 25
iso.3.6.1.2.1.17.4.3.1.2.28.111.101.174.157.35 25
iso.3.6.1.2.1.17.4.3.1.2.48.133.169.153.178.62 25
iso.3.6.1.2.1.17.4.3.1.2.60.208.248.182.16.108 25
iso.3.6.1.2.1.17.4.3.1.2.108.240.73.231.208.120 25

Я розумію, що номер порту - 25, але чи є інші числа MAC-адресою, і якщо так, то чому вони відрізняються від рішення дати?

Будь-яка допомога буде по-справжньому вдячна. Я опитую вимикач Cisco Catalyst 2960.


2
У вас відсутній файл MIB, який говорить про те, як читати дані. Але це просто base10 презентація вашого MAC, iso.3.6.1.2.1.17.4.3.1.2. 28.111.101.71.85.113 25, легко перетворити на базу16. ruby -e 'p ARGV [0] .split (".") [- 6 ..- 1] .карта {| e | e.to_i.to_s (16)}. join (":")' iso.3.6 .1.2.1.17.4.3.1.2.28.111.101.71.85.113 25, урожай "1c: 6f: 65: 47: 55: 71" - виглядає як гігабайт OUI
ytti

Чи можете ви опублікувати еквівалентні MAC адреси? Схоже, ви можете просто скинути їх у десятковій формі, а не шістнадцяткову, але нам потрібно порівняти шістнадцяткові адреси
chrylis -на страйк-

єдиним способом отримати еквівалентні MAC-адреси було б конвертувати, оскільки з цього рішення все вказує на порт 25, тому я вважаю, що це складна процедура спробувати знайти відповідні MAC-і.
sosytee

@ytti я повинен встановити MIB на своєму сервері?
sosytee

1
@sosytee так, вам слід встановити відповідний MIB на своєму сервері, якщо перетворення його самостійно не є варіантом, це занадто банально, як показано вище.
ytti

Відповіді:


8

моє власне рішення виходить у вигляді

ізо.3.6.1.2.1.17.4.3.1.2.0.20.42.49.139.235 25

... чи інші цифри представляють MAC-адресу, і якщо так, то чому вони відрізняються від рішення давати?

По-перше, прошу вибачення за те, що не включаю цю залежність ...

Таблиці MIB, які ви опитуєте, індексуються значенням. У цьому випадку ви проводите опитування dot1dTpFdbPort(яке відображається як iso.3.6.1.2.1.17.4.3.1.2 , якщо у вас не завантажений BRIDGE-MIB). Цей OID індексується мак-адресою. Тому 0.20.42.49.139.235 є mac-адресою у крапково-десятковому форматі ...

Для того, щоб побачити очікувані результати, вам потрібно отримати V2-метрів з FTP-сайту Cisco :

  • mkdir /usr/share/snmp/mibs/cisco (як корінь)
  • cd /usr/share/snmp/mibs/cisco
  • Копія, v2.tar.gzяку ви тільки що завантажили/usr/share/snmp/mibs/cisco/v2.tar.gz
  • tar xvfz v2.tar.gz
  • Відредагуйте /etc/snmp/snmp.confта зробіть це першим рядком у файлі:mibdirs +/usr/share/snmp/mibs/cisco

Припущення :

  • Ви використовуєте бібліотеки NET-SNMP для опитування
  • Завантажуються ваші MIB-файли за замовчуванням NET-SNMP /usr/share/snmp/mibs/
  • Ваша конфігурація NET-SNMP знаходиться в /etc/snmp/snmp.conf
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.