Generate random mac addresses

Содержание:

Linux

Linux added support for MAC address randomization during network scans. The address should be randomized for each
scan iteration. The mvm module of the iwlwifi driver supports randomization since kernel 3.18. The brcmfmac driver
added support for this in kernel 4.5.

The privacy-oriented Linux distribution Tails does not support MAC address randomization during network scans.
Instead, it generates a new random MAC address at boot. This random address keeps the first 3 bytes of the original
address, the Organization Unique Identifier (OUI), and only randomizes the last three bytes. While not as optimal as
periodical address changes, it does prevent tracking over extended periods of time.

Что такое Wi-Fi таргетинг

Когда вы настраиваете показ объявлений на аудиторию по её MAC-адресам, это и есть Wi-Fi таргетинг. Точнее, его подвид, так как таргетинг по номерам телефонов или электронным адресам – тоже Wi-Fi таргетинг. Данная технология позволяет собирать и выгружать данные об устройствах пользователей, когда они авторизуются в сети Wi-Fi.
 
С точки зрения маркетинга, это инструмент для сбора аудитории из офлайна – посетителей определенных мест (торгового центра, офиса, парка и т.д.) или мероприятий (концерта, выставки, конференции и т.д.)
 
С технической точки зрения вы получаете список хэшированных данных об аудитории, которая посещала, например, вашу торговую точку.
 
Весь алгоритм Wi-Fi таргетинга по MAC-адресам заключается в следующем: в момент авторизации в сети Wi-Fi магнит считывает физические адреса устройств

В дальнейшем на эти устройства вы настраиваете показ рекламных объявлений.
 
Чаще всего Wi-Fi таргетинг применяется в таких областях, как ритейл, дилерские центры, банки, электронная коммерция, все виды локального бизнеса (сфера услуг, фитнес-центры, рестораны, кафе и т.д.) То есть, все организации с высокой проходимостью, для которых важно отслеживать целевую аудиторию в офлайне.
 
Также это B2B-сфера, для которой сложно найти целевую аудиторию в онлайне. Поэтому остается такой вариант – собирать данные о посетителях профильных мероприятий.
 
Реклама по MAC-адресам доступна в сервисе Яндекс.Аудитории и рекламной системе myTarget. 

4 ответа

1

Поскольку уникальность — это все, о чем вы должны заботиться (за исключением формирования корректного адреса), я буду беспокоиться о MSB в OUI и использовать последовательность в конкретных байтах NIC

Распределение адресов, вероятно, не важно для вашего приложения (хотя некоторые реализации NIC или коммутатора могут использовать их как входные данные для хеша, это, вероятно, не представляет большой проблемы)

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

Избегайте ловушек, таких как установка бита многоадресной передачи (в вашем примере).

13 дек. 2011, в 03:59
Поделиться

Для тех, кто хочет генерировать свои собственные MAC-адреса (хороший пример для сетевых адаптеров VM), вы, вероятно, просто хотите:

Или, если вы хотите сделать это в оболочке unix’ы, это работает на многих:

Это дает вам одноадресный MAC-адрес, который на 100% безопасен для использования в вашей среде и не торопится ни о каком зарегистрированном MAC-адресе.

Подробнее…

Нижние два бита верхнего байта (0x02) дают вам локально управляемый одноадресный адрес, который, вероятно, вам нужен, если вы нажимаете stackoverflow для того, как его создать.:)

Если MAC-адрес не используется локально, это означает, что он должен быть «глобально уникальным». MAC-адреса в этой категории регистрируются централизованно с помощью IEEE, и у вас должен быть уникальный OUI (организационно уникальный идентификатор), выданный вам IEEE. См. эту ссылку для глобального реестра значений OUI. Это значение OUI заканчивается в первых 3 байтах (или только в верхних 22 битах, действительно).

MAC-адреса не так уж сложны, поэтому вам, вероятно, следует просто взглянуть на определение. Wikipedia хороший.

21 апр. 2017, в 13:44
Поделиться

Изменено из код мамофиша на Python3:

Создает mac-адреса как строки от до .

20 май 2016, в 16:53
Поделиться

Чтобы избежать дублирования:

