Как стать автором
Обновить
0
0
Илья @Areldar

Пользователь

Отправить сообщение

Настройка стартового экрана Vim

Время на прочтение3 мин
Количество просмотров19K

Вступление


Стартовый экран Vim содержит лишь информацию о том, как начать читать документацию по этому редактору и как правильно из него выйти. Ведь, как известно, многие инструменты имеют крутую кривую входа, а Vim к тому же еще и крутую кривую выхода. Те, кто уже научились выходить из Vim, наверняка захотят сделать стартовый экран более информативным и полезным. Чем мы и займемся.
Читать дальше →
Всего голосов 43: ↑42 и ↓1+41
Комментарии17

Iodine: DNS туннель через закрытый WiFi

Время на прочтение9 мин
Количество просмотров104K
Дано: полное отсутствие интернета и виднеющийся WiFi hot-spot, в котором предлагают ввести логин-пароль. Или 3G, в котором нет интернета (потому что закончились деньги), но есть страничка провайдера с предложением дать оных денег.
Задача: получить интернет (легальным?) методом посредством туннелирования его через DNS.
Решение: linux+ iodine + routing + NAT + squid, и всё это под управлением network manager'а.
В статье: описание организации DNS туннеля посредсредством программы iodine, нюансы организации маршрутизации через образовавшийся туннель, самописный помощник для iodine и network manager.

Лирика: Занесла меня судьба на славный остров Кипр, кой славен своим П/пафосом, фраппэ и таким интернетом, после которого российские опсосы начинают выглядеть ангелами во плоти. В частности, попытка подключиться к интернетам закончилась ожиданием, что местный провайдер (Сyta) смилостивится, таки закончит пить оный фраппэ и дотянет до меня поганый ADSL 4Мб/768кбит всего-навсего за €151 (подключение) + €40 в месяц (за 4 мегабита! >_<). Ожидание тянулось и тянулось (как бы уже третья неделя пошла), а рядом был славный PrimeTel, который предлагал за €4/час (172р/час) осчастливить меня интернетом прямо тут и сейчас через едва видный WiFi. Я бы даже и согласился, но видна точка доступа была только на балконе, а в квартире связь была нестабильной и часто терялась. Так что оставалось одно решение (помимо взлома WEP-сети соседей, что уж совсем уголовщина) — это злоупотребить сервисом DNS, который безвозмездно, то есть даром, предоставляет PrimeTel для своих незарегистрировавшихся подлюченцев.

Те, кому интересно «howto» — решение далее по тексту, а пока что начнём с теории процесса.
Читать дальше →
Всего голосов 136: ↑134 и ↓2+132
Комментарии75

Универсальная метасистема на C++

Время на прочтение8 мин
Количество просмотров16K
Привет, Хабрхабр!

Хочу поделиться своим опытом разработки метасистемы для C++ и встраивания различных скриптовых языков.
Сравнительно недавно начал писать свой игровой движок. Разумеется, как и в любом хорошем движке встал вопрос о встраивании скриптового языка, а лучше даже нескольких. Безусловно, для встраивания конкретного языка уже есть достаточно инструментов (например, luabind для Lua, boost.python для Python), и свой велосипед изобретать не хотелось.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии24

Примеры поиска в Shodan

Время на прочтение3 мин
Количество просмотров304K
Эта статья предназначена для тех, кто либо вовсе не слышал о Shodan, либо слышал, но так и не понял, как им пользоваться. Подобных материалов на русском языке я не нашел, часть информации почерпнул тут, остальное добавил из личного опыта. Я приведу примеры использования «самого страшного поисковика интернета» по имени Shodan. Сервис разработан web-девелопером Джоном Мазерли (John Matherly) и ориентирован, прежде всего, на поиск устройств подключенных к интернету.

Shodan опрашивает порты устройств и на основе полученных ответных баннеров делает выводы об устройствах и сервисах. Поисковик платный, годовая подписка обойдется в 20$, однако, попробовать его в действии можно и за так: после бесплатной регистрации доступно 50 результатов поиска. Историю создания и биографию автора найдете сами, если будет интересно, а пока перейдем к делу:
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии9

