sankarmca86 Ответов: 3

Как получить mac - адрес клиентской машины?


Всем привет,

Я разрабатываю жереха.Чистый сайт. Для отслеживания пользователей нам необходимо зарегистрировать Mac-адрес клиентских машин, на которых пользователь входит в систему. Я испробовал два метода. но в обоих методах он принимает mac-адрес сервера вместо клиентской машины.

Пожалуйста, кто-нибудь помогите мне, чтобы получить mac-адрес клиентской машины. заранее спасибо.

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

Первый Способ
-------------

публичная строка GetMACAddress()
{
ВАР macAddr =
(от nic в NetworkInterface.GetAllNetworkInterfaces()
где Ник.OperationalStatus == OperationalStatus.Up
выбрать сетевой интерфейс.GetPhysicalAddress().ToString()).FirstOrDefault();
вернуться macAddr;
}

вторая методика
-------------
foreach (NetworkInterface nic в NetworkInterface.GetAllNetworkInterfaces())
{
if (nic.OperationalStatus == OperationalStatus.Вверх && (!nic.Описание.Содержит усилитель("виртуальные") &;&усилителя; !ник.Описание.Содержит("Псевдо")))
{
если (индекс NIC.GetPhysicalAddress().Метод toString() != "")
{
Мак = ник.GetPhysicalAddress().Метод toString();
}
}
}

F-ES Sitecore

Это очень часто задаваемый вопрос, пожалуйста, сделайте фундаментальное исследование, например, с помощью google, прежде чем задавать вопрос, и вы получите ответ в считанные секунды.

3 Ответов

Рейтинг:
1

Dave Kreskowiak

Просто, ты не можешь.

MAC-адрес не виден и не имеет никакого значения ни для чего, кроме подсети, в которой находится клиентская машина.

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

Код, который вы опубликовали, работает только для получения MAC одного из сетевых интерфейсов на сервере, а не на клиенте! ASP.NET код выполняется полностью на сервере, а не на клиенте.


Рейтинг:
1

Gerry Schmitz

"Пользователь" "отправляет" a / mac-адрес при входе в систему / регистрации на сервере.

MAC относится к сетевой карте; сетевая интерфейсная карта.

MAC идентифицирует поставщика; и система идентификации продуктов поставщиков.

У поставщика может быть несколько "идентификаторов поставщика", даже для одного и того же типа оборудования.


Рейтинг:
1

kmoorevs

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

Недавно у меня было веб-приложение, которое имело те же требования к идентификации устройств для ведения записей. Мы придумали метод, который кодирует имя устройства и несколько других ключевых элементов в строку запроса, используемую для запуска приложения. Как только устройство было проверено, соответствующие файлы cookie также записываются/переписываются клиенту...но вы не можете доверять куки. Эта система хорошо работает для клиента, имеющего около 50 iPads/locations. Как обычно, тайм-ауты сеанса-это дьявол...код соответственно!

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