Если вы собираетесь генерировать LOT (миллионы) таких MAC-адресов, вам может понадобиться создать список упорядоченных MAC-адресов, которые будут использоваться для процесса линейной рандомизации (GNU-sort -R должен делать правильно — я не думайте, что он делает это в линейном времени, но имеет аналогичный конечный результат) один раз, а затем вытягивайте свежие адреса с одного конца рандомизированного списка по мере необходимости. Я считаю, что такой список должен соответствовать примерно 34 мегабайтам.

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

Кстати, если 4-й октет (пронумерованный от 1, начиная слева), должен быть 0-ff вместо 0-7f? Я не вижу случаев 7f или 127 на странице Википедии на адресах Mac:
http://en.wikipedia.org/wiki/MAC_address

13 дек. 2011, в 04:53
Поделиться

Ещё вопросы

  • 2действует как переключатель между двумя сокетами с питоном
  • 2Составление сложных чисел в Python?
  • 2получить также элемент, который не соответствует fnmatch
  • 2Как я могу прочитать копию данных, поступающих в главный конец PTY?
  • 1В шаблоне скрытый ввод не установлен
  • 2Automake Datadir и префикс в Python
  • 2Использование голоса вместо «raw_input» в python для Mac OS X
  • 2Изменить начало года в модуле datetime в Python?
  • 2Cython: учебник не может найти внешние символы, на которые никогда не ссылаются
  • 2Как вы можете определить переменную, которая никогда не будет соответствовать в Python?

How to generate a random MAC address?

It’s really easy to generate a random MAC addresses:

  1. Select the number of MAC addresses you want to generate
  2. Select if you want lowercase or UPPERCASE MAC addresses (default lowercase)
  3. Generate MAC address by clicking «Generate MAC address» button!
  4. Generate new MAC addresses by clicking «Generate new MAC address» button!
  5. Like and review our Facebook page (optional)

What we recommend (advertisement):

Atlas VPN is here to get the online privacy, security and freedom you deserve. Atlas VPN provides top-notch online security, fast connection speeds, and user-friendly design at no cost. Try out the best FREE VPN service today!

Download now for FREE!

About Comment Picker

Comment Picker is a platform of social tools that helps businesses to grow online and connect with their audience. Besides social tools, Comment Picker offers a lot of simple and easy to use tools to make everyone’s lives easier and more fun.

Comment Picker Blog

Find the latest news, how-to’s, tips & tricks about our tools, social media & online marketing in
our Comment Picker Blog.

  • Facebook Marketing Blog
  • Youtube Marketing Blog
  • Instagram Marketing Blog

Comment Picker Tools

Find your favorite (social) tool in one of our categories:

  • Facebook Tools
  • Instagram Tools
  • Youtube Tools
  • Random Generators
  • Name Generators
  • Text Tools
  • Math Tools
  • Other Tools

Other ideas for useful tools? Please let us know via or Instagram!

Comment Picker News

08-28-2020

New release: Wheel of Names. Spin the wheel and pick a random name from a list of names with our Picker Wheel.

08-02-2020

New feature release: You can now exclude or blacklist users from your contest in our Youtube,
Facebook and Instagram Comment
Picker apps. This can be useful if you don’t want a user to win multiple times in different
contests.

11-06-2020

We created how-to videos of our Facebook & Instagram Comment Picker tools to explain
how to use our tools in simple steps. You can check the videos via our Comment
Picker Youtube channel.

Don’t forget to subscribe on our channel and leave a thumbs up! 🙂

06-06-2020

We add a new option to our Facebook & Instagram Comment Picker to add extra entries to your
raffle/giveaway and replaced the image blocks of posts with a select box which should be easier
to use. We updated to a new FB version where you have to allow different permissions. Check out
the new feature for your next promotion:

  • Facebook Comment Picker
  • Instagram Comment Picker
  • Pick a winner Facebook & Instagram

Please send us a message if you have any issues. We would also be happy to hear your feedback on
the changes.

Что такое Wi-Fi сенсор