Сетевое хранилище данных «WD My Book Live» и его доработка

Время на прочтение7 мин
Количество просмотров51K
Наверняка большинство из нас любит гаджеты не только за их функционал, но и за то, что их стандартные возможности можно в той или иной степени расширить. Когда есть возможность заточить устройство именно под свои актуальные нужды — ты покупаешь его, и с предвкушением засучить рукава прикидываешь спектр дальнейших доработок.

К этому разряду и относится железка, о которой тут ранее уже было написано, но без некоторых нюансов использования и потребностей пользователя. Теперь, имея субъективный опыт — хочется с ним поделиться с хабрасообществом, восполнив этот небольшой пробел. Данный пост стоит рассматривать лишь как дополнение к уже существующим обзорам и, возможно, как некоторое руководство к опциональной модернизации:

image
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии28

Как заработать денег на инди игре

Время на прочтение14 мин
Количество просмотров107K
Перед тем как начать писать этот доклад я прочел больше 115 постмортемов и историй инди разработчиков. Что я понял? Во-первых, что мой английский отстой. Во-вторых что инди очень разные. Очень. И чтобы каталогизировать их понадобилась куча времени.

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


Читать дальше →
Всего голосов 86: ↑79 и ↓7+72
Комментарии5

Variadic templates. Tuples, unpacking and more

Время на прочтение7 мин
Количество просмотров94K
В этом посте я поговорю о шаблонах с переменным числом параметров. В качестве примера будет приведена простейшая реализация класса tuple. Также я расскажу о распаковке tuple'а и подстановки, хранимых там значений в качестве аргументов функции. И напоследок приведу пример использования вышеописанных техник для реализации отложенного выполнения функции, которое может быть использовано, например, в качестве аналога finally блоков в других языках.
Читать дальше →
Всего голосов 53: ↑51 и ↓2+49
Комментарии7

Wi-Fi сети: проникновение и защита. 3) WPA. OpenCL/CUDA. Статистика подбора

Время на прочтение24 мин
Количество просмотров362K


Баста карапузики, кончилися танцы.

В предыдущей части мы детально рассмотрели «читерские» приёмы обхода «защит» (скрытие SSID, MAC-фильтрация) и защит (WPS) беспроводных сетей. И хотя работает это в половине случаев, а иногда и чаще — когда-то игры заканчиваются и приходится браться за тяжёлую артиллерию. Вот тут-то между вашей личной жизнью и взломщиком и оказывается самое слабое звено: пароль от WPA-сети.

В статье будет показан перехват рукопожатия клиент-точка доступа, перебор паролей как с помощью ЦП, так и ГП, а кроме этого — сводная статистика по скоростям на обычных одиночных системах, кластерах EC2 и данные по разным типам современных GPU. Почти все они подкреплены моими собственным опытом.

К концу статьи вы поймёте, почему ленивый 20-значный пароль из букв a-z на пару солнц более стоек, чем зубодробительный 8-значный, даже использующий все 256 значений диапазона.

Оглавление:
1) Матчасть
2) Kali. Скрытие SSID. MAC-фильтрация. WPS
3) WPA. OpenCL/CUDA. Статистика подбора
По традиции, под катом ещё 15 страниц
Всего голосов 168: ↑167 и ↓1+166
Комментарии57

Как честно работать фрилансеру в Беларуси?

Время на прочтение2 мин
Количество просмотров39K
Всвязи с приходом PayPal в Беларусь, появился ещё один способ привязаться к международному рынку и выводить заработанные на фрилансе деньги. Разумеется, есть желание работать честно и платить налоги, дабы избежать всяческих трудностей с законом. Однако, после недолгого обсуждения со знакомыми айтишниками, я понял, что полной картиной не обладает ни один из них. Кто-то говорит, что нужно заключать акты на каждый факт работы и чуть ли не высылать чеки по почте заказчикам из-за границы, кто-то говорит, что это называется «доход из-за рубежа» и это вообще отдельный компот, кто-то просто забил и выводит всё вчёрную.

