Скрипт для выявления порта свитча по маку. Опрос по SNMP

Допилил предыдущий скрипт . Необходимо знать аплинки каждого из свитчей. В моем случае, все они подключены к одному корневому (RootSwitch). Скрипт вытягивает по SNMP FDB таблицу корневого свитча, ищет в ней заданный MAC, сверяет его по заранее заданной таблице аплинков до свитчей доступа, переходит на следующий свитч и с него так же забирает FDB таблицу, а в ней уже ищет необходимый MAC. Информация выводится следующим образом “MAC, vlan, port корневого свитча; MAC, vlan, port конечного свитча”.

Скрипт для выявления порта свитча по маку

Имеем сеть с кучей управляемых свитчей, подключенных к одному корневому и друг к другу с включенным STP. Необходимо найти порт, к которому подключено устройство с известным нам MAC-адресом. Бегать по web-интерфейсам свитчей крайне напряжно, если маков больше 5. Я использую систему мониторинга The Dude, которая умеет обходить устройства по SNMP и вываливать необходимую инфу в csv. Поэтому с каждого свитча сливаем в csv таблицу FDB. Получаем подобное:Flag,MAC,Port,Status,00:03:0F:18:F1:6A,D-Link DGS-3120-48TC R3.10.B01 Port 43 on Unit 1 (43),learned,00:0B:82:3E:27:C6,D-Link DGS-3120-48TC R3.

Пара слов о проблемах на портах коммутаторов

При выставленной опции autonegotiation на порту свитча и сетевой карте клиента, оба устройства пытаются договориться о параметрах скорости и дуплекса на линке.Если не удаётся согласовать параметры, то используется 10 Мб/с, полудуплекс.Если коммутатор определяет скорость линка без использования автосогласования, то Если скорость 10 Мб/с или 100 Мб/с, используется полудуплекс. Если скорость 1 Гб/с, используется полный дуплекс.Причем, при выставлении дуплекса в фулл, получаем скорость в 2 раза выше (в идеале, конечно) доступной на линке.