Как стать автором
Обновить
4
0
Евгений @skey

Разработчик

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

Опыт маскировки OpenVPN-туннеля с помощью obfsproxy

Время на прочтение9 мин
Количество просмотров104K
Примечание: приведённая в статье информация во многом устарела, и предназначена скорее для общего ознакомления. Сейчас можно попробовать использовать утилиты вроде ptproxy для создания туннеля с помощью любого актуального pluggable transport для Tor.

Преамбула


В связи с наметившимися тенденциями решил я обфусцировать свой скромный OpenVPN-туннель, просто чтобы набить руку — мало ли пригодится…

Дано: дешевая VPS с белым IP, работающая под Ubuntu Trusty Server Edition и служащая OpenVPN сервером.
Требуется: по-возможности скрыть OpenVPN туннель, желательно без изобретения велосипедов.
Ну и что дальше?
Всего голосов 32: ↑32 и ↓0+32
Комментарии37

VPN везде и всюду: IPsec без L2TP со strongSwan

Время на прочтение10 мин
Количество просмотров321K
image
достаточно сильный лебедь

Если вы когда-либо искали VPN, который будет работать на десктопах, мобильных устройствах и роутерах без установки дополнительного ПО и перепрошивки роутера, вы, вероятно, выбирали между PPTP и L2TP+IPsec. У протокола PPTP имеются проблемы с безопасностью и прохождением через брандмауеры и NAT, так что в 2015 году его уже использовать не стоит, а использование L2TP излишне, т.к. L2 VPN, по моему мнению, для обычного удаленного доступа не нужен практически никогда.

Удивительно, что в интернете не так-то просто можно найти информацию о настройке чего-то помимо L2TP+IPsec в транспортном режиме, учитывая, что это обширный стек протоколов, который можно конфигурировать буквально как душе угодно, поэтому я попытаюсь устранить такое несовершенство мира.

Небольшое введение в мир IPsec

Вообще говоря, не совсем правильно называть IPsec VPN. IPsec не предназначен для построения «виртуальных частных сетей», а создан для шифрования или защиты от подмены передаваемых по IP данных. Это специальный слой поверх IP, который, в зависимости от режима и настроек, работает по-разному. В отличие от привычного VPN, который создает новый интерфейс в системе, на который вы, как это чаще всего бывает, назначаете IP-подсеть из диапазона частных адресов (т.е. создаете новый сетевой сегмент), и через который маршрутизируется трафик в зашифрованном виде, IPsec просто шифрует трафик магическим образом между «внешними» интерфейсами сервера и клиента.
Читать дальше →
Всего голосов 50: ↑49 и ↓1+48
Комментарии166

Не тратьте своё время на дерьмовую работу в стартапе

Время на прочтение21 мин
Количество просмотров73K
Под катом перевод огромной статьи, написанной Майклом Чёрчем и посвящённой стартапам. Статья вызвала необыкновенное бурление… мнений, скажем так, на разных сайтах и агрегаторах, поэтому я решил её перевести на русский и посмотреть на реакцию. Текст ОЧЕНЬ длинный, но также и очень интересный. И несколько пояснений перед чтением: в статье речь идёт об инженере в стартапе, именно с этой позиции всё рассматривать; некоторые финансово-экономические термины, возможно, не очень адекватно удались и я буду рад любым конструктивным поправкам.

То, о чём я хочу рассказать, справедливо для июля 2012 г. 15 лет назад необязательно было так же, и не факт, что будет справедливо через год. Но в данный момент это абсолютно верно для большинства людей в достаточной степени, так что я считаю обязанным высказаться. Нынешний мир ИК-стартапов (ИК=инвестиционный капитал / venture capital) — я его нежно называю ИК-стан — является, мягко говоря, тотально напрасной тратой времени для большинства вовлечённых людей.
Читать дальше →
Всего голосов 238: ↑221 и ↓17+204
Комментарии77

О глупости умных людей

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


Для затравки — простая математическая загадка. Бейсбольный мяч и бита вместе стоят 1 доллар и 10 центов. При этом бита стоит на 1 доллар дороже мяча. Сколько стоит мяч?
Читать дальше →
Всего голосов 179: ↑155 и ↓24+131
Комментарии347

Управляем шаговым электродвигателем с помощью драйвера

Время на прочтение4 мин
Количество просмотров12K
Что такое шаговый электродвигатель?

Я его буду называть ниже просто “мотор”, для краткости.