Я сам, к сожалению, так же не обладаю достаточными совокупными знаниями по теме, так что предлагаю белорусскому хабрасообществу поделиться знаниями друг с другом. Думаю, эта проблема близка не мне одному, так что прошу высказывать любой свой фрилансерский опыт в комментариях (чем больше конкретики, тем лучше).

Читать дальше →
Всего голосов 13: ↑9 и ↓4+5
Комментарии11

VIM как IDE для разработки на Python

Время на прочтение10 мин
Количество просмотров160K
image
Данная статья будет посвящена настройке vim, в которой я поделюсь своим «скромным» пониманием того, каким должен быть текстовый редактор, чтобы в нем было удобно/приятно/легко (нужное подчеркнуть) писать код также, как это сейчас возможно во всевозможных IDE типа PyCharm, SublimeText и т.п.
Весь процесс постараюсь описать как можно более подробно, чтобы вопросов по мере чтения для начинающих осваивать vim возникало как можно меньше.
Читать дальше →
Всего голосов 70: ↑58 и ↓12+46
Комментарии47

Асинхронные задачи в С++11

Время на прочтение5 мин
Количество просмотров34K
Доброго времени суток, хотел бы поделиться с сообществом своей небольшой библиотектой.
Я программирую на С/C++, и, к сожалению, в рабочих проектах не могу использовать стандарт C++11. Но вот пришли майские праздники, появилось свободное время и я решил поэкспериментировать и по-изучать этот запретный плод. Самое лучшее для изучения чего либо — это практика. Чтение статей о языке программирования научит максимум лучше читать, поэтому я решил написать маленькую библиотеку для асинхронного выполнения функций.
Сразу оговорюсь, что я знаю, что существует std::future, std::async и тп. Мне было интересно реализовать самому нечто подобное и окунуться в мир лямбда-функций, потоков и мьютексов с головой. Праздники — отличное время для велопрогулок.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии21

Lock-free структуры данных. Очередной трактат

Время на прочтение16 мин
Количество просмотров53K

Как вы, наверное, догадались, эта статья посвящена lock-free очередям.

Очереди бывают разные. Они могут различаться по числу писателей (producer) и читателей (consumer) – single/multi producer — single/multi consumer, 4 варианта, — они могут быть ограниченными (bounded, на основе предраспределенного буфера) и неограниченными, на основе списка (unbounded), с поддержкой приоритетов или без, lock-free, wait-free или lock-based, со строгим соблюдением FIFO (fair) и не очень (unfair) и т.д. Подробно типы очередей описаны в этой и этой статьях Дмитрия Вьюкова. Чем более специализированы требования к очереди, тем, как правило, более эффективным оказывается её алгоритм. В данной статье я рассмотрю самый общий вариант очередей — multi-producer/multi-consumer unbounded concurrent queue без поддержки приоритетов.
Читать дальше →
Всего голосов 74: ↑71 и ↓3+68
Комментарии8

Использование Vim в качестве C/C++ IDE

Время на прочтение4 мин
Количество просмотров117K
Привет, Хабрахабр. Меня зовут Алексей и я занимаюсь тем, что разрабатываю встраиваемые операционные системы.

Сегодня я хочу рассказать, как я использую Vim в качестве IDE для C/C++ проектов.

Несмотря на то, что я использую Vim для C/C++, многие из рекоммендаций довольно общие и могут использоваться в любом проекте.
Читать дальше →
Всего голосов 37: ↑32 и ↓5+27
Комментарии16

Фильтры отображения для сетевых анализаторов (Wireshark, Paketyzer)

Время на прочтение5 мин
Количество просмотров35K

1. Фильтры отображения


