Если вы подключены через слой 2 к устройству, вы можете просто использовать пинг по адресу уровня 3, чтобы сгенерировать поиск arp, а затем посмотреть в кеше arp для mac ... Это будет работать для любого уровня 3 порт, даже логические порты, такие как версия Portchannels уровня 3.
Это, наверное, самый простой способ.
Если вы хотите быть на 100% в сфере SNMP:
Чтобы получить таблицу интерфейсов для этого устройства, пройдите ниже oid. Он вернется
список всех интерфейсов на этом устройстве. Это должно работать на любом устройстве (даже на сервере), на котором работает агент SNMP:
.1.3.6.1.2.1.2.2.1.2
Это даст вам список номеров интерфейсов (последняя цифра в OID) и описания интерфейсов. Он работает для SVI и физических интерфейсов, не уверен насчет логических типов, отличных от SVI.
Затем для каждого интерфейса, чтобы получить его mac (где x - это значение в таблице интерфейса):
.1.3.6.1.2.1.2.2.1.6.x
Это дает тебе макинтош. (Ведущие 0 могут быть усечены на некоторых устройствах.)
Однако для выполнения snmpwalk вам потребуется как минимум 1 адрес уровня 3 на каждом устройстве.
Если вы просто хотите получить все маки, тогда пройдитесь по этому oid:
.1.3.6.1.2.1.2.2.1.6
Я использую этот подход, чтобы сделать нечто подобное в большой сети.