Расскажу кратко, более подробно про него можно прочитать в википедии или тут.
Самый простой вариант:
Есть четыре электромагнитные катушки A, B, A’, B’. Если по ним пропускать ток — они становятся магнитами (катушки А и В активны при “прямом” направлении тока, A’ и B’ — при “обратном”).
Есть колесо с зубчиками (например, зубчик один — стрелка).
Зубчик притягивается к той катушке, по которой пропускают ток. Таким образом, если последовательно включать ток в катушках, то стрелка будет совершать вращательное движение.
Чтобы сделать это движение более плавным, можно добавлять зубчики, можно катушки, а можно и то и другое — принцип остаётся тот же, меняется только тяга и угол поворота за один вкл/выкл.
Читать дальше →
Всего голосов 49: ↑48 и ↓1+47
Комментарии30

Интернет через ICMP

Время на прочтение1 мин
Количество просмотров29K
Здравствуйте! Вы забыли заплатить за интернет, провайдер заблокировал TCP и UDP, а про ICMP забыл, и любой ресурс пингуется? Тогда этот топик для вас!

image
Читать дальше →
Всего голосов 193: ↑181 и ↓12+169
Комментарии83

Открытые прошивки для DSLR Canon

Время на прочтение3 мин
Количество просмотров89K
Уже давно фотоаппараты являются, по сути, специализированными компьютерами. Например, в устройствах фирмы Canon используется процессор ARM и операционная система DRYOS. Естественно, у энтузиастов возникла идея модификации программной части этих фотоаппаратов. Хочу обрадовать обладателей устройств фирмы Canon серий 1100D, 500D, 550D, 600D, 50D, 60D, 5D Mark II. Теперь вы можете прошить свой аппарат, улучшив его функциональность. Получить устройство, которое обладает возможностями, включаемыми только в дорогую профессиональную фото и видеотехнику. А может быть, вооружившись ARM-Toolchain, разработать новые функции.
Читать дальше →
Всего голосов 74: ↑73 и ↓1+72
Комментарии88

Бельгийцы победили в конкурсе на лучшее видео с «умными» роботами

Время на прочтение1 мин
Количество просмотров951


В большей части новостей о роботах мы читаем о японцах и японских же роботах. Японцы по праву считаются одной из наиболее технологичных наций, а роботы здесь создаются самые разнообразные, для самых разных целей. Но на этот раз на конференции по искусственному интеллекту, проходившей в Сан-Франциско, засветились не японцы, а бельгийцы. Разработчики из Бельгии смогли создать систему из нескольких роботов, способную выполнять довольно сложные задачи. Например, забрать определенную книгу из определенного места.

Читать дальше →
Всего голосов 61: ↑59 и ↓2+57
Комментарии38

Ричард Фейнман: удовольствие делать открытия

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


Первая часть программы Horizon (BBC, 1981) с Ричардом Фейнманом. О красоте, об отце, о названиях и именах, об алгебре, о наблюдениях и униформе. Это интервью во многом пересекается с книгой "Вы, конечно, шутите, мистер Фейнман", поэтому по большей части монолог касается жизни ученого, его взгляде на жизнь и тому, как такой взгляд развился и кто на него повлиял.
Читать дальше →
Всего голосов 177: ↑170 и ↓7+163
Комментарии30

Adobe Profiler Fail

Время на прочтение3 мин
Количество просмотров19K
Доброго вечера всем хабравчанам. Я долго думал как назвать данный пост и решил назвать первым, что придет на ум. В принципе данное название почти полностью описывает то, о чем хочу рассказать. А расскажу я о том, как можно легко и просто вносить изменения в абсолютно любой просматриваемый вами swf файл без декомпиляции.


И так начнем. Нашим подопытным будет плеер YouTube.

Читать дальше →
Всего голосов 117: ↑106 и ↓11+95
Комментарии106

Обход встроенной защиты PIC-микроконтроллеров

Время на прочтение5 мин
Количество просмотров101K
В комментариях к недавнему топику о вскрытии процессора была упомянута статья о том, как удалось обойти встроенную защиту от чтения прошивки микроконтроллера (т.н. Fuse-биты). Мне она понравилась, ниже — перевод с некоторыми дополнениями и пояснениями.

Взлом МК PIC18F1320