Анализаторы трафика являются полезным и эффективным инструментом в жизни администратора сети, они позволяют «увидеть» то что на самом деле передается в сети, чем упрощают диагностику разнообразных проблем или же изучение принципов работы тех или иных протоколов и технологий.
Однако в сети зачастую передается достаточно много разнообразных блоков данных, и если заставить вывести на экран все, что проходит через сетевой интерфейс, выделить то, что действительно необходимо, бывает проблематично.
Для решения этой проблемы в анализаторах трафика реализованы фильтры, которые разделены на два типа: фильтры захвата и фильтры отображения. В прошлый раз мы рассматривали фильтры захвата. Сегодня пойдет речь о втором типе фильтров – о фильтрах отображения.
Фильтры отображения, это разновидность фильтров, позволяющая отобразить только те кадры, которые необходимы в данный момент (принадлежат определенному протоколу и/или узлу), временно скрыв все остальные.
Правила написания фильтров отображения отличаются от правил написания фильтров захвата. Отличая не такие уж большие, но как правило достаточные для того что бы правило фильтра захвата без каких-либо изменений не работало будучи примененным как фильтр отображения.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии1

Фильтры захвата для сетевых анализаторов (tcpdump, Wireshark, Paketyzer)

Время на прочтение18 мин
Количество просмотров204K

1. Фильтры захвата


Анализаторы трафика являются полезным и эффективным инструментом в жизни администратора сети, они позволяют «увидеть» то что на самом деле передается в сети, чем упрощают диагностику разнообразных проблем или же изучение принципов работы тех или иных протоколов и технологий.
Однако в сети зачастую передается достаточно много разнообразных блоков данных, и если заставить вывести на экран все, что проходит через сетевой интерфейс, выделить то, что действительно необходимо, бывает проблематично.
Для решения этой проблемы в анализаторах трафика реализованы фильтры, которые разделены на два типа: фильтры захвата и фильтры отображения. Сегодня пойдет речь о первом типе фильтров – о фильтрах захвата.
Фильтры захвата, это разновидность фильтров, позволяющая ограничить захват кадров только теми, которые необходимы для анализа, уменьшив, таким образом, нагрузку на вычислительные ресурсы компьютера, а также упростив процесс анализа трафика.
Читать дальше →
Всего голосов 73: ↑68 и ↓5+63
Комментарии20

Как работает Chromecast?

Время на прочтение3 мин
Количество просмотров35K
Введение

Загорелся я недавно выбором беспроводного адаптера для передачи видео. Смотрел китайские адаптеры с Miracast/DLNA и, естественно, не обошел меня стороной и Chromecast. Если с такими технологиями, как WiDi, Miracast и донглами вроде AIRTAME все понятно (не требуется поддержка со стороны софта, видится системой как еще один монитор), как устроен Chromecast внутри я не был до конца уверен, как и не был уверен, подойдет ли он мне. Однако, я нашел open-source проект эмулятора Chromecast LeapCast, и решил его испробовать в работе, а также изучить протокол.

Установка и использование

Установка на ArchLinux довольно простая — достаточно установить пакет leapcast-git из AUR. Необходимо еще установить Google Chrome или Chromium, т.к. его нет в зависимостях.

Запускаем программу и видим следующую картину:
Скрытый текст
INFO:root:Starting SSDP server
INFO:root:Starting LEAP server
INFO:root:Loading Config-JSON from Google-Server
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): clients3.google.com
INFO:root:Parsing Config-JSON
INFO:root:Added edaded98-5119-4c8a-afc1-de722da03562 app
INFO:root:Added PlayMovies app
INFO:root:Added 00000000-0000-0000-0000-000000000000 app
INFO:root:Added 1812335e-441c-4e1e-a61a-312ca1ead90e app
INFO:root:Added 06ee44ee-e7e3-4249-83b6-f5d0b6f07f34 app
INFO:root:Added 2be788b9-b7e0-4743-9069-ea876d97ac20 app
INFO:root:Added GoogleSantaTracker app
INFO:root:Added 06ee44ee-e7e3-4249-83b6-f5d0b6f07f34_1 app
INFO:root:Added Pandora_App app
INFO:root:Added aa35235e-a960-4402-a87e-807ae8b2ac79 app
INFO:root:Added YouTube app
INFO:root:Added HBO_App app
INFO:root:Added TicTacToe app
INFO:root:Added Revision3_App app
INFO:root:Added Songza_App app
INFO:root:Added a7f3283b-8034-4506-83e8-4e79ab1ad794_2 app
WARNING:root:Didn't add Netflix because it has no URL!
INFO:root:Added GoogleMusic app
INFO:root:Added 18a8aeaa-8e3d-4c24-b05d-da68394a3476_1 app
INFO:root:Added Post_TV_App app
INFO:root:Added ChromeCast app
INFO:root:Added Hulu_Plus app
INFO:root:Added GoogleCastSampleApp app
INFO:root:Added GoogleCastPlayer app
INFO:root:Added Fling app

