как узнать mac адрес роутера соседа
Как узнать MAC-адрес компьютера, роутера или другого устройства
У каждого устройства в сети есть MAC-адрес: уникальная комбинация цифр и букв длиной 48 символов. Есть много способов его узнать — все они в нашей статье.
У любого устройства, способного подключиться к глобальной сети, есть специальный идентификатор, который называется MAC-адрес. Зачастую он нужен для настройки сетевого подключения. MAC-адрес является одной из основных характеристик сетевого адаптера, поэтому информация о нём содержится во множестве инструментов, встроенных в операционную систему.
Если для настройки оборудования вас просят прописать (или назвать) MAC-адрес, нужно для начала его найти. Вот как это сделать.
Как найти MAC-адрес через командную строку
Это самый простой метод. Нажимаем комбинацию клавиш Win + R и в появившемся меню вводим cmd. После подтверждения запустится командная строка. Вводим getmac. Отобразится физический адрес, который и является MAC-адресом. Для более подробной информации можно воспользоваться командой ipconfig /all.
Таким образом вы сможете узнать модель сетевого адаптера, конфигурацию основных параметров оборудования, ip-адрес маршрутизатора и другую информацию. Последний, кстати, пригодится, если вы собираетесь осуществлять настройку подключения или Wi-Fi сети.
Как узнать MAC-адрес в сведениях о системе
Практически всю информацию о компьютере и установленных комплектующих можно найти в специальной утилите, встроенной в операционную систему. Для её запуска потребуется нажать уже знакомую комбинацию клавиш Win + R и ввести команду msinfo32. Появится окно программы. Нас интересует раздел Компоненты > Сеть > Адаптер.
В самом низу мы найдём MAC-адрес. Также здесь можно обнаружить и другие полезные данные. Например, версию BIOS, тип и разрядность операционной системы, сообщения об ошибках Windows и многое другое. В случае, если вам нужна какая-либо информация о ПК, рекомендуем в первую очередь заглядывать сюда. Скорее всего, вы найдёте в этой программе то, что вам нужно.
Как узнать пароль от Wi-Fi соседа
Временами возникают ситуации, когда собственный Wi-Fi перестает работать. Или появляется необходимость подключиться на улице, со смартфоном в руках. Хочется узнать пароль от Wi-Fi соседа, закончить свои дела в сети, и больше никогда не возвращаться к чужому роутеру.
Способы как узнать чужой пароль от Wi-Fi
Добраться до сторонней точке доступа можно несколькими способами. Скорость «добычи» пароля зависит от хитрости владельца, мощности имеющихся устройств и количества свободного времени.
Метод подбора пароля
Самый простой, доступный и эффективный прием – перебрать очевидные комбинации. Люди плохо запоминают коды, прибегая к знакомым числовым вариациям: 12345678, 1111, 1234,4321 и так далее. К этому списку стоит прибавить «qwerty123», «ytrewq321» и «qazwsx123».
Смена mac-адреса
Вы замечали, что некоторые Wi-fi точки в городе лишены защиты? Подключиться к ней не удастся, потому что она фильтрует пользователей по mac-адресу.
Для непосвященных, mac-адрес – это идентификатор, своего рода ключ, который присваивается к девайсам, подключенным к сети Ethernet.
Чтобы добраться до ключа, приходится использовать специальные программы-сканнеры. Они анализируют Wi-Fi точки в округе и раскрывают их адреса.
Перехват трафика
Сложнейший способ добраться до чужого пароля. С помощью сторонних приложений перехватывается огромный объем данных, которыми роутер обменивается с устройством пользователя сети. Полученную информацию можно расшифровать, достать из нее пароль.
Осложнений масса. Нужно чтобы сетью пользовались по полной. Приходится бороться со сложным, запутанным интерфейсом. Если же вы хотите испытать свои силы, возможности – загружайте прогу «Commview forWiFi». Она подбирает раздаваемые пакеты и отображает их в виде узлов, каналов, типов сигнала, сетки из соединений и доступных точек беспроводного доступа. В профессиональных кругах ее чаще всего используют для поиска и устранения опасных вирусов, передающих зашифрованные данные в облако.
Взлом через pin точку доступа роутера
Этот способ открылся в 2011 году. Пользователь добирается до сети через взлом протокола WPS. Эта система включает шифрование и прописывает защитный ключ автоматически, без вмешательства пользователя. Упрощение для обывателей.
Опытные хакеры быстро нашли серьезную уязвимость технологии, которая позволяет открыть соседское подключение в считанные часы. Взлом происходит с помощью OCLinux и требует понимания основ программирования, беспроводной сетевой адаптер для перехвата данных и несколько часов свободного времени.
Если программное обеспечение роутера поддерживает такую функцию, то WPS можно и нужно отключать.
Фишинг
Фишинг поможет в том случае, если вы знаете адрес электронной почты соседей, а также понимаете, какой степенью компьютерной грамоты они владеют. Суть – отправить на их почтовый ящик письмо с требованием отправить в ответе пароль от Wi-Fi и другую полезную информацию.
Это метод мошенников добраться до номеров банковских карт, или нечестными способами отобрать виртуальные ценности.
Подробных инструкций, как пользоваться фишингом, не существует. Действуйте на свое усмотрение. Вариантов масса: напугать пойманным вирусом, шантажировать отключением интернета, или подойти мягко – предложить ускорить передачу данных, улучшить стабильность сети и в заранее созданной форме предложить ввести логин и пароль к роутеру.
Программы для взлома
Приложений для добычи чужих информданных сотни. Одни пользуются уязвимостью встроенной защиты, другие действуют перебором паролей, третьи ищут mac-адрес, или существуют в качестве словарей, куда интернет-сообщество вводит актуальные пароли окружающих точек доступа.
Брутфорс
Брутфорс – с английского, «полный перебор», упомянутый выше метод получения данных, с помощью грубой силы. Если жертва не пользуется стандартными комбинациями, приходится устанавливать вспомогательный софт и разбираться в его интерфейсе.
Автоматический подбор комбинаций
Некоторые программы буквально вручную, в несколько потоков, посимвольно подбирают пароль к новой сети. Из-за чего работа с такими программами может длиться от нескольких дней до месяцев, в зависимости от длины искомого кода. Популярнейшие из них:
Они позволяют указать длительность пароля, а также прибегнуть к нескольким механизмам подбора, что значительно уменьшает скорость поиска, а также снижает нагрузку на систему.
Wifi crack
Wifi crack – не ультимативное решение во взломе паролей, но удобная утилита для всех, кто не знаком с запутанным языком программирования. Работает на современных операционных системах, постоянно обновляется.
Прогой пользоваться очень просто:
Изменение mac-адреса
Суть этого метода была описана выше. Нужно добраться до mac-адреса, чтобы интернет на устройстве заработал через чужой роутер. Нашли идентификатор? Теперь смените его на своем девайсе. На компьютере это делается так:
На смартфонах поменять mac-адрес гораздо сложнее. На Android нужно получать root-права и воевать со сторонними приложениями. Делайте на свой страх и риск.
Mac address scanner
Mac address scanner раскрывает данные окружающих mac-адресов. Она не требует специальных знаний и не отличается сложным интерфейсом. При этом создатель утилиты не важен. Существует версия от ColarSoft. Ее нужно установить, запустить и нажать зеленую кнопку «Старт» для анализа окружающий сетей. Полученные данные сохраняются в памяти компьютера, или отправляются в интернет-хранилище.
Во втором столбце отображаются актуальные mac-адреса. Если владелец точки доступа не пользуется такой защитой, идентификатор будет отображаться как несколько иксов. В ином случае вы получите 12-значную комбинацию.
Программы для взлома
Суть платформ для хакинга описана выше, а вот список актуальных и сильных программ, используемых по всему миру.
Сommview для перехвата пакетов данных
Об этом инструментарии хочется рассказать немного подробнее. Приложение постоянно обновляется, обрастая ценными механиками и категориями. В основном используется сетевыми программистами и администраторами беспроводных сетей.
Программа разбивает пакеты данных на протоколы, показывает силу сигнала, его скорость и другие полезные параметры.
Чтобы позаимствовать ближайший интернет, нужно скачать приложение и просканировать желаемый WiFi из списка сетей. В программе отобразиться весь пакет передаваемых данных. Сommview позволяет воспользоваться функцией «реассоциация узлов». Пользователи отключатся от соединения автоматически, и моментально подключаться обратно, а программа раскроет протоколы EAPOL. В них скрывается необходимая информация – желаемые пароли для взлома Wi-Fiсети.
Декодировать полученные протоколы поможет AirCrack-NG.
Использование Aircrack ng
Это непростой инструментарий, требующий предварительной подготовки и множества дополнительных действий. Нажать «старт» и ждать положительного результата не стоит. Предварительно получив все возможные данные через Сommview нужно:
Как взломать Wi-Fi c телефона
С телефона добраться до соседского пароля сложнее. На iPhone процесс требует невероятного уровня познаний из-за закрытости системы и искусственных ограничений. А на Android – получения root-прав, что само по себе угроза. После – установка соответствующего софта. Это те же словари, брутфорсеры, охотники на идентификаторы и так далее. Приложений очень много. Они требуют тех же действий, что и компьютерные версии. Иногда требующие большего запаса времени на обработку информации. Вот самые популярные утилиты. Проверенные, качественные, без вирусов.
Андроид приложения
Самое надежное, удобное и простое из них – WPS Connect.
WPS Connect
Оно работает только с сетями, защищенными технологией WPS и управляется следующим образом:
Видео взлома Wi-Fi на Андроид с использованием Wps connect
Последствия использования чужого Wi-Fi
За «доброе» использование чужой Wi-Fi сети вас никто не посадит. Но если после вашего вмешательства у человека пропали данные кредитных карт, поменялся пароль его электронной почты – беспокойтесь. Специалисты без труда определят всех, кто вмешивался в файлы, кто воровал интернет-протоколы и другие полезные данные. Вас могут «потрясти», и даже отобрать компьютер, но если это не ваших рук дело – все обойдется неудобством на несколько дней, платой за баловство.
Может оказаться, что ваш сосед – талантливый программист. И если он заметит, что посторонний взломал защиту его роутера, поспешит перекрыть тому воздух, и испортить настроение известными ему способами.
Варианты защиты собственной точки доступа
Придумайте длинный, сложный пароль со строчными и прописными буквами, случайной последовательностью цифр. Даже имея на руках весь пакет перехваченных данных, хакер замучается убивать электричество и мощности ПК на подбор комбинации. Поможет придумывание нового логина и пароля к программному обеспечению роутера, так как обычно никто не меняет стандартный дуэт admin/admin.
Не надейтесь на mac-adress. Такую защиту взломать проще всего.
Видео взлома Wi-Fi пароля соседа за 5 минут
Хождение по граблям в чистом поле или как собрать MAC-адреса близлежащих Wi-Fi-устройств
Все свои публичные выступления (благо, их не так много) я начинаю с явного или неявного упоминания тезиса “Наша индустрия — сложная, проблемы могут вскрыться на любом, даже самом очевидном шаге, а оптимистично предполагать, что все будет просто и легко — наивно”. Как ни странно, эта простая мысль, полученная многолетним набиванием шишек, порой является откровением и для более опытных специалистов, хотя, казалось бы, весь оголтелый задор и вера в непогрешимость собственных идей и практик должна была выветриться уже давно. Расскажу байку на этот счет, пример простого, с первого взгляда, проекта.
В один прекрасный день товарищ скинул мне ссылку на интересный стартап. Ребята предлагали представителям малого бизнеса из сферы услуг и продаж поставить у себя точку доступа (с captive portal-ом) для своих клиентов, дабы раздавать интернет, попутно собирая MAC-адреса смартфонов людей, проходящих мимо. Цель сего действия весьма простая — большое количество рекламных сетей позволяют таргетироваться по списку адресов устройств, поэтому, направив рекламную компанию на проходящих мимо пользователей, мы с большой долей вероятности получим новых посетителей (потому что близко и “где-то это я уже видел”). Т.е. такая раздача виртуальных флаеров. Товарищ спросил, как это делается и сможем ли мы такое повторить.
Быстрый гуглеж на тему вскрыл механизм такого сбора данных. WiFi-адаптер запускался в режиме прослушивания эфира и бегал по каналам, захватывая пакеты, анализируя их и агрегируя полученные данные. Существовали и готовые открытые утилиты для этого, например, airodump-ng из состава aircrack-ng. Т.е. для повторения нам надо просто запустить эту утилиту, желательно, на отдельном компактном и носимом устройстве, и запихнуть полученные данные в БД, из которой потом уже доставать готовые списки MAC-адресов для рекламных сетей. Вроде бы задача простая, решаемая за один, максимум — два вечера неспешной работы, почти все готово же.
Разумеется, это оказалось ни разу не так.
Как известно, что позволено Юпитеру, то не разрешено быку. И когда в ход идут одноплатники, то приходится жертвовать, в первую очередь вычислительными ресурсами и памятью. Далее, за жертвой ресурсов идет жертва удобства разработки и отладки — тащить инструменты компиляции на устройство позволит не каждая система.
Первоначально мы хотели взять что-то простое и дешевое, например, коробочки Orange Pi Zero, поставить туда airodump-ng и пробросить данные, выплевываемые утилитой на сервер, где благополучно их сложить в базу. У меня был опыт работы с такими распределенными системами с выделенным центром (правда, там в роли рабочих лошадок выступали виртуальные машины, поднимаемые через API облака этим же самым центром по мере необходимости, но не суть), так что часть кода благополучно перекочевала в новый проект.
Инструментом проброса данных на сервер послужило написанное простейшее Erlang-приложение, которое, как предполагалось, будет выдергивать данные с дампера эфира (парсинг), сериализовать их (родной сериализацией Erlang-а) и передавать через web-сокет на сервер по HTTPS (не вызывая подозрений у DPI-систем и не изобретая собственных протоколов). Процессоры Allwinner H2+, которые использовались в Orange Pi, достаточно мощные, чтобы собираться и отлаживаться прямо на устройстве. Опять же, в теории все хорошо.
На практике началось.
1. как оказалось, встроенный WiFi в Orange Pi годился только на то, чтобы подцепиться к точке доступа и швырнуть данные в сервер. Ну, точнее, не сам адаптер, а поддержка его чипсета в ядре. Для большинства IoT проектов этого, наверняка, было бы достаточно. Впрочем, к этому удару мы были готовы, потому что предварительное изучение сайта aircrack-ng дало вполне четкое и неоднозначное “везде это работать не будет, если что — мы не виноваты, список проверенных чипсетов прилагаем”. В списке обнаружились почти все устройства Atheros (купленной Qualcomm) и Ralink (купленной MediaTek), что внушало некоторые перспективы в случае перехода с прожорливых китайских ARM-ов на более аскетичные MIPS-ы из чипсетов для роутеров.
Но, пока это все собирается из соплей и палок, т.е. прототипируется — надо решить проблему здесь и сейчас. Поэтому мы воспользовались такой экзотикой в наше технологичное время (когда беспроводная связь есть в любой зажигалке) как Wi-Fi USB-адаптер. Изучение списка совместимости и сопоставление его с ассортиментом ближайшего магазина выдало жертву — DLink DWA-160 в ревизии C1 (это важно, поскольку другие аппаратные ревизии использовали другой чип и вызывали неиллюзорную головную боль в плане принуждения к работе). Двухдиапазонный, не требующий плясок с драйвером, поскольку поддержка давно в ядре, этот свисток пригодился в дальнейшем и в эксплуатации в других проектах, поэтому я скупил их, наверное, все (пять штук), что оказались доступны в нашем провинциальном городе.
Убедившись в работоспособности устройства, я подключил его к одноплатнику и выключил встроенный WiFi-адаптер с расчетом, что интернет будет доступен через Ethernet-интерфейс.
Вторую свинью подложил aircrack-ng. Этот набор утилит был создан с целью взлома проверки на проникновение WiFi-сетей, т.е. был написан хакерами для хакеров. Не знаю, благодаря какой логике они предпочли использовать дампер эфира беспроводных сетей не в виде традиционного unix-way подхода выплюнуть структурированный текст для последующей обработки, а сделать полноценный term-интерфейс, на котором почти в реальном времени (и с учетом настроек терминала) отображать информацию по обнаруженным сетям и устройствам, но они сделали именно так. Да, я нашел Python API неизвестной степени готовности ко всему этому, но, опять же, паук прототипирования, обитавший в моей голове, жестко запретил тащить еще один язык, переключаться на другой (мы же помним, серверная часть уже была частично готова и написана она была далеко не на Python-е) или, упаси боже, реализовывать airodump-ng самостоятельно на базе tcpdump-а. А, следовательно, надо было искать обходные пути.
К счастью, беспроводные хакеры начали что-то подозревать, что постоянно тупить в интерфейс — такое себе занятие, поэтому реализовали периодическое выкладывание всего найденного и агрегированного в виде CSV-файлов. С задаваемым интервалом. С этим уже можно жить. Разумеется, наивный вариант — запустить утилиту и перечитывать файл по таймеру — тут же дал по рукам. Работающий на ноутбуке, при переносе на одноплатник, он начал сбоить в процессе вычитывания файла по понятным причинам — порой утилита просто не успевала выгрузить все и часть данных безвозвратно терялась.
Решением этого стал механизм inotify в ядре, уведомляющий об файловых операциях — как только мой код видел изменения файла с данными, он инициировал его чтение с небольшой задержкой (скорее, имеющей чисто психологическое значение, успокоить его автора). Проведенные опыты показали, что в этом случае сбоев при чтении и потерь данных не возникает. Ну славно, парсим CSV, укладываем во внутренние структуры и передаем на сервер. На сервере сохраняем в PostgreSQL (спасибо за jsonb) и после этого уже можно делать запросы, формировать выгрузки и т.д. Добавим простейшей авторизации по симметричному ключу, чтобы нам туда не напихали мусора и мы могли бы привязать данные к точке, где установлено устройство, и вроде бы все хорошо, можно в бой.
Ага, сейчас, как же. Тестовая сборка этой цепочки (а написание кода и отладка заняла действительно пару вечеров) вскрыла забавный факт — количество адресов, пойманных за сутки в нашем офисе, достаточно удаленном от публичных проходимых мест, колебалось в районе пары тысяч штук. Да, конечно, рядом была небольшая гостиница (это было в докарантинно-изоляционное время, не удивляйтесь), но все равно, что-то много.
Освежив знание по структуре MAC-адреса и вспомнив факт, что мобильные устройства, зачастую, для сокрытия своего истинного MAC-адреса генерируют локальные адреса, я доработал серверную часть простейшим фильтром, вычищающим все broadcast и local адреса на входе. Список сократился на порядок и уже выглядел похожим на правду. Все было готово к полевым испытаниям.
Как известно, при смене локации с теплого и уютного офиса на беспощадные боевые условия прототипы имеют свойство прекращать нормально функционировать, поэтому процесс внедрения должен сопровождаться поставкой карманного инженера, который будет исправлять все всплывшие недочеты. С другой стороны, также хорошо известно, что устройство, не требующее дополнительных плясок с бубном в начале эксплуатации, скорее всего скоро сломается, причем бесповоротно. Это, наверняка, нашло свое отражение в законах Мерфи, но, увы, автору этих строк лень проверять, в каком именно, поэтому сойдемся на термине “закон подлости”.
Первая установка вскрыла сразу кучу недостатков.
Во-первых, большинство китайских плат для прототипирования поставляется с долгосрочной памятью на MicroSD в противовес NAND/NOR flash чипам. Исключение делается только для мощных SoC, явно избыточных для данной задачи. Увы, MicroSD — это непосредственная головная боль эксплуатационщика — окисление контактных площадок, выход из строя SD-карт, зависимость контактов от температуры внутри корпуса (а она немалая, китайские чипы не являются сильно энергоэффективными, а платы, зачастую, и вовсе рассчитываются сразу исходя из пикового энергопотребления, поэтому без дополнительного радиатора ну никак). Так и оказалось, что при выдергивании питания из устройства система приходила в неработоспособное состояние — повреждались файлы с байт-кодом ERTS, после перезагрузки приложение отказывалось работать.
Второй неприятный момент — на точке установки интернет обеспечивался LTE-роутером и был, мягко говоря, посредственного качества, в отличие от офисного провода. Сеть постоянно искрила, приложение часто переподключалось, а то и вовсе умирало от скопившихся в очередях на отправку сообщений.
Конечно, обе проблемы являются преодолимыми, так, например, потеря данных устранялась бы поиском оптимальной комбинации хорошей MicroSD-карты и настроек файловой системы, а нестабильность соединения можно было бы компенсировать предварительной агрегацией данных, короткими сессиями отправки, разряженными по времени и т.п. Но вскрывшиеся проблемы — это повод задуматься, а правильный ли был выбран путь. Необходимость постоянного соединения с сервером ставила крест на событийных сборах данных, когда устройство вешается на внешнюю батарею питания и забрасывается в рюкзак, владелец которого идет на массовое мероприятие, где, понятно, стабильности соединения ожидать не приходится.
Соответственно, следующий шаг был в отказе от серверной части и локализации хранилища данных прямо на устройстве. Кроме того, во избежание долгих и весьма муторных экспериментов с SD-картами, решено было в следующей итерации использовать макетные платы с flash-чипами.
В это момент я вспомнил, что у меня в коллекции есть замечательная плата Carambola 2 от литовских товарищей 8Devices. А если зайти на их сайт, то можно обнаружить еще более компактное устройство на том же чипе под названием Centipede. Прошлые эксперименты с данным классом устройств показали, что Erlang вполне влезает в отведенные 16 МБайт flash-памяти (и еще немного остается приложению). Единственный минус (который, скорее, даже плюс) — это маломощный MIPS и необходимость кросс-компиляции, что делает сборку Erlang-приложения чуть более нетривиальной. Но это был уже известный маршрут, поэтому я заказал парочку Centipede, а сам пока портировал существующую версию, работающую с сервером, на Carambol-у.
Когда приехали компоненты, начался новый этап. Чип AR9331 успешно поддерживался aircrack-ng из коробки, данные можно забирать с Ethernet-интерфейса, последние версии OpenWRT и ERTS собраны и успешно опробованы. Приложение переписано — часть кода переехала в код устройства, данные накапливались в отдельном процессе и периодически сбрасывались в файл в виде сериализованного Erlang-терма. К этому был нарисован простейший web-интерфейс, получающий данные через websocket. Порты для inotify и erlexec благополучно собраны средствами OpenWRT.
Смущало только одно — на данные оставалось 300 килобайт. Не то, чтобы мало, если хранить только MAC-адреса клиентских устройств, но airodump-ng отдает гораздо больше интересной информации, в том числе адреса точек доступа, их ESSID-ы и прочее, которое тоже неплохо было бы запомнить. На всякий случай. Ладно, будем действовать по обстоятельствам.
Собираем, проверяем. С ходу вскрывается проблема.
OpenWRT, как мы все знаем — это такой минималистичный вариант сборки Linux, который предназначен специально для устройств с ограниченными объемами памяти. Как следствие — оттуда выкинуто то, что можно было выкинуть безболезненно, и упрощенно то, что можно было упростить, в том числе многопользовательский режим. Т.е. обычная практика, когда код стартует от root-а и работает с максимальными привилегиями, что, конечно, облегчает вопросы связанные с группами, пользователями и контроль их действий. Да-да, буква S в аббревиатуре IoT отвечает за безопасность. Беда заключается в том, что erlexec, который я использовал для запуска и управления airodump-ng, не может выполнять операции из-под root-а — для этого ему необходим дополнительный пользователь, от имени которого он будет порождать назначенные ему процессы. А при создании дополнительного пользователя с другим уровнем привилегий… правильно, не дает airodump-у достучаться до сетевого устройства. Выкрутить это ограничение из библиотеки показалось процессом небыстрым, поэтому erlexec был заменен на порты — встроенный механизм запуска сторонних процессов в Erlang. Мелочь, а неприятно.
Итак, устройства получены, перепрошиты и даже работают в тепличных условиях. Цепляем батарею, кидаем коробку в рюкзак, идем в молл. На следующий день смотрим на результат — фиаско, файл данных нулевой длины — либо не хватило места, либо передергивание питания сработало не в очень удачный момент. Правим код, чтобы сохранение происходило в два этапа — сначала создавался временный файл, потом он замещал текущий.
Проверить, впрочем, работоспособность этого варианта руки так и не дошли — в поле зрения попала очередная игрушка — Onion Omega2+ на Mediatek 7688. Как и у их собратьев, конструктора LinkIt Smart 7688, там было много всего, но самое главное — вдвое больше flash-памяти, а, значит, уже можно не переживать за нехватку места для хранения данных. Окей.
Заказываем, ждем. Месяц. Два. Терпение лопается — пишем американцам на предмет “где товар, Зин”. Тишина. Открываем спор на PayPal. Американцы просыпаются. Говорят “Ой, у нас система приема заказов сбойнула, сейчас все пришлем”. Высылают, ждем три недели. Фух, устройство на руках и даже работает.
Тут надо сделать небольшое отступление — при том, что у меня в шаговой доступности лежало несколько плат LinkIt Smart, я не рассматривал их в качестве платформы, потому как в самом начале эпопеи попытка использовать их как устройства захвата провалилась. Тогда драйвера для чипа поставлялись в виде собранных модулей под конкретные версии ядра и, видимо, это и стало причиной неработоспособности. В последних версиях OpenWRT появилась как родная поддержка 7688, так и открытый драйвер, так что это повод пересмотреть подход к данным устройствам.
Впрочем, наличие WiFi прямо на чипе было принято использовать по прямому назначению — все-таки устройству нужен хоть какой-нибудь интерфейс управления, причем и в полевых условиях тоже, хотя бы для того, чтобы понять, работоспособно оно или не очень. Посмотреть на полученные данные тоже было бы небесполезно.
Соответственно, комбинируем предыдущие подходы — используем единственный выведенный на MiniDoc USB-интерфейс под WiFi-свисток для сканирования пространства, а встроенный WiFi — для управления устройством в виде маломощной точки доступа. Собираем, проверяем, все работает.
Но аппетит приходит во время еды. Начнем с того, что файл с данными в виде Erlang-сериализации — удел настоящих маньяков, а чуть более широкому спектру специально обученных профессионалов надо что-то попроще. Опять же, помимо складывания данных от airodump-а хотелось бы еще и точное время измерения, и, желательно, хоть какая-то привязка к расположению устройства в пространстве.
Встраиваем между WiFi-свистком и устройством USB-хаб. Настройки (а они зависят от положения устройства на шине в случае OpenWRT) идут лесом, но это уже незначительные мелочи. Правим. Вытаскиваем из завалов USB-GPS приемник, благо, уже проверенный временем и с написанным кодом разбора NMEA-0183 (код, конечно же, все равно пришлось подправить). Проверяем — устройство благополучно не обнаруживается системой, явно нехватка драйверов. Собираем драйвера USB Serial и закидываем на устройство — тоже тишина. Потом вспоминаем, что в больших системах GPS-свисток обнаруживался не как ttyUSBx, а как ttyACMx, т.е. USB GSM modem. Ну отлично, второй заход на добавление драйверов, успех.
Берем код, интегрируем в приложение. Добавляем в приложение sqlite3 в качестве хранилища. Теперь не надо будет проверять наличие записи в состоянии и вообще работа с данными упрощается до небольшого количества строчек. Собираем все в кучу, учим при добавлении данных забирать показания GPS, правим JS-код на мордочке для отображения в случае неполного набора данных (может случится, когда GPS еще не поймал спутники, а данные сканирования эфира уже идут). Проверяем работу — вроде живет. Можно объявлять промежуточную победу.
За пару недель бесперебойной работы — куча данных как по станциям в эфире, так и по клиентам. Теперь борюсь с искушением предложить это устройство инфобезовцам для контроля эфира на вверенных территориях и государству для контроля за перемещением телефонов граждан. Шутка, конечно же, они и так сами все знают.
Так вот, все вышеописанные мытарства — это только pet-проект с очень низкой сложностью (почти сразу было понятно, что и как делать), отсутствием разработки аппаратной части (привет, физика) и выходом на сколько-нибудь более-менее завершенное изделие. Нет, конечно, нельзя исключить, что автор этих строк — дремучий дилетант, а настоящие гуру проходят этот путь за один вечер в промежутке между вечерним чаем и рюмкой коньяка, но пока опыт показывает только одно: ИТ это сложно и оптимизм здесь наказуем финансово, репутационно и мотивационно, а те, кто говорит “там все просто” — либо гении, либо жулики, причем второе более вероятно.