Как получить MAC-адрес внешнего IP в C#
Как получить MAC-адрес внешнего IP в C#? Например, я хочу найти mac-адрес "204.13.153.34"?
Любые идеи и фрагмент кода высоко ценится? Заранее спасибо
4 ответа
Вы должны прочитать о протоколе разрешения адресов.
Вы не можете определить MAC-адрес компьютера в другом сегменте сети. С ARP вы можете определить MAC-адрес для данного IP-адреса, если машина находится в том же сегменте. Вот что делает стек IP. Он запрашивает "сеть" через ARP, который отвечает за передачу пакетов для IP-адреса, потому что карта Ethernet знает только MAC-адреса.
Как и @EricSchaefer answare, вы не можете получить MAC-адрес из другого сегмента сети. Но если он имеет тот же сегмент сети, я уже отвечаю на другие вопросы
Я не думаю, что это возможно, если вы не напишите что-то на другом конце, что отправит вам это?
РЕДАКТИРОВАТЬ:
Похоже, что это может помочь восстановить MAC-адрес
РЕДАКТИРОВАТЬ: Вы не можете получить внешний MAC-адрес пользователя, не имея доступа к ним локальной сети... UNLESS: у вас есть доступ к хорошей таблице ARP, и только если клиент подключен ПРЯМО к серверу php (если есть маршрутизаторы / шлюзы, которые NAT трафик, возвращенный MAC-адрес будет тот из шлюза) - Источник
Это говорит о PHP, но основной будет такой же для C#
Есть команда arp, которая является частью TCP/IP (она означает Протокол разрешения адресов), но она работает только через локальную сеть.
Я не думаю, что вы можете делать то, что вы хотите через Интернет. Как вы просто получите MAC для первого узла.