Можно ли программно определить, какой разъем сетевого коммутатора подключен к компьютеру?Можно ли определить, какой разъем на коммутаторе подключен к компьютеру?
ответ
Это возможно или невозможно, в зависимости от переключателя.
Если это управляемый коммутатор, вы можете запросить его интерфейс управления, чтобы определить MAC-адреса за каждым портом. Затем вы можете сопоставить это с аппаратным адресом на интересующем вас компьютере.
Некоторые коммутаторы имеют протоколы обнаружения (например, CDP или LLDP), которые будут передавать идентификатор порта в зависимости от того, какие устройства подключены. Вы можете обнюхать сеть для этих пакетов, чтобы определить порт, к которому подключен ваш компьютер.
+1: Я говорил с некоторыми резидентными экспертами здесь, в моем офисе. Похоже, что ответ заключается в том, что технически это возможно, но в большой организации, где разные места используют различное оборудование и безопасность, важно, это непрактично. –
Да, было бы сложно найти общее решение. Для любопытства я бы понюхал вашу сеть, используя Wireshark, и отфильтровал ее для 'lldp' и' cdp', чтобы увидеть, видите ли вы какие-либо из этих пакетов обнаружения. – mpontillo
Вы можете попытаться разобрать их по одному и каждый раз при тестировании сетевого соединения.
Я хочу сделать это программно, если это возможно. –
Чтобы определить порт коммутатора, подключенный к вашему компьютеру; вам нужно вручную получить доступ к коммутатору и удалить ур кабель RJ-45, так что вы можете визуализировать любой порт, имеющий состояние отключения .. дм графический интерфейс может быть использован, если переключатель управляемым
ОГТ и LLDP не будет работать на компьютере поскольку оно не поддерживает его
Нет, это не ответ, потому что я заинтересован в том, чтобы определить это программно, а не вытащить соединение и посмотреть, что произойдет. –
Я прочитал бы в том, как переключатель слова, ответ на этот вопрос отвечает в этой документации, как только вы понимаете аппаратную это программное обеспечение вопрос тривиален. ** Подсказка: ответ конечно нет. ** –