Как по mac-адресу определить производителя оборудования
Добрый день! Уважаемые посетители блога. В прошлой публикации я вас научил восстанавливать компоненты Microsoft Excel Application в DCOM, которые так часто любят использовать 1сники. Сегодня я хочу поделиться с вами опытом, по определению производителя оборудования зная только mac-адрес вашего устройства, я приведу примеры из практики, когда эти знания могут вам пригодиться и быть полезными.
Как mac-адрес может вам подсказать вендора оборудования
Если у вас в компании используется Active Directory, то вы просто обязаны сталкиваться со случаями блокировки учетной записи пользователя. Причин блокировок может быть много, но очень часто бывает, что по логам вы не можете точно понять, откуда идет проблема, вам не ясен хост или устройство. Например, видно, что идут неудачные попытки авторизации на VPN сервере, в результате чего пользователь идет отдыхать на некоторое время. В логах точного устройства нет, но вы всегда можете попросить коллег сетевиков подсказать mac-адрес, чтобы локализовать тип устройства и понять его производителя, полезно при поиске телефонов.
MAC-адрес (Media Access Control address) — это уникальный идентификатор, присваиваемый сетевому интерфейсу устройства. Он состоит из 48 бит и обычно представляется в виде шестнадцатеричного числа, разделенного двоеточиями или дефисами. Структура MAC-адреса делит его на две части:
- OUI (Organizationally Unique Identifier): Первые 24 бита (или 3 байта) MAC-адреса. Этот участок назначается производителям оборудования и уникален для каждой компании. В примере ниже, это 00:1A:3F
- NIC (Network Interface Controller) Specific: Оставшиеся 24 бита назначаются производителем для уникальной идентификации конкретного устройства. В примере ниже, это F1:4C:C6.
Производители регистрируют свои OUI в IEEE (Institute of Electrical and Electronics Engineers). Это позволяет им получить уникальный набор идентификаторов для своих устройств. Существует база данных OUI, где можно найти информацию о производителе по его OUI. Ее мы и будим использовать для наших методов.
У меня уже приводилась маленькая часть этой базы данных, где OUI сопоставлялись с вендором.
Как с помощью PowerShell узнать производителя зная mac-адрес
Когда устройство подключается к сети, его MAC-адрес можно использовать для определения производителя. С помощью API или баз данных, таких как macvendors.com, можно выполнить запрос с использованием OUI и получить информацию о производителе. Вот пример простейшего PowerShell скрипта, который возьмет ваш mac-адрес и сходит с ним через интернет в общественную базу данных.
Для демонстрации я возьму два mac-адреса, первый это сетевого интерфейса, второй своего роутера.
Как определить mac адрес устройства в Windows я подробно описывал, тут останавливатьсмя не буду
С помощью протокола arp, я вычислил mac-адрес своего роутера e0-88-5d-8c-fc-6f и с помощью getmac вывел информацию по сетевым интерфейсам.
Теперь открываем PowerShell ISE в режиме администратора и вставляем туда вот такой скрипт, единственное заменив в нем свой физический адрес.
$macAddress = "e0-88-5d-8c-fc-6f" # Укажите здесь ваш MAC-адрес
$url = "https://api.macvendors.com/$macAddress"try {
$vendor = Invoke-RestMethod -Uri $url -Method Get
Write-Output "Производитель для MAC-адреса $macAddress $vendor"
} catch {
Write-Output "Не удалось получить информацию о производителе."
}
В моем примере у роутера вендор Vantiva USA LLC, а у сетевой карты Dell Inc.
Как массово сопоставить список mac-адресов с производителями
Предположим, что у вас есть список физических адресов и вам необходимо посмотреть, что за зоопарк оборудования у вас есть. В таком случае вам так же может помочь PowerShell. Для этого заранее подготовьте список mac-адресов и сохраните его в виде текстового файла, где каждый адрес будет на новой строке и без пробелов. Далее мы его импортируем.
# Укажите путь к файлу с MAC-адресами
$macFilePath = "C:\temp\mac.txt"# Чтение MAC-адресов из файла
$macAddresses = Get-Content -Path $macFilePath# Цикл по каждому MAC-адресу
foreach ($mac in $macAddresses) {
# Удаляем лишние пробелы и приводим к нижнему регистру
$mac = $mac.Trim().ToLower()# Выполняем запрос к API для получения информации о производителе
try {
$response = Invoke-RestMethod -Uri "https://api.macvendors.com/$mac" -Method Get# Выводим MAC-адрес и производителя
Write-Output "MAC: $mac, Vendor: $response"
} catch {
Write-Output "MAC: $mac, Vendor: Not found or error occurred."
}# Задержка в 5 секунд между запросами
Start-Sleep -Seconds 3
}
Проверка mac-адреса по вебсервисам
Существует огромное количество различного рода сервисов, позволяющих вам найти производителя вашего сетевого устройства. Я приведу несколько.
- https://maclookup.app/
- https://www.networkcenter.info/inform/mac
- https://www.ipchecktool.com/tool/macfinder
На этом у меня все, надеюсь, что данный опыт окажется для вас полезным в вашей практике. С вами был Иван Сёмин, автор и создатель данного ресурса.