
Я думаю, что большинство людей задают этот вопрос наоборот — имея доступ к коммутатору и запрашивая MAC-адрес.
У меня есть тестовый ноутбук, и мне интересно, есть ли программное обеспечение (возможно, от HP), которое бы сообщало мне, к какому коммутатору и порту в данный момент подключен ноутбук? Пожалуйста, предположите, что у меня нет доступа к управлению коммутатором. Если это действительно информация, которую коммутатор выдает (последствия безопасности) - я мог бы написать собственное приложение, если бы кто-то мог указать, какой протокол будет использоваться.
Для моей работы мне понадобится следующее: я зайду в случайную комнату, подключу свой ноутбук к порту Ethernet на стене, и он скажет мне, к какому коммутатору и порту я подключен.
Спасибо вам за ваши предложения.
решение1
Это зависит от коммутатора и его конфигурации.
Могут быть запущены несколько протоколов (CDP на коммутаторах Cisco, NDP на Nortel, LLDP, ...), которые могут сообщить вам, на каком коммутаторе и порту вы находитесь.
Чтобы собрать эту информацию, вам просто нужно прослушать сетевой трафик.
Использование tcpdump для получения CDP-пакетов:
tcpdump -nn -v -i eth0 -s 1500 -c 1 'ether[20:2] == 0x2000'
и для ЛЛДП:
tcpdump -nn -v -i eth0 -s 1500 -c 1 'ether[12:2] == 0x88cc'
Я бы проверил, какие марки коммутаторов имеются, а затем выяснил бы, какие протоколы обнаружения они могут использовать, а затем просто поискал бы кандидатов (может пройти несколько минут, прежде чем вы получите пакет).