Техническая составляющая процесса – Wi-Fi сенсор, в некоторых источниках его называют Wi-Fi магнит, Wi-Fi радар, Wi-Fi сканер и т.д. Это роутер со специальной прошивкой, который считывает MAC-адреса всех устройств в радиусе до 50 метров.
 
Его устанавливают в любой точке продаж с целью зафиксировать всех, кто проходил мимо в пределах заданного радиуса, чтобы собрать их в аудиторию для таргетинга и затем настроить на эту аудиторию рекламу в интернете.
 
Где размещать Wi-Fi сенсор, вы решаете сами. Он может быть 3 видов:
 

  • Стационарный – для отслеживания посетителей компании;
  • Переносной – для отслеживания посетителей мероприятий и торговых точек конкурентов;
  • Стационарно-уличный – для отслеживания людей, которые видели вашу внешнюю рекламу на улице. Он устанавливается внутри рекламной конструкции.

 
Технология работает по следующему принципу. Пользователь со смартфоном проходит в зоне работы сенсора. Причем вы можете охватить не только тех, кто в данный момент «зависает» в интернете, но и тех, кто просто шел мимо в заданном радиусе, и на его телефоне включен Wi-Fi.
 
Если на смартфоне включен Wi-Fi, он автоматически обменивается технической информацией с Wi-Fi сенсором и передаёт свой МАС-адрес. Wi-Fi сенсор не создает Wi-Fi сети, так что подключения не требуется

В итоге МAC-адрес отправляется на сервер провайдера данных.
 
Важно! Сбор MAC-адресов – это не про кражу персональных данных и не про шпионаж. Несмотря на то, что Wi-Fi магнит также применяют, чтобы отслеживать клиентов конкурентов или проанализировать статистику по посетителям определенных мест или мероприятий.
 
Дело в том, что адреса хешируются и отправляются на сервера провайдера данных в зашифрованном виде

Естественно, личные данные владельцев устройств сенсор не собирает. Вся информация – только в обезличенном и агрегированном виде.

Usage

Configuration

The following configuration is the default configuration of Macker. Store the configration code and load it at the beginning of Macker use.
Rails users can create a file in to load the own Macker configuration.

Macker.configure do |config|
  config.oui_full_url    = 'http://linuxnet.ca/ieee/oui.txt'                                       # Full URL of OUI text file
  config.user_agent      = 'Mozilla/5.0 (X11; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0'  # A common user agent
  config.ttl_in_seconds  = 86_400                                                                  # Will expire the vendors in one day
  config.cache           = File.expand_path(File.dirname(__FILE__) + '/../../data/oui_*.txt')      # Can be a string, pathname or proc
  config.auto_expire     = true                                                                    # Expiration can be checked manually
  config.auto_stale      = true                                                                    # Stale can be checked manually
end

Generat MAC address

mac = Macker.generate
# => #<Macker::Address:0x000000047e5cd0 @val=257034854932948, @name=nil, @address=nil, @iso_code=nil>
mac.to_s
# => "E9:C5:97:39:21:D4"

mac = Macker.generate(vendor: true)
# => #<Macker::Address:0x0000000477ed50 @val=272999927425737, @name="Huawei Technologies Co.,ltd", @address=, @iso_code="CN">
mac.to_s('-')
# => "F8-4A-BF-B2-AA-C9"
mac.to_i
# => 272999927425737
mac.prefix
# => "F84ABF"
mac.name
# => "Huawei Technologies Co.,ltd"
mac.address
# => 
mac.full_address
# => "D1, Huawei Industrial Base, Bantian, Longgang, Shenzhen, Shenzhen Guangdong 518129, Cn"
mac.iso_code
# => "CN"

mac = Macker.generate(vendor: 'Apple, Inc.')
# => #<Macker::Address:0x000000046e6910 @val=61638330009701, @name="Apple, Inc.", @address=, @iso_code="US">
mac.to_s
# => "64:E6:82:E5:CC:58"

mac = Macker.generate(iso_code: 'US')
# => #<Macker::Address:0x000000046b86f0 @val=161304050786, @name="The Weather Channel", @address=, @iso_code="US">

# Raise an exception
Macker.generate!(iso_code: 'HELLO')

Lookup MAC address

