- Превращаем Linux компьютер в AirPlay приемник
- Возможные проблемы
- Airplay для linux mint
- About
- How do I share my screen to airplay / AppleTV?
- 3 Answers 3
- передача картинки с arch linux на экран aka airplay
- Руководство по Aircrack-ng в Linux для новичков
- Настройка оборудования, установка Aircrack-ng
- Установка aircrack-ng
- Основы IEEE 802.11
- Как найти беспроводную сеть
- Подключение к сети
- Простой сниффинг и взлом
- Обнаружение сетей
- Сниффинг Векторов Инициализации
- Взлом
- ARP replay
- Основная идея
- Ленивый способ
- Агрессивный способ
Превращаем Linux компьютер в AirPlay приемник
Захотелось мне как-то играть музыку с мака на колонки без проводов. Раньше для этого я пользовался AirPort Express, куда были воткнуты колонки. Но сия халява кончилась и теперь надо что-то изобретать.
Быстрый поиск по интернетам показал существование демона shairport, который предствляет собой AirPlay приемник для Linux. Проблема в том, что данный демон уже давно не поддерживается и автор прямо отказался от его поддержки. Но благодаря великой силе форков гитхаба был найден проект shairport-sync, который является форком shairport с допилами и поддерживается в настоящее время. То что надо!
Итак, краткий мануал по установке. Я взял старый asus eee 900, на котором стоит xubuntu 14.04LTS. По совместительству он работает у меня домашним сервером.
- Клонируем к себе репозиторий git clone https://github.com/mikebrady/shairport-sync.git
- Устанавливаем зависимости нужное для сборки apt install build-essential autoconf checkinstall libtool libdaemon-dev libasound2-dev libpopt-dev
- Устанавливаем Avahi apt install avahi-daemon libavahi-client-dev
- Устанавливаем зависимости для работы с SSL apt install libssl-dev . Демон умеет работать с OpenSSL или PolarSSL, но этот пакет нужен для обеих библиотек.
- Я использовал PolarSSL для сборки, но, в целом, никакой разницы нет. Устанавливаем PolarSSL apt install libpolarssl-dev
- Запускаем autoconf autoreconf -i -f после этого будет сгенерирован файл configure.
- $ ./configure —with-alsa —with-avahi —with-ssl=polarssl
- make
- sudo checkinstall . Checkinstall задаст несколько вопросов, на них можно ответить по умолчанию, единственное что надо задать поле version в виде числа. Т.к. по умолчанию туда попадает значение sync и checkinstall падает с ошибкой создания пакета.
Почему вместо make install лучше использовать checkinstall ? Эта утилита перехватит работу make, отследит куда ставятся все файлы приложения и создаст deb пакет для безопасной установки и удаления приложения.
Конфигурируется демон через редактирования файла /etc/init.d/shairport-sync , я там поменял только название сервиса. Обычно больше ничего не требуется для работы.
Возможные проблемы
При загрузке компьютера может появляться сообщение:
Работа Avahi будет останавливаться, соответственно и shairport не запустится. Обычно эта проблема связана с тем, что в DNS сервере есть записи для зоны local.
Проверяется это командой: host -t SOA local. (обратите внимание на точку в конце!). В нормальной ситуации вывод должен быть около такого:
Если же в выводе написано: local has SOA record XXX , то ваш DNS транслирует зону local. Обычно это делают провайдеры для работы сервисов типа retracker.local. Если вы этим не пользуетесь — можно просто указать днс Yandex (77.88.8.8/77.88.8.1) или Google(8.8.8.8/8.8.4.4).
После этих настроек и рестарта служб — все должно работать, а на устройствах Apple появится ваше устройство для вывода звука.
Источник
Airplay для linux mint
Stream from a Linux computer to an Airplay Receiver.
OpenAirplay is a python implementation of the Apple Airplay client, intended to mimic the OSX Airplay integration.
I have always been annoyed about how iOS, Mac OSX, and all of Apples proprietary hardware/software has inhibited so many of us technology savvy people.
No longer under active development.
I no longer attend my highschool full of Apple devices, so I have no platform to test this project on.
If someone wants to fund this project, buy me a 2nd gen Apple TV or later so I can actually get back to work on this project.
Otherwise, I have no need or ability to continue development, so if you are able and willing, send over some PRs or code edits.
Right now it’s Python 3 using the QT system from PyQt4.
It is designed in an Ubuntu Unity environment, but the application should work on any platform with Python 3 and a system tray.
From my last testing, this ran fine on my Dad’s Windows 8 laptop, and I’ve tested Ubuntu 14.04 to 15.10.
See the dependencies.md file for installing the needed software.
Why I’m doing this:
(From 2015:)
I go to a school where everyone has iPads as their learning tool, which are horrid for coding/programming and software development, but make a good classroom common tool. As a result, there is an Apple TV in every single room for the students to quickly present whatever is on their screen, and the teachers can show their presentations with their assigned Macbooks.
I am one of two people at this school who use Linux (Ubuntu) and who bring their laptops every day. I use mine for school work fairly often, as I understand how much I can do in Linux and not iOS. But whenever some task comes up where I’d need to airplay my work to an Apple TV, I’m being restrained to my iPad.
What this aims to be:
This application is designed to sit in your System Tray just like in OSX, with a drop down list of available Airplay Recievers, and allow you to:
- Stream your desktop
- Send a photo/picture
- Play a video
- Stream Music
And whatever else the users and developers of this project wish it to be.
I’m always looking for contributors, if you can help with any of these I’d love to work with you.
- Python network discovery protocols (for finding listings of devices)
- Airplay/Media protocols
- Python Qt (thinking about things like screen capture)
- And developers to help make this work for non-Ubuntu OSs.
About
Enabling Airplay just like on Apple OSX on Ubuntu and possibly other non-apple OSes
Источник
How do I share my screen to airplay / AppleTV?
I’ve seen a lot of posts about streaming audio to their AppleTV / other airplay audio devices. but I want to share my screen.
Is there a way I can do this?
I’m on Ubuntu 16.04.
3 Answers 3
No. Airplay is a proprietary protocol that hasn’t been fully reverse engineered. That might even never happen.
If you are not bound to Apple, you might look into DLNA.
Well, there is a way — https://github.com/jamesdlow/open-airplay It is not really fancy, but it works:
- Download latest release of airplay.jar (in GitHub there is «2 releases» link)
- Download supplementary library jmdns.jar (stored in folder Java/lib)
- Execute from folder with downloaded jars by java -cp «airplay.jar:jmdns.jar» com.jameslow.AirPlay
It should show list of available devices after a few seconds, then ask for resolution and finally share your screen.
Connect to the wifi network of the AppleTV
Once you have downloaded the .zip , unzip it and enter the folder open-airplay-master .
The document “Dockerfile” contains the list of instructions: From terminal:
Apparently the maven2 library is not available on Ubuntu 16. In this case, you should install the maven library with the same command as above.
The command ant builds the airplay.jar file in the open-airplay-master/Java/build folder.
You should see a searching window for few seconds. It should find the AppleTV automatically (click OK). Select resolution and click OK.
Источник
передача картинки с arch linux на экран aka airplay
по сажу что подскажете?
на какой экран, андроид или что?
sony bravia (есть mibox 4й android tv)
самый простой вариант, не требующий ковыряться ни в чём — ставишь приложение Steam link на андроид, запускаешь стим на арче и если не хочешь играть — сворачиваешь и смотришь браузер/фильм/что там ещё.
в репах есть пакет
Не знаю, во что умеет твой тв — у меня на компе торренты и всякое крутится и раздаётся по NFS шаре на приставку. Можно ещё самбу поднять с сериалами/фильмами и с телека смотреть, если прямой кастинг не нужен.
vlc умеет стримить еще. Картинки, звук,видео
Можно ещё через Plex/Serviio стримить кино и т.д
Делал по vnc второй рабочий стол. Видео конечно не смотрибельно, но трудиться в принципе можно. Если интересно — вот инструкция. Требуется небольшая допилка уже не помню каких аспектов, но всё интуитивно.
Спасибо, попробую на досуге. Похоже на то, что мне нужно. Правда, с моим бамблби — много веселья и не факт.
Источник
Руководство по Aircrack-ng в Linux для новичков
Всем привет. В преддверии старта курса «Практикум по Kali Linux» подготовили для вас перевод интересной статьи.
Сегодняшнее руководство познакомит вас с основами для начала работы с пакетом aircrack-ng. Конечно, невозможно предоставить всю необходимую информацию и охватить каждый сценарий. Так что будьте готовы делать домашние задания и проводить исследования самостоятельно. На форуме и в Wiki есть множество дополнительных туториалов и другой полезной информации.
Несмотря на то, что оно не покрывает все шаги от начала до конца, руководство Simple WEP Crack подробнее раскрывает работу с aircrack-ng.
Настройка оборудования, установка Aircrack-ng
Первым шагом в обеспечении правильной работы aircrack-ng в вашей системе Linux является патчинг и установка соответствующего драйвера для вашей сетевой карты. Многие карты работают с несколькими драйверами, некоторые из них предоставляют необходимый функционал для использования aircrack-ng, другие нет.
Думаю, излишне говорить о том, что вам нужна сетевая карта, совместимая с пакетом aircrack-ng. То есть то аппаратное обеспечение, которое полностью совместимо и может внедрять инъекции пакетов. С помощью совместимой сетевой карты можно взломать беспроводную точку доступа менее, чем за час.
Чтобы определить к какой категории относится ваша карта, ознакомьтесь со страницей совместимости оборудования. Прочитайте Tutorial: Is My Wireless Card Compatible?, если не знаете, как обращаться с таблицей. Тем не менее, это не помешает вам при чтении руководства, которое поможет вам узнать что-то новое и убедиться в тех или иных свойствах вашей карты.
Для начала, вам нужно знать, какой чипсет используется в вашей сетевой карте и какой драйвер вам для него понадобится. Вам нужно определить это с помощью информации из абзаца выше. В разделе drivers вы узнаете, какие драйверы вам нужны.
Установка aircrack-ng
Последнюю версию aircrack-ng можно получить, скачав с главной страницы, или же вы можете воспользоваться дистрибутивом для проведения тестирования на проникновение, таким как Kali Linux или Pentoo, где стоит последняя версия aircrack-ng.
Чтобы установить aircrack-ng обратитесь к документации на странице установки.
Основы IEEE 802.11
Хорошо, теперь, когда все готово, пора сделать остановку прежде, чем мы начнем действовать, и узнать кое-что о том, как работают беспроводные сети.
Следующую часть важно понять, чтобы смочь разобраться в случае, если что-то будет работать не так, как ожидается. Понимание того, как все это работает, поможет вам найти проблему или, по крайней мере, правильно ее описать, чтобы кто-то другой смог вам помочь. Здесь все немного заумно, и, возможно вам захочется пропустить эту часть. Однако для взлома беспроводных сетей нужно немного знаний, и потому взлом – это чуть больше, чем просто набрать одну команду и позволить aircrack сделать все за вас.
Как найти беспроводную сеть
Эта часть – краткое введение в управляемые сети, которые работают с точками доступа (Access Point, AP). Каждая точка доступа посылает около 10 так называемых Бикон-фреймов (beacon frame) в секунду. Эти пакеты содержат следующую информацию:
- Имя сети (ESSID);
- Используется ли шифрование (и какое шифрование используется, но обратите внимание на то, что эта информация может не являться правдивой, только потому что точка доступа сообщает ее);
- Какие скорости передачи данных поддерживаются (в MBit);
- На каком канале находится сеть.
Именно эта информация отображается в инструменте, который подключается конкретно к этой сети. Она отображается, когда вы разрешаете карте сканировать сети с помощью iwlist interface> scan и когда выполняете airodump-ng.
Каждая точка доступа обладает уникальным MAC-адресом (48 бит, 6 пар шестнадцатеричных чисел). Выглядит он примерно так: 00:01:23:4A:BC:DE. У каждого сетевого устройства есть такой адрес, и сетевые устройства взаимодействуют друг с другом с их помощью. Так что это что-то вроде уникального имени. MAC-адреса уникальны и нет двух устройств с одинаковыми MAC-адресами.
Подключение к сети
Есть несколько вариантов подключения к беспроводной сети. В большинстве случаев используется Open System Authentication. (По желанию: если вы хотите узнать больше об аутентификации, прочтите это.)
Open System Authentication:
- Запрашивает аутентификацию точки доступа;
- Точка доступа отвечает: OK, вы аутентифицированы.
- Запрашивает ассоциацию точки доступа;
- Точка доступа отвечает: ОК, вы подключены.
Это самый простой случай, но проблемы возникают, когда вы не имеете прав доступа, поскольку:
- Используется WPA/WPA2, и вам нужна аутентификация APOL. Точка доступа ответит отказом на втором шаге.
- У точки доступа есть список разрешенных клиентов (MAC-адресов) и она не позволит подключиться никому другому. Это называется фильтрация по MAC.
- Точка доступа использует Shared Key Authentication, то есть вам нужно предоставить правильный WEP-ключ, чтобы подключиться. (См. раздел «Как сделать поддельную аутентификацию с общим ключом?» чтобы узнать больше об этом)
Простой сниффинг и взлом
Обнаружение сетей
Первое, что нужно сделать – это найти потенциальную цель. В пакете aircrack-ng для этого есть airodump-ng, но можно использовать и другие программы как, например, Kismet.
Прежде чем искать сети, вы должны перевести свою карту так называемый «режим мониторинга». Режим мониторинга – это специальный режим, который позволяет вашему компьютеру прослушивать сетевые пакеты. Этот режим также позволяет внедрять инъекции. Об инъекциях мы поговорим в следующий раз.
Чтобы перевести сетевую карту в режим мониторинга, используйте airmon-ng:
Так вы создадите еще один интерфейс и добавите к нему «mon». Итак, wlan0 станет wlan0mon. Чтобы проверить, действительно ли сетевая карта находится в режиме мониторинга, выполните iwconfig и убедитесь в этом сами.
Затем, запустите airodump-ng для поиска сетей:
Если airodump-ng не сможет подключиться к WLAN-устройству, вы увидите что-то подобное:
airodump-ng перескакивает с канала на канал и показывает все точки доступа, от которых он получает биконы. Каналы с 1 по 14 используются для стандартов 802.11 b и g (в США разрешено использовать только с 1 по 11; в Европе с 1 по 13 за некоторым исключением; в Японии с 1 по 14). 802.11a работает в диапазоне 5 ГГц, и его доступность варьируется в разных странах больше, чем в диапазоне 2,4 ГГц. В целом, известные каналы начинаются с 36 (32 в некоторых странах) по 64 (68 в некоторых странах) и с 96 по 165. В Википедии вы можете найти более подробную информацию о доступности каналов. В Linux о разрешении/запрете передачи по определенным каналам для вашей страны заботится Central Regulatory Domain Agent; однако он должен быть настроен соответствующим образом.
Текущий канал показан в левом верхнем углу.
Через некоторое время появятся точки доступа и (надеюсь) некоторые связанные с ними клиенты.
Верхний блок показывает обнаруженные точки доступа:
bssid | mac-адрес точки доступа |
pwr | качество сигнала, когда выбран канал |
pwr | сила сигнала. некоторые драйверы ее не сообщают. |
beacons | количество полученных биконов. если у вас отсутствует показатель силы сигнала, вы можете измерить ее в биконах: чем больше биконов, тем лучше сигнал. |
data | количество полученных фреймов данных |
ch | канал, на котором работает точка доступа |
mb | скорость или режим точки доступа. 11 – это чистый 802.11b, 54 – это чистый 802.11g. значения между этими двумя – это смесь. |
enc | шифрование: opn: нет шифрования, wep: wep шифрование, wpa: wpa или wpa2, wep?: wep или wpa (пока неясно) |
essid | имя сети, порой скрыто |
Нижний блок показывает обнаруженные клиенты:
bssid | mac-адрес, с которым клиент ассоциируется у данной точки доступа |
station | mac-адрес самого клиента |
pwr | сила сигнала. некоторые драйверы ее не сообщают. |
packets | количество полученных фреймов данных |
probes | имена сети (essid), которые этот клиент уже апробировал |
Теперь вам нужно следить за целевой сетью. К ней должен быть подключен хотя бы один клиент, поскольку взлом сетей без клиентов – это более сложная тема (см. раздел Как взломать WEP без клиентов). Она должна использовать WEP-шифрование и иметь хороший сигнал. Возможно, вы можете поменять положение антенны, чтобы улучшить прием сигнала. Иногда для силы сигнала несколько сантиметров могут оказаться решающими.
В примере выше есть сеть 00:01:02:03:04:05. Она оказалась единственной возможной целью, поскольку только к ней подключен клиент. А еще у нее хороший сигнал, поэтому она является подходящей целью для практики.
Сниффинг Векторов Инициализации
Из-за перескоков между каналами вы не будете перехватывать все пакеты из целевой сети. Поэтому мы хотим слушать только на одном канале и дополнительно записывать все данные на диск, чтобы в последствии иметь возможность использовать их для взлома:
С помощью параметра -с вы выбираете канал, а параметр после -w является префиксом сетевых дампов, записанных на диск. Флаг –bssid вместе с MAC-адресом точки доступа ограничивает получение пакетов до одной точки доступа. Флаг –bssid доступен только в новых версиях airodump-ng.
Перед взломом WEP, вам понадобится от 40 000 до 85 000 различных векторов инициализации (Initialization Vector, IV). Каждый пакет данных содержит вектор инициализации. Их можно переиспользовать, поэтому количество векторов обычно немного меньше, чем количество перехваченных пакетов.
Таким образом, вам придется подождать, чтобы перехватить от 40к до 85к пакетов данных (с IV). Если сеть не занята, это займет очень много времени. Вы можете ускорить этот процесс используя активную атаку (или атаку повторного воспроизведения). О них мы поговорим в следующей части.
Взлом
Есть у вас уже есть достаточно перехваченных векторов инициализации, которые хранятся в одном или нескольких файлах, вы можете попробовать взломать WEP-ключ:
MAC-адрес после флага -b – это BSSID цели, а dump-01.cap – это файл, содержащий перехваченные пакеты. Вы можете использовать несколько файлов, для этого просто добавьте в команду все имена или воспользуйтесь символом подстановки, например dump*.cap .
Больше информации о параметрах aircrack-ng, выводе и использовании вы можете получить из руководства.
Количество векторов инициализации, необходимых для взлома ключа, не ограничено. Так происходит потому, что некоторые вектора слабее и теряют больше информации о ключе, чем другие. Обычно эти вектора инициализации смешиваются с более сильными. Так что, если вам повезет, вы сможете взломать ключ всего с 20 000 векторами инициализации. Однако часто и этого бывает недостаточно, aircrack-ng может работать долго (неделю или больше в случае высокой погрешности), а затем сказать вам, что ключ не может быть взломан. Чем больше у вас векторов инициализации, тем быстрее может произойти взлом и обычно это делает за несколько минут или даже секунд. Опыт показывает, что для взлома достаточно 40 000 – 85 000 векторов.
Существуют более продвинутые точки доступа, которые используют специальные алгоритмы, чтобы отфильтровывать слабые вектора инициализации. В результате вы не сможете получить больше, чем N векторов от точки доступа, либо вам понадобятся миллионы векторов (например, 5-7 миллионов), чтобы взломать ключ. Вы можете почитать на форуме, что делать в таких случаях.
Активные атаки
Большинство устройств не поддерживают инъекции, по крайней мере без пропатченных драйверов. Некоторые поддерживают только определенные атаки. Обратитесь к странице совместимости и посмотрите в столбец aireplay. Иногда эта таблица не дает актуальной информации, поэтому если вы увидите слово “NO” напротив вашего драйвера, не расстраивайтесь, а лучше посмотрите на домашнюю страницу драйвера, в список рассылок драйверов на нашем форуме. Если вам удалось успешно провести повторное воспроизведение с помощью драйвера, который не был включен в список поддерживаемых, не стесняйтесь предлагать изменения на странице таблицы совместимости и добавлять ссылку на краткое руководство. (Для этого нужно запросить учетную запись wiki на IRC.)
Для начала нужно убедиться, что инъекция пакетов действительно работает с вашей сетевой картой и драйвером. Самый простой способ проверить — это провести тестовую инъекционную атаку. Перед тем, как продолжать работу, убедитесь, что вы прошли этот тест. Ваша карта должна иметь возможность внедрять инъекции, чтобы вы могли выполнить следующие шаги.
Вам понадобится BSSID (MAC-адрес точки доступа) и ESSID (сетевое имя) точки доступа, которая не выполняет фильтрацию по MAC-адресам (например, ваша собственная), и находится в доступном диапазоне.
Попробуйте подключиться к точке доступа с помощью aireplay-ng:
Значением после -а будет BSSID вашей точки доступа.
Инъекция сработала, если вы увидите что-то вроде этого:
- Перепроверьте корректность ESSID и BSSID;
- Удостоверьтесь, что на вашей точке доступа отключена фильтрация по MAC-адресам;
- Попробуйте это же на другой точке доступа;
- Удостоверьтесь, что ваш драйвер правильно настроен и поддерживается;
- Вместо «0» попробуйте «6000 -o 1 -q 10».
ARP replay
Теперь, когда мы знаем, что инъекция пакетов работает, мы можем сделать что-нибудь, что сильно ускорит перехват векторов инициализации: атака инъекций ARP-запросов.
Основная идея
Если говорить простым языком, то ARP работает, передавая широковещательный запрос на IP-адрес, а устройство с этим IP-адресом отправляет обратно ответ. Поскольку WEP не защищает от повторного воспроизведения, вы можете сниффить пакет и отправлять его снова и снова, пока он валидный. Таким образом, вам нужно просто перехватить и воспроизвести ARP-запрос, отправленный точке доступа, чтобы создать траффик (и получить вектора инициализации).
Ленивый способ
Сначала откройте окно с airodump-ng, который сниффит трафик (см. выше). Aireplay-ng и airodump-ng могут работать одновременно. Дождитесь появления клиента в целевой сети и начинайте атаку:
-b указывает на целевой BSSID, -h на MAC-адрес подключенного клиента.
Теперь вам нужно дождаться получения ARP-пакета. Обычно нужно ждать несколько минут (или прочитать статью дальше).
Если вам повезло, вы увидите что-то подобное:
Если вам нужно прекратить воспроизведение, то не нужно ждать появления следующего ARP-пакета, вы можете просто использовать ранее перехваченные пакеты с помощью параметра -r filename> .
При использовании ARP-инъекций, вы можете использовать метод PTW для взлома WEP-ключа. Он значительно сокращает количество необходимых пакетов, а с ними и время на взлом. Вам нужно перехватить полный пакет с помощью airodump-ng, то есть не использовать опцию “—ivs” при выполнении команды. Для aircrack-ng используйте “aircrack -z file name>” . (PTW – тип атаки умолчанию)
Если количество пакетов данных получаемых airodump-ng перестает увеличиваться, вам, возможно, придется уменьшить скорость воспроизведения. Сделайте это с помощью параметра -x packets per second> . Я обычно начинаю с 50 и уменьшаю до тех пор, пока пакеты снова не начнут приниматься непрерывно. А еще вам может помочь изменение положения антенны.
Агрессивный способ
Большинство операционных систем очищают кэш ARP при отключении. Если нужно отправить следующий пакет после повторного подключения (или просто использовать DHCP), они отправляют ARP-запрос. В качестве побочного эффекта вы можете сниффить ESSID и, возможно, keystream во время переподключения. Это удобно, если ESSID вашей цели скрыт или она использует shared-key authentication.
Пускай airodump-ng и aireplay-ng работают. Откройте еще одно окно и запустите атаку деаутентификации:
Здесь -a – это BSSID точки доступа, -с МАС-адрес выбранного клиента.
Подождите несколько секунд и ARP replay заработает.
Большинство клиентов пытаются восстановить соединение автоматически. Но риск того, что кто-то распознает эту атаку, или, по крайней мере, проявит внимание к тому, что происходит на WLAN, выше, чем при других атаках.
Больше инструментов и информации о них, вы найдете здесь.
Источник