Как получить MAC-адрес клиента? - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь получить MAC-адрес клиентского ПК, но он показывает MAC-адрес сервера IIS, на котором размещен мой проект.

protected void Page_Load(object sender, EventArgs e)
    {
        NetworkInterface[] anics = NetworkInterface.GetAllNetworkInterfaces();
        foreach (NetworkInterface adapter in anics)
        {
            if (amacaddress == String.Empty)
            {
                IPInterfaceProperties properties = adapter.GetIPProperties();
                amacaddress = adapter.GetPhysicalAddress().ToString();
                lblname.Visible = true;
                string ip = Request.UserHostAddress;

                lblname.Text = "MAC Address is :- " + amacaddress + "  "+ ip;
            }
        }
    }

1 Ответ

0 голосов
/ 05 октября 2018

Да.Это похоже на запрос на получение IMSI телефона от телефонного звонка - невозможно, вы звоните по номеру телефона, остальное - детали реализации.MAC-адреса практически никогда не передаются более чем одному домену Ethernet (следующий коммутатор / маршрутизатор).Они не являются частью уровня протокола IP.Таким образом, вы не можете получить их из http-запроса, который в конечном итоге является TCP, то есть IP-соединением.Вам нужно будет выполнить (C #, а не javascript) код на клиенте, чтобы, возможно, получить локальные MAC-адреса - то есть во множественном числе, их может быть несколько (например, 2 локальных сетевых карты, беспроводной адаптер = 3 MAC-адреса)..

...