vijisks Ответов: 2

Получить MAC-адрес системы посетителей с помощью ASP.NET с#


Я опубликовал свое приложение в azure server. Это как один компьютер. Я пытался получить mac-адрес системы посетителей через свой браузер веб-сайта, но не смог получить его идеально. Системный mac-адрес Azure server можно получить только из моего кода. Пробовал много кодирования, которое было предложено проектом кода

Кто-нибудь, пожалуйста, помогите немедленно решить мои проблемы.

Что я уже пробовал:

public string GetMACAddress()
    {
        NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
        String sMacAddress = string.Empty;
        foreach (NetworkInterface adapter in nics)
        {
            if (sMacAddress == String.Empty)// only return MAC Address from first card  
            {
                IPInterfaceProperties properties = adapter.GetIPProperties();
                sMacAddress = adapter.GetPhysicalAddress().ToString();
            }
        } return sMacAddress;
    }

F-ES Sitecore

Пожалуйста фундаментальных исследований как погуглить прежде чем задавать вопрос. Это очень часто задаваемый вопрос.

2 Ответов

Рейтинг:
2

OriginalGriff

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

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


vijisks

Спасибо за ваш немедленный ответ.

Мы хотим следить за регистрацией данных посетителей в целях безопасности. Поэтому нам нужно захватить статический IP-адрес.

Можно ли получить IP - адрес системы посетителя?

OriginalGriff

Вам нужно узнать гораздо больше о том, как все работает, прежде чем вы приступите к этому: IP-адрес посетителя вам тоже не нужен по двум причинам:
1) большинство IP - адресов не являются статическими-если вы не платите за это дополнительно, вы получаете динамический адрес. Это означает, что вы не можете полагаться на IP-адрес для идентификации клиентов. Здесь есть некоторое объяснение:

https://www.codeproject.com/Tips/792723/Using-IP-based-Geolocation-and-why-its-pretty-much

2) IP-адреса не уникальны для системы: локальные IP-адреса (между маршрутизатором и клиентом есть, но обычно они тоже не статичны, но они не передаются мимо маршрутизатора и все обычно имеют вид 192.168.xxx.yyy, что означает, что тысячи ваших пользователей могут иметь одинаковые локальные IP-адреса).
IP - адрес, который вы можете получить для своего клиента, является IP-адресом маршрутизатора и является общим для всех клиентов, использующих этот маршрутизатор-вы не можете определить, из какой системы поступает запрос.

Рейтинг:
1

jimmson

Вы просто не можете этого сделать. MAC-адрес не отправляется во время запроса.

Вы можете получить только MAC-адрес машины, которая выполняет ваш код.


vijisks

Спасибо за ваш немедленный ответ.

Мы хотим следить за регистрацией данных посетителей в целях безопасности. Поэтому нам нужно захватить статический IP-адрес.

Можно ли получить IP - адрес системы посетителя?