Я подумал, что было бы неплохо попробовать что-нибудь из тех техник взлома микроконтроллеров семейства PIC, о которых я слышал. Обычно PIC-микроконтроллеры имеют некоторое количество так называемых fuse-бит, которые служат для защиты от чтения или модификации каких-то частей памяти. Однако бывают случаи, когда возникает необходимость прочитать содержимое уже запрограммированного и защищенного контроллера (на законных основаниях). Типичный пример — потеря компанией технической документации на устройство, либо увольнение тех людей, которые изначально разрабатывали защищенную прошивку микроконтроллера. Такое так же часто случается, когда компания хочет обновить линейку своих продуктов.
Ну, сами понимаете, есть еще некоторые ситуации, когда такие навыки могут пригодиться.


Читать дальше →
Всего голосов 60: ↑58 и ↓2+56
Комментарии44

Оптимизируем LIMIT offset

Время на прочтение2 мин
Количество просмотров82K
Везде, где используется LIMIT offset для больших таблиц, рано или поздно начинаются тормоза. Запросы вида

SELECT * FROM test_table ORDER BY id LIMIT 100000, 30

могут выполнятся очень долго. Например, в моем случае, на одном из сайтов кол-во комментариев перевалило за 200к и постраничная навигация по комментариям начала ощутимо тормозить, а в mysql-slow.log все чаще стали попадать запросы с временем выполнения 3-5сек.
Читать дальше →
Всего голосов 77: ↑61 и ↓16+45
Комментарии30

Сетевое программирование для разработчиков игр. Часть 3: виртуальные соединения поверх UDP

Время на прочтение9 мин
Количество просмотров40K
От переводчика: Это перевод третьей статьи из цикла «Networking for game programmers». Мне очень нравится весь цикл статей, плюс всегда хотелось попробовать себя в качестве переводчика. Возможно, опытным разработчикам статья покажется слишком очевидной, но, как мне кажется, польза от нее в любом случае будет.
Первая статья — http://habrahabr.ru/post/209144/
Вторая статья — http://habrahabr.ru/post/209524/



Виртуальные соединения поверх UDP


Введение

Привет. Меня зовут Гленн Фидлер и я приветствую вас в третьей статье из цикла “Сетевое программирование для разработчиков игр”.

В предыдущей статье мы разобрались, как отправлять и принимать пакеты, используя протокол UDP.

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


В качестве первого шага к реализации системы соединений, мы рассмотрим наиболее простой случай: создание виртуального соединения между двумя компьютерами.

Но сначала, нам нужно более плотно разобраться, как работает интернет.
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии5

Как запустить программу без операционной системы: часть 5. Обращение к BIOS из ОС

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

В самой первой части нашей серии «Как запустить программу без операционной системы» мы остановились на том, что загрузили ядро с помощью GRUB’а и распечатали на экран классический “Hello World!”. Теперь мы покажем, как можно использовать прерывания BIOS’а в ядре ОС. А для начала — рассмотрим, что же такое прерывания BIOS’а, для чего они используются, и почему возникают проблемы с их вызовом.
Читать дальше →
Всего голосов 71: ↑68 и ↓3+65
Комментарии4

Изобретаем JPEG

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

Вы правильно поняли из названия, что это не совсем обычное описание алгоритма JPEG (формат файла я подробно описывал в статье «Декодирование JPEG для чайников»). В первую очередь, выбранный способ подачи материала предполагает, что мы ничего не знаем не только о JPEG, но и о преобразовании Фурье, и кодировании Хаффмана. И вообще, мало что помним из лекций. Просто взяли картинку и стали думать как же ее можно сжать. Поэтому я попытался доступно выразить только суть, но при которой у читателя будет выработано достаточно глубокое и, главное, интуитивное понимание алгоритма. Формулы и математические выкладки — по самому минимуму, только те, которые важны для понимания происходящего.

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

Если есть желание, то предлагаю пройти те же этапы самостоятельно параллельно со статьей. Проверить, насколько приведенные рассуждения подходят для разных изображений, попытаться внести свои модификации в алгоритм. Это очень интересно. В качестве инструмента могу порекомендовать замечательную связку Python + NumPy + Matplotlib + PIL(Pillow). Почти вся моя работа (в т. ч. графики и анимация), была произведена с помощью них.

Внимание, трафик! Много иллюстраций, графиков и анимаций (~ 10Мб). По иронии судьбы, в статье про JPEG всего 2 изображения с этим форматом из полусотни.
Читать дальше →
Всего голосов 356: ↑354 и ↓2+352
Комментарии70

MPEG-DASH в nginx-rtmp-module: живое видео в браузере без флеша

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

Что такое MPEG-DASH