Открываем любое приложение на андроид-смартфоне, поддерживающее Chromecast (например, YouTube), и можем подключиться к Leapcast:
image
В это же время в логе:
Скрытый текст
INFO:tornado.access:200 GET /ssdp/device-desc.xml (192.168.0.105) 2.22ms
INFO:tornado.access:200 GET /apps/YouTube (192.168.0.105) 3.18ms
INFO:tornado.access:200 GET /apps/YouTube (192.168.0.105) 3.67ms
INFO:tornado.access:201 POST /apps/YouTube (192.168.0.105) 5.29ms
INFO:root:Channel for app set to <leapcast.services.websocket.ServiceChannel object at 0x195f690>

Ого, работает! Как же оно работает?
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии17

Унификация ассоциативных STL-контейнеров шаблонным параметром — компаратором

Время на прочтение6 мин
Количество просмотров9.4K
Рассмотрим код:
std::multiset<int> set0, set1;
for (auto it = set0.begin(); it != set0.end(); ++it) {
	// длинная
	// обработка
	// *it
}
for (auto it = set1.rbegin(); it != set1.rend(); ++it) {
	// длинная
	// обработка
	// *it
}

Обработка в телах циклов — одинаковая, иными словами требуется одинаково обработать элементы двух мультимножеств: первого — в прямом порядке, второго — в обратном.
Хотите объединить циклы?
Всего голосов 19: ↑13 и ↓6+7
Комментарии14

SELinux – описание и особенности работы с системой. Часть 1

Время на прочтение11 мин
Количество просмотров278K


О SELinux на Хабре уже писали, однако, не так много опубликовано подробных мануалов по данной системе. Сегодня мы публикуем именно такой, подробный мануал по SELinux, начиная от информации по системе, и заканчивая гибкой настройкой политик.
Для того, чтобы не превращать пост в «простыню», сложную для понимания, мы решили разделить мануал на две части. Первая будет рассказывать о самой системе, и некоторых ее особенностях. Вторая – о настройке политик. Сейчас публикуем первую часть, чуть позже будет опубликована и вторая часть.

Читать дальше →
Всего голосов 76: ↑74 и ↓2+72
Комментарии13

Импорт KeePass БД паролей в KWallet

Время на прочтение3 мин
Количество просмотров13K
Всем привет.

На предприятии где а работаю очень любат всякие штучки для «безопасности» и к сожалению все по винду. Но вот незадача, у меня стоит линукс а мне прислали пароли в БД для KeePass (заметка: не хочу ставить mono приложение KeePass под линукс). Windows виртуальная машина стоит, но держать ее открытой всегда не охота, всетаки память отъедает которой и так не хватает. Вот тогда-то у меня и родилась идея перенести все пароли из этой базы данных для KeePass в мой KWallet.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии11

Запуск Aircrack-ng и Reaver на Android

Время на прочтение3 мин
Количество просмотров342K
Когда нечего делать или как я устанавливал aircrack и reaver на android.
Я подумал а не попробовать ли мне установить kali-linux на android через linux installer, но затем передумал и решил просто установить reaver и aircrack на телефон. Но тут возник вопрос как перевести WiFi в режим монитора.

image
Читать дальше →
Всего голосов 61: ↑55 и ↓6+49
Комментарии27

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность