Самый простой способ получить MAC-адрес с (не локального) IP-адреса в IPv4 - PullRequest
1 голос
/ 14 марта 2011

Есть ли простой способ получить MAC-адрес компьютера, подключенного к моему приложению через сокет tcp / ipv4?

Или в более общих чертах: если у меня есть IP-адрес, какой лучший способ получить соответствующий MAC-адрес в IPv4?

Ответы [ 3 ]

5 голосов
/ 14 марта 2011

MAC-адреса используются только для следующего перехода.В основном это означает, что оригинальный MAC-адрес клиента не будет виден после первого прыжка.В общем смысле, если вы не находитесь в том же физическом сегменте, что и клиент, у вас НЕТ способа получить IP и получить MAC (или наоборот).

3 голосов
/ 14 марта 2011

Вы не можете, не имея чего-либо (или самого клиента) в этой другой сети.

MAC-адреса используются на втором уровне, канальном уровне модели OSI для работы в сети . MAC-адреса специфичны для Ethernet. Когда вы попадаете в Интернет, используются IP-адреса. Не все, что подключено к Интернету, использует Ethernet на нижних уровнях.

Существуют и другие протоколы, отличные от IP, которые можно использовать.

По сути, ваш компьютер знает только то, что находится в его сегменте физической сети. Если ему нужно выйти наружу для чего-то еще, он знает только MAC-адрес шлюза, чтобы добраться туда.

2 голосов
/ 14 марта 2011

Работа таблицы ARP - хранить эту информацию.Лучше всего прочитать его оттуда.

Вы можете прочитать ответы на Запрос ARP-кэша, чтобы получить MAC ID .Спрашивающий использовал Java, но в остальном это ваш идентичный вопрос.

...