MPEG-DASH — технология нового поколения, позволяющая вещать адаптивный видео-поток. Данные разбиваются на фрагменты и передаются клиенту по протоколу HTTP. Это позволяет надежно передавать видео через существующую HTTP-инфрастуктуру, преодолевать прокси-сервера, а также безболезненно переносить проблемы с сетью, изменения сетевых адресов итд.
DASH — Dynamic Adaptive Streaming over HTTP. Стандарт DASH ISO/IEC 23009-1:2012 был разработан группой MPEG в 2011 году
Технология MPEG-DASH в целом аналогична другой известной технологии HLS (HTTP Live Streaming), разработанной компанией Apple и широко используемой на мобильных устройствах с iOS и Android. Поток представлен в виде небольших по длительности фрагментов и плейлиста (манифеста), содержащего метаданные потока и ссылки на фрагменты.

Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии25

SSH-туннели — пробрасываем порт

Время на прочтение2 мин
Количество просмотров429K
Не всегда есть возможность, да и не всегда надо, строить полноценный туннель с интерфейсной парой адресов. Иногда нам нужно лишь «прокинуть» вполне определённые порты.

Тут важно понимать, что туннель можно организовать как изнутри сети, к ресурсам которой вы хотите получить доступ, на внешний ssh-сервер. Также можно организовать туннель с хоста в Интернете на пограничный ssh-сервер сети, чтобы получить доступ к внутренним ресурсам.
Читать дальше →
Всего голосов 93: ↑68 и ↓25+43
Комментарии80

Декодируем GSM с RTL-SDR за 30$

Время на прочтение4 мин
Количество просмотров125K
Доброе время суток, Хабр!

Мы живем в удивительное предсингулярное время. Технологии развиваются стремительно. То, что несколько лет назад казалось фантастикой, сегодня становится реальностью. Удивительно, но сейчас при наличии компьютера с простым ТВ-тюнером можно принимать координаты самолетов и кораблей, спутниковые снимки, данные метеозондов.
Я не являюсь специалистом в области информационной безопасности, все операции были проделаны исключительно в целях обучения. В данном тексте речь пойдет о том, как произвести декодирование (не дешифрование) GSM-трафика.
Читать дальше →
Всего голосов 49: ↑43 и ↓6+37
Комментарии20

Linux Kernel EFI Boot Stub или «Сам себе загрузчик»

Время на прочтение10 мин
Количество просмотров77K
UEFI Tux Logo

Введение


Прочитав недавнюю статью Загрузка ОС Linux без загрузчика, понял две вещи: многим интересна «новинка», датируемая аж 2011 годом; автор не описал самого основного, без чего, собственно, и работать ничего не будет в некоторых случаях. Также была ещё одна статья, но либо она уже устарела, либо там опять таки много лишнего и недосказанного одновременно.

А конкретно, был упущен основной момент — сборочная опция ядра CONFIG_EFI_STUB. Так как в последних версиях U(lu/ku/edu/*etc*)buntu эта опция по умолчанию уже включена, никаких подозрений у автора не появилось.
Насколько мне известно, на текущий момент она включена в дистрибутивах указанных версий и выше: Arch Linux, Fedora 17, OpenSUSE 12.2 и Ubuntu 12.10. В комментах ещё упомянули, что Debian с ядром 2.6 умеет, но это не более, чем бэкпорт с последних версий. На этих дистрибутивах пересобирать вообще ничего не нужно! А ведь на других CONFIG_EFI_STUB, скорее всего, либо вообще отсутствует, т. к. опция доступна только с ядра версии 3.3.0 и выше, либо выключена по умолчанию. Соответственно, всё, описанное ниже, справедливо для ядра, собранного с опцией CONFIG_EFI_STUB.

Итак, что же такое Linux Kernel EFI Boot Stub?


Общая информация

А ни что иное, как… «exe-файл»!
Читать дальше →
Всего голосов 71: ↑69 и ↓2+67
Комментарии23

Raspberry Pi: измеряем влажность и температуру с помощью DHT11/DHT22

Время на прочтение5 мин
Количество просмотров220K
На Хабре уже публиковалась статья о подключении датчика температуры DS18B20 к Raspberry Pi. В нашем новом проекте, который строится на Raspberry Pi, понадобилось измерять не только температуру, но и влажность. Я расскажу, как подключить недорогие китайские датчики влажности к Raspberry Pi. Просмотрев несколько вариантов различных датчиков, остановился на двух наиболее массовых на рынке датчиков. Это DHT11, который привлек своей ценой $3 (с доставкой) и датчик DHT22 (около $10 с доставкой).
Читать дальше →
Всего голосов 34: ↑27 и ↓7+20
Комментарии33

Информация

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