SNMP OID для сопоставления MAC-адресов с IP-адресами?
Я написал некоторый код C#, который я использую для запуска файла "snmpwalker.exe", который возвращает сведения о коммутаторах cisco, когда я передаю правильный IP-адрес строки сообщества и информацию о vlan с OID. Мне удалось получить достаточно информации для сопоставления MAC-адресов с портами коммутатора, но я также хочу узнать IP-адреса. Кто-нибудь знает, каким будет OID для snmp, чтобы получить список с MAC-адресами и IP-адресами на коммутаторе cisco?
Я раньше не использовал snmp и не много делал в сети, поэтому я новичок в том, как работает большинство этих вещей.
1 ответ
Переключатель - это устройство уровня 2. Он работает с MAC-адресами и ничего не знает об IP-адресах.
DHCP-сервер будет иметь MAC-адреса только для устройств, которые запросили IP-адрес. Серверы, коммутаторы, принтеры и т. Д., Вероятно, не будут использовать DHCP.
Другие идеи:
- Если ваша подсеть маленькая, вы можете пропинговать каждый адрес и смотреть на кеш ARP на вашем хосте. Это должно найти большинство вещей с IP-адресом, но не все обязательно отвечает на PING. Для большой подсети это будет медленно и не очень хорошая практика.
- Вы можете пропинговать адрес всех хостов многоадресной рассылки (224.0.0.1) и проверить кэш ARP, но при этом будут найдены только устройства с поддержкой многоадресной рассылки.
- Проверьте связь с широковещательным адресом подсети и проверьте кэш ARP. Опять же не все обязательно ответят.
Комбинация этих подходов, вероятно, даст большинство результатов, но у вас будут проблемы с поиском, например, принтера со статическим адресом, который не отвечает на команду ping.
Если вы не понимаете эти термины, прежде чем идти дальше, найдите учебное пособие по работе в сети.