Что такое airdrop технология для удаленного управления кондиционером
Как я использую AirDrop вместо Тиндера
В устройствах Apple есть прекрасная функция Airdrop — она сделана для пересылки данных между устройствами. При этом никакой настройки и предварительного сопряжения устройств не требуется, все работает из коробки в два клика. Для передачи данных используется надстройка над Wi-Fi, и поэтому данные передаются с огромными скоростями. При этом используя некоторые трюки, можно не просто пересылать файлы, но и узнать телефонный номер человека, находящегося с тобой в одном вагоне метро.
Последний год я использую эту функцию для интересных знакомств по пути на работу, в общественном транспорте, в общепитах. В среднем за день у меня получается заводить несколько новых знакомств, и иногда я выхожу из метро в компании нового человека.
Под катом я расскажу за всю хурму.
Компания RUVDS.COM не несёт ответственности за повторение действий описанных в данном материале.
Как работает AirDrop
AirDrop это протокол для передачи файлов внутри одноранговой сети. Он может работать как по обычной локальной сети, так и по воздуху между любыми устройствами Apple. Мы будем разбирать последний случай, когда два устройства не подключены в общую сеть, а просто находятся рядом, например два человека c телефонами едут в вагоне метро и не подключены к общему Wi-Fi.
Первый этап передачи через AirDrop — рассылка BLE пакета
Чтобы инициировать передачу данных через AirDrop, телефон инициатора посылает широковещательный BLE-пакет, в котором содержится захешированная информация об iCloud аккаунте и телефонном номере владельца устройств инициатора, с предложением установить подключение через протокол AWDL (Apple Wireless Direct Link), что-то вроде Wi-Fi Direct из мира Android. Структура этого BLE-пакета очень интересна, мы разберем ее дальше.
На стороне получателя AirDrop может быть в трех состояниях:
В зависимости от настроек приватности, телефон либо продолжит установку соединения через AWDL, либо просто проигнорирует BLE-пакет. Если для AirDrop установлена настройка «для всех», то на следующем шаге устройства соединятся друг с другом через AWDL, поднимут между собой IPv6-сеть, внутри которой AirDrop будет работать как обычный прикладной протокол с помощью mDNS через стандартный протокол IP.
Для экспериментов вы можете посмотреть за тем как работает AWDL на макбуке. Весь обмен по этому протоколу происходит через интерфейс awdl0, который можно легко снифать с помощью Wireshark или tcpdump.
На данном этапе мы знаем три сущности:
Bluetooth LowEnergy (BLE) пакет — этот пакет содержит данные, на основании которых телефон решает, есть ли инициатор в его списке контактов или нет.
Apple Wireless Direct Link (AWDL) — фирменная замена Wi-Fi Direct от Apple, включается если общение по BLE прошло успешно.
AirDrop — прикладной протокол, который работает внутри обычной IP-сети с использованием mDNS, HTTP и т.д. Может работать внутри любой Ethernet-сети.
Структура BLE-пакета
Может показаться, что этот BLE-пакет пролетает только один раз от инициатора к получателю, а дальше обмен происходит только по AWDL. В действительности соединение AWDL живет очень мало, всего несколько минут или меньше. Так что в случае, если получатель файла захочет вам ответить, он так же выступит инициатором и пошлет BLE-пакет.
Как телефон на принимающей стороне понимает, есть ли номер/email инициатора в его списке контактов или нет? Я очень удивился, когда узнал ответ: инициатор шлет свой номер и email в виде хеша sha256, но не целиком, а только первые 3 байта.
Структура BLE-пакета от инициатора AirDrop. По хешам от телефонного номера и email ответчик понимает, есть ли инициатор в его списке контактов.
Например, если ваш Apple-аккаунт (он же iCloud, он же iMessages) привязан к номеру +79251234567, хеш от него будет считаться так:
И в итоге в BLE-пакете улетит значение 07de58 для телефонного номера. Этого кажется мало, но часто этих трех байт достаточно, чтобы узнать реальный номер телефона.
Важно также помнить, что настройка приватности AirDrop не влияет на данные в BLE-пакете. Хеш от телефонного номера будет содержаться в нем, даже если установлена настройка «Для всех». Также BLE-пакет с хешем телефонного номера посылается в случае открытия окна Share (Поделиться) и при вводе пароля к Wi-Fi сети.
Подробный разбор структуры BLE-пакетов и возможных атак на него читайте в исследовании Apple Bleee и русский перевод на Хабре.
В исследовании Apple Bleee опубликованы готовые скрипты на python для автоматизации анализа данных в BLE-пакетах. Я очень рекомендую изучить исследование и попробовать программы, там много чего интересного.
AWDL (Apple Wireless Direct Link)
Грустные владельцы телефонов Android пока еще только мечтают о нормально работающей функции Wi-Fi Direct.
Но не так давно ребята из seemoo-lab написали полностью открытую реализацию AWDL и назвали ее Open Wireless Link (OWL). Для запуска OWL, адаптер Wi-Fi должен поддерживать мониторный режим и инъекции пакетов, поэтому запускается не на каждом железе. На сайте есть примеры настройки на raspberry pi. Работает это существенно хуже оригинального AWDL, например время установки подключения растягивается на
10 секунд вместо пары секунд у оригинала, но работает.
Также эти ребята написали с нуля реализацию протокола AirDrop на питоне, называется OpenDrop. Его можно использовать как в связке с OWL, для запуска AirDrop на линуксе так и с оригинальным AWDL на macOS.
Как подкатывать через AirDrop
Типичная ситуация с подкатыванием через AirDrop
Хватит скучной теории, пора приступать к практике. Итак ты вооружился всем необходимым оборудованием и готов выдвигаться подкатывать шары с помощью высоких технологий.
Для начала нужно запомнить основные моменты:
Способ классический — только телефон
Подходит всем у кого есть айфон, не требует особых навыков кроме социальных. Переводим AirDrop в режим Everyone и спускаемся в метро. В обычный день (до самоизоляции) в вагоне московского метро я наблюдал примерно такую картину:
List of targets
Как видно, почти все телефоны броадкастят имя владельца, по которому мы легко можем определить его пол и подготовить соответствующий пейлоад.
Пейлоад
Как я писал выше, уникальный пейлоад работает лучше. В идеале картинка должна обращаться к владелице по имени. Раньше мне приходилось ваять креатив с помощью графического редактора в приложении «заметки» и какого-то огрызка мобильного фотошопа. В итоге, к моменту пока нужная картинка была отрисована, уже нужно было выходить из вагона.
Моя подруга Аня koteeq, специально по моей просьбе, написала Телеграм-бота, который генерирует нужные картинки с подписью на лету: @AirTrollBot. Спасибо ей огромное за то, что я теперь могу подкатывать шары намного технологичней, чем раньше.
Достаточно отправить боту строчку с текстом, и он сгенерирует ее в виде картинки точно подходящей по соотношению сторон для превью в окне AirDrop. Можно выбрать персонажа на картинке нажатием кнопок. Также опционально можно включить добавление вашего Телеграм-логина на картинку в углу.
Самый жир был в том, что картинка показывалась сразу на экране жертвы без каких-либо действий. Не нужно даже было нажимать «принять». Можно было видеть мгновенную реакцию на лице от загрузки пейлоада. К сожалению, с версии iOS 13 картинки от незнакомых контактов больше не показываются на экране. Вот, как это выглядело раньше:
Payload delivered on iOS ≤12
Сейчас вместо превью показывается только имя устройства отправителя. Поэтому единственный способ обратиться к жертве с iOS ≥13 по имени, это задать его в настройках вашего устройства, например назвать телефон «Юля, привет». Hint: в названии устройства можно использовать эмодзи. Конечно такой способ не настолько яркий, как с картинкой, но сильно повышает шанс нажатия кнопки «принять».
Дальнейшее описание действий выходит за рамки технической статьи и зависит только от вашей фантазии, импровизации и юмора. Могу сказать только, что те, кто вступают в эту игру и начинают отвечать вам картинками или посылать заметки, как правило очень веселые, открытые и интересные люди. Те, кто посмотрев картинку просто не отвечают, или того хуже, просто отклоняют сообщение, обычно скучные снобы и ханжи. Также нередко играет роль фактор страха: хрупкие пугливые люди боятся взаимодействовать с таким наглым анонимным незнакомцем.
Автоматическая дикпик-машина
Если тебе лень генерировать и рассылать пейлоады вручную, и ты хочешь автоматизировать процесс, можно изготовить автоматическую дикпик-машину, которая в фоне будет рассылать картинки по AirDrop всем, кто находится в радиусе действия. В качестве аппаратной платформы будем использовать raspberry pi zero, но подойдет любой комп с линуксом, главное чтобы Wi-Fi карточка поддерживала мониторный режим и инъекции пакетов.
Рассылатель дикпиков по Airdrop на базе raspberry pi zero w + батарейный шилд UPS Lite
Есть программы AirDrop флудеров для Jailbreak айфонов, они работают стабильнее, чем открытые варианты на raspberry pi
Настройка OWL на raspberry pi подробно описана на сайте проекта, но я предпочитаю использовать сборку Kali Linux для Raspberry Pi Zero, потому что в ней уже установлены патчи nexmon, для активации мониторного режима Wi-Fi на rpi0.
По моим наблюдениям raspberry pi zero w работает нестабильно в мониторном режиме. Примерно через 20 минут активной работы флудера, вылетает подсистема Wi-Fi. Проблема описана у автора pwnagotchi, и предположительно вызвана перегревом. Нужно предусмотреть watchdog или использовать более стабильное железо
Режим маньячелло — я знаю твой номер
Если ты хочешь показать себя неадекватным маньяком и навсегда отбить желание продолжать с тобой общение, можно попытаться узнать номер телефона человека, который находится рядом.
Как мы уже узнали ранее, в BLE-пакетах, которые посылает инициатор, содержатся первые три байта от sha256 телефонного номера. Этот хеш можно поймать в момент, когда жертва нажмет кнопку «поделиться» и запустит сканирование airdrop устройств или тапнет в поле ввода Wi-Fi пароля от новой сети (таким образом apple ищет друзей в радиусе действия, у которых можно запросить пароль от сети).
Тебе потребуется каким-либо образом тригернуть посылку хеша от жертвы, и поймать его. Я использую утилиты из репозитория Apple Bleee. Так как Bluetooth MAC-адреса устройств рандомные и постоянно меняются, тебе придется найти другой способ определить нужное устройство в этом списке. Задача упрощается тем, что iOS транслирует текущее состояние телефона вроде: выключен экран, включен экран, lock screen, разблокирован и т.д. Поэтому просто наблюдая за действиями жертвы можно сопоставить текущее состояние устройства с устройством в таблице. Проще всего поймать момент, когда юзер достал телефон из кармана, включил экран и разблокировал телефон пальцем или лицом. Все это будет видно в сниффере.
Значок Х означает, что пойман пакет с хешами телефона.
Их парсер иногда ломается, но чаще всего работает. Я не буду полностью пересказывать суть уязвимости, так как это подробно разобрано авторами Apple Bleee, опишу лишь свой опыт. Скажу только, что я использую USB Bluetooth-адаптер на чипе CSR 8510, так как у меня он работает сильно стабильнее, чем встроенный в макбук Bluetooth-адаптер, проброшенный в виртуальную машину.
Итак мы поймали хеш от телефона жертвы и получили заветные три байта от хеша номера телефона.
Перехваченный BLE-пакет с хешем номера телефона, с помощью утилиты read_ble_state.py
Мы знаем, что в России все мобильные номера начинаются с кода +79 и, скорее всего, у нашей жертвы телефон имеет такой же код. Получается, мы имеем диапазон номеров от +79000000000 до +79999999999, около миллиарда номеров.
Чтобы сузить диапазон, берем только коды, реально зарегистрированные за каким-либо оператором и выбрасываем остальные. В итоге диапазон становится в два раза меньше, около полумиллиарда номеров.
Дальше генерируем sha256 от всех номеров и сохраняем от каждого хеша только первые 3 байта. Заносим этот список в Sqlite базу, для ускорения поиска строим индекс.
Так выглядят данные в базе:
Все российские телефонные номера и первые три байта хеша
Дальше, имея хеш жертвы, мы можем поискать все совпадения в базе. Обычно на один хеш выходит 15-30 совпадений.
Все номера, совпавшие с хешем жертвы
Очевидно, что не все эти номера реально используются. Мы можем отсечь лишние с помощью HLR-запроса или невидимой SMS. Из 30 номеров в сети оказалось 5.
Результат выполнения HLR-запроса. Зеленым выделены номера в сети.
Я бы мог продолжать просеивать номера, например, добавить их все в Telegram/Whatsapp и посмотреть аватарки, проверить через базы вроде Getcontact и так далее. Но проще оказалось просто позвонить поочередно на все пять номеров и смотреть когда у жертвы зазвонит телефон.
Target located
Заключение
Это идеальное развлечение для метро. Есть вау-эффект, любопытным людям такое интересно. Много импровизации, бывали очень курьезные случаи. Оказывается многие люди готовы подыгрывать и даже отменять свои планы чтобы выйти на твоей станции метро и подняться выпить кофе. За год я познакомился с кучей народу и с некоторыми продолжаю общаться.
Иногда я отключаю отображение Телеграм-логина и развлекаюсь вот так.
Дистанционное управление кондиционером с помощью приложений для телефона
Чтобы приехать домой после работы и не ждать, пока кондиционер охладит помещение, есть специальные функции, позволяющие удаленно настроить сплит систему на включение. Это программное обеспечение в смартфоне или специальное устройство, при помощи которого управляют системой. Такую функцию применяют как для бытовых приборов, так и для офисных помещений. Управление кондиционером с телефона – последнее слово техники от ведущих производителей.
Управление кондиционером через смартфон по интернету
WI-FI управление позволяет контролировать работу кондиционера из любой точки квартиры
К традиционному методу удаленных настроек, при котором оборудование включается самостоятельно, добавилось управление через интернет. Удобство заключается в изменении настроек, если планы резко меняются, и включать кондиционер в назначенное время нет необходимости. Это значительная экономия средств, так как мощное оборудование, работая в пустом помещении, потребляет электричество. Оставлять включенным устройство может быть опасно, если в доме старая проводка. Желательно находиться дома во время работы сплит системы. Удаленное управление кондиционером и другой бытовой техникой позволяет сохранять спокойствие в нестандартных жизненных ситуациях.
Функция полезна при охлаждении серверных, где по очереди работают несколько систем охлаждения. Чтобы температура не повышалась, и сервер не вышел со строя от перегрева, дистанционно управляют очередностью работы климатического оборудования. Круглосуточный мониторинг температуры в серверной может дать сигнал о том, что требуется включить обе системы одновременно. Людей на рабочем месте может не оказаться, поэтому единственно доступным способом будет воспользоваться приложениями для управления температурой.
Управление осуществляется сложной автоматикой, но не все компании могут себе позволить ее закупить. Современные климатические системы имеют инфракрасный порт, который способен принимать сигналы и перестраиваться самостоятельно. Кондиционер с управлением через смартфон можно включить везде, где имеется связь GSM.
Кроме включения и выключения кондиционера, специальные программы на базе Android или айфона контролируют, выключена домашняя техника, или ее забыли отключить. Есть программы, при установке которых гаджеты напоминают, что нужно сделать для безопасности жилья. Такие настройки позволяют экономить электроэнергию, поэтому, освоив дистанционное управление, получают меньшие счета от жилищно-коммунальных хозяйств.
Принцип управления кондиционером с помощью приложений
Функции кондиционера, которыми управляют дистанционно через приложение:
Приложение дистанционного управления кондиционером информирует о необходимости провести сервисную проверку или ремонт системы.
Доступная информация, которая отображается на экране приложения:
Универсальные приложения автоматически определяют устройство, способны обновляться самостоятельно до последней версии, позволяют управлять несколькими устройствами одновременно. Можно настроить для любых торговых марок. Одним из таких универсальных приложений является Airpatrol WI-FI. Для начала работы на стене дома устанавливается контроллер, работающий от сети 220 вольт. На смартфон устанавливается аналогичное приложение и, следуя инструкции по установке, запускается.
Другой способ управлять удаленно инженерными системами – GSM контроллеры. Если нет сети интернета, то с самого простого телефона с сим-картой отправляется смс на контроллер, к которому подключены термодатчики и климатические системы.
Есть системы сигнализации, оборудованные подобными устройствами. При отправке сообщения настройки климатической техники меняются.
Модели кондиционеров, управляемых по телефону
Для каждого приложения доступны определенные модели сплит систем. Некоторые нужно настраивать вручную, в других уже присутствует встроенное WI-FI управление.
Универсальными возможностями подключения к любому кондиционеру обладает программное приложение для управления кондиционером со смартфона Midea.
Интерфейс программы схож по внешнему виду с пультом дистанционного управления кондиционером. Если сплит система нового поколения, используется роутер для передачи сигналов, к другим моделям применяется инфракрасный порт.
Кроме универсальных моделей контроллеров, каждая фирма, производящая климатическое оборудование, разрабатывает программу, управляющую только одной маркой кондиционеров. Собственные программы для планшетов, смартфонов и ПК имеют такие фирмы как:
Если в доме установлен кондиционер фирмы, которая не выпускает программы удаленного управления кондиционерами через интернет, подбирать приложения нужно таким образом, чтобы они подходили большинству марок и моделей. Из платных приложений можно порекомендовать Smart IR Remote – AnyMote. Продается в гугл плей маркете. Работает программа с огромным количеством моделей кондиционеров – более 900. Бесплатно скачать можно IR Universal Remote – IR 2.0. В данном софте много рекламы, которая мешает работе, но 5 миллионов пользователей скачало приложение, потому что оно бесплатное.
Из отечественных производителей выделяется марка климатического оборудования «КлиматПроф», имеющая собственное приложение Airpatrol, которое работает как по инфракрасному порту, так и через WI-FI. Марка входит в тройку лидеров российского рынка систем охлаждения, поэтому желающим приобрести продукцию с оптимальным соотношением цены и качества можно посоветовать отечественного производителя, применяющего инновационные технологии.
Airdrop: как включить и зачем он нужен
Что такое AirDrop и как он работает? Технология позволяет мгновенно обмениваться медиафайлами и другими данными между пользователями. Впервые была представлена в iOS 7. Для использования устройства должны быть подключены к одной Wi-Fi точке, либо нужно включить Bleutooth.
Какие устройства поддерживают?
Для начала следует узнать, совместимо ли ваше устройство для передачи медиафайлов через AirDrop, список поддерживаемых устройств представлен ниже:
Вам будет интересно: Когда выгоднее покупать автомобиль: акции, скидки, сезонная распродажа
Также AirDrop доступен пользователям компьютеров Mac после 2009 года.
Подготовка к передаче
Как включить AirDrop? Прежде чем начать передачу, убедитесь что:
Включить опцию можно двумя способами:
Чтобы добавить устройство в контакты, в адресной книге необходимо указать номер телефона и AppleID. После этого вы появитесь в функции «Только в списке контактов»
Отправка медиафайлов
Если все настройки сделаны правильно, можете приступать к отправке медиафайлов через AirDrop. Как включить AirDrop на iPhone, мы рассмотрели.
Как отправить файлы:
На этом действия по отправке заканчиваются. Второму устройству осталось только принять получение.
Получение медиафайлов
Чтобы загрузить медиафайлы, нужно подтвердить получение:
Если вам были переданы фотографии, они откроются сразу в «Фотопленке», если ссылка на сайт, то она откроется сразу в браузере. Ссылки на приложения откроются в AppStore. Если на устройстве был выполнен вход в iCloud с одного AppleID, передача будет происходить автоматически, без надобности нажатия на кнопку «Принять».
Использование AirDrop на компьютере MacOS
Рассматриваемая функция также работает на компьютерах Mac. Обмениваться можно фотографиями, видеозаписями, закладками, ссылками и так далее. Использовать ее так же просто, как и на устройствах iOS.
Как включить AirDrop на Mac:
Также можно использовать «Поделиться»:
Этим способом можно взаимодействовать с устройствами «Айпэд», «Айфон» и «Айпод» toch.
Получение медиафайлов на компьютере MacOS
Как включить AirDrop на Mac, мы разобрались. Что нужно сделать для получения файлов? Когда пользователь, который хочет поделиться с вами медиафайлами через AirDrop, запускает процесс передачи, вы можете либо принять, либо отклонить это действие на своем устройстве. Если вы нажмете «Принять», файл после передачи сохранится в папке «Загрузки». При отмене передача прерывается.
Если компьютер Mac не видит устройство
Убедитесь, что правильно настроили AirDrop, на обоих компьютерах включен Wi-Fi и Bluetooth, что компьютеры находятся близко друг к другу. Если все в порядке, попробуйте сделать следующие действия:
Настройка
Также AirDrop можно настроить на несколько пунктов: «Открыто всем» / «Только контактам» / «Никому».
Посещая места большого скопления людей, желательно отключить опцию передачи данных, так как бывают «шутники», которые через AirDrop рассылают шокирующие фотографии, либо спам. Отключить его можно в настройках или через панель управления. Выключение Wi-Fi и Bluetooth тоже ограничивает использование программы. Остерегайтесь таких людей!