К сожалению, вы не можете получить MAC-адрес пользователя так, как вам нужно. Насколько я понимаю, MAC-адреса удаляются из пакетов, когда они покидают вашу локальную сеть.
Вы можете попробовать , чтобы получить адрес пользователя из Request.UserHostAddress
. Однако, если вы находитесь за балансировщиком нагрузки или сетью распределения контента, вы можете сначала попытаться заглянуть в Request.Headers["X-Forwarded-For"]
- именно здесь исходный IP-адрес пользователя будет часто записываться при переадресации запроса чем-либо.
Я обычно использую подход, чтобы попробовать что-то вроде:
var address = Request.Headers["X-Forwarded-For"];
if (String.IsNullOrEmpty(address))
address = Request.UserHostAddress;
Последний проект, над которым я работал, мы фактически зарегистрировали оба, в случае, если перенаправленный заголовок был подделан.