Macker.lookup('64:E6:82:E5:CC:58')
# => #<Macker::Address:0x00000004699520 @val=110941201353816, @name="Apple, Inc.", @address=, @iso_code="US">

Macker.lookup(mac)
# => #<Macker::Address:0x000000046886d0 @val=161304050786, @name="The Weather Channel", @address=, @iso_code="US">

# More examples
Macker.lookup('64-E6-82-E5-CC-58')
Macker.lookup('64E682E5CC58')
Macker.lookup(110941201353816)
Macker.lookup!(110941201353816)

MAC address

mymac = Macker.lookup('64-E6-82-E5-CC-58')
mymac.class
# => Macker::Address

# Some methods of the address class
mymac.name
mymac.address
mymac.iso_code

mymac.to_i
mymac.to_s

mymac.oui?
mymac.valid?
mymac.broadcast?
mymac.unicast?
mymac.multicast?
mymac.global_uniq?
mymac.local_admin?

mymac.next
mymac.succ
mymac.prefix
mymac.full_address

Cache control

# Update OUI from cache (careful)
Macker.update
# => 2017-07-03 13:03:00 +0200

# Update OUI from remote (straight)
Macker.update(true)
# => 2017-07-03 13:04:00 +0200

# Vendor table with all base16 MAC prefixes as keys
Macker.prefix_table
# => "F8DA0C"=>{:name=>"Hon Hai..."},  ...

# Vendor table with all country iso codes as keys
Macker.iso_code_table
# => "CN"=>

# Vendor table with all country vendor names as keys
Macker.vendor_table
# => "Apple, Inc."=>

Macker.lapsed!
# => false

Macker.expire!
# => false

Macker.stale!
# => false

Macker.expired?
# => false

Macker.stale?
# => false

Macker.vendors_expiration
# => 2017-07-04 13:04:00 +0200

# Get configuration of Macker
Macker.config
# => #<Macker::Config:0x0000000124ff30 @config=#...>>

Кейсы

Приведем ряд кейсов, которые показывают, насколько Wi-Fi таргетинг эффективен на практике.
 
1) Крупная сеть розничных магазинов косметики (название не разглашается) запустила рекламную кампанию в Яндекс.Дисплее и myTarget.
 
Таргетинг настроили на постоянных посетителей 43 торговых центров в Москве и Санкт-Петербурге. В результате конверсия из онлайна в офлайн выросла в 7,5 раз. То есть завсегдатаи торговых центров, которые видели рекламные объявления и переходили по ним, в 7,5 раз чаще заходили в отдел косметики.
 
Показатель Capture Rate (отношение аудитории, совершившей визиты, к аудитории, которая проходила рядом с магазином) для тех, кто видел рекламу, оказался в 4 раза выше, чем для обычных посетителей торгового центра.
 
2) Маркетологи кофейни, которая находится около бизнес-центра, продвигали акцию «Кофе с собой» для людей, которые каждое утро с 7 до 12 часов утра по будням идут от метро до этого бизнес-центра.
 
Чтобы собрать физические адреса этих прохожих, Wi-Fi сканер установили у входа в кафе. Он зафиксировал 7 292 пользователя, которые и взяли за целевой сегмент. На них настроили рекламную кампанию в myTarget с вводом специальных промокодов.
 
В результате в течение первой недели кофе с собой взяли 32 человека. Стоимость клиента составила 87 рублей, то есть рекламный бюджет – всего 2 784 рубля.
 
3) Реклама таксопарка. Здесь использовали переносной Wi-Fi сканер, который установили в одной из машин такси, припаркованной в месте скопления таксистов.
 
Задача была следующая – собрать данные обо всех таксистах на специальных парковках около аэропортов и вокзалов, чтобы настроить на них рекламную кампанию в myTarget с аукционной стратегией «Оплата за показы».
 
В итоге удалось собрать 5 827 MAC-адресов, а на рекламу на них потратили всего 1 230 рублей.

Как выгружать MAC-адреса и настраивать на них таргетинг в Яндекс.Аудиториях

1) Во-первых, для этого нужно стать партнером Яндекса и зарегистрироваться в качестве Провайдера данных (DMP).
 
2) Выгрузите собранные данные в сервис Яндекс.Аудитории.
 
Для этого нажмите на значок с красным облаком:
 

 

 
Дождитесь выгрузки данных в Яндекс.Аудитории – это займет примерно 2 часа. Когда всё будет готово, вы увидите статус аудитории «Готов» и точный охват в соответствующем столбце:
 

 
3) Готовый список MAC-адресов подгоните к требованиям Яндекса, чтобы его можно было загрузить в систему и использовать для таргетинга:
 

 
4) Настройте таргетинг на данный сегмент Яндекс.Аудиторий.
 
Чтобы это сделать, при создании или редактировании группы объявлений в Яндекс.Директе найдите блок «Настройки на всю группу», в нем – опцию «Яндекс.Аудитории и Яндекс.Метрика».
 
Добавьте правило отбора аудитории для показа объявлений данной группы и задайте нужный сегмент аудитории из Яндекс.Аудиторий. Тип – «MAC-адреса»:
 

 

 
При необходимости задайте дополнительно другие условия аудитории.
 
Как работать с Яндекс.Аудиториями, подробнее смотрите в нашем руководстве.

Запуск Wi-Fi радара

Скрипт, который будет работать на базе нашего сенсора, вычисляет количество людей поблизости, используя смартфоны в качестве прокси. Телефоны находящиеся в зоне покрытия определяются на основе фрейм-запросов, так называемых probe request.

Возможное использование howmanypeoplearearound включает в себя: мониторинг окружения и пешеходного движения, сбор MAC-адресов. Вероятно, он был разработан для использования на миниатюрных устройствах, например Raspberry Pi etc.

Подготовка рабочей среды

Для запуска скрипта нам потребуется:

  • Устройство с предустановленным Linux (например, Ubuntu);
  • Python ⩾ 2.7;
  • tshark.

Любая антенна с поддержкой Monitor Mode (режима мониторинга):

  • Чип RT3070;
  • Panda PAU5;
  • Alfa AWUSO36NH;
  • Sabrent NT-WGHU;
  • и др.

Установка Python 3

Python и установщик пакетов pip, должен быть установлен на вашем компьютере. Я использую Ubuntu 18.04, в которой Python уже предустановлен и не хватает только установщика pip:

Установка pip для Python 2.7

Установка pip для Python 3

Установка tshark

Если на компьютере не установлен Wireshark, выполните:

Если установлен, выполните команду для установки tshark:

Затем обновите его для запуска без получения полномочий root:

(Выбрать YES)

Мониторинг устройств

Подключаем антенну к компьютеру и выполняем команду:

Выбираем адаптер для сканирования, кладем рядом с собой устройство, а лучше несколько, с включенной функцией Wi-Fi:

Дожидаемся окончания операции:

Скрипт определил поблизости 6 мобильных устройств. Но, где найти или как вывести MAC-адреса?

Чтобы выгрузить их, воспользуемся флагами из справки, например:

После окончания сканирования, находим в домашней директории файл test.json

Точность сканирования

Точность сканирования устройств зависит от того, как часто смартфон проверяет связь с сетью Wi-Fi (что происходит каждые 1–10 минут, если Wi-Fi не отключен).

Windows

Microsoft supports randomization since Windows 10. Enabling randomization is possible if the hardware and driver
support it. Interestingly, not only does Windows use random addresses for probe requests, it also uses a random
address when connected to the network.

To assure the client always uses the same address when connecting to a particular network, a per-network address is
calculated as follows: addr = SHA‌-256(SSID, macaddr, connId, secret)

Here SSID is the name of the network, macaddr the original MAC address, and connId a parameter that changes if the
user removes (and re-adds) the network to its preferred network list. The secret parameter is a 256-bits
cryptographic random number generated during system initialization, unique per interface, and kept the same across
reboots. Bits in the most significant byte of addr are set so it becomes a locally administered, unicast
address.

This hash construction is similar to the generation of IPv6 interface identifiers as proposed in RFC 7217. It assures
that systems relying on fixed MAC addresses continue to work as expected, e.g., when authentication is performed
based on the MAC address. Users can also manually instruct the OS to daily update the per-network address
randomly.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *