Pull to refresh
-7
0
Sergey @alhel

User

Send message

Заводим GNU/Linux на ARM-плате с нуля (на примере Kali и iMX.6)

Reading time5 min
Views18K
tl;dr: собираю образ Kali Linux для ARM-компьютера, в программе debootstrap, linux и u-boot.



Если вы покупали какой-нибудь не очень популярный одноплатник, то могли столкнуться с отсутствием для него образа любимого дистрибутива. Приблизительно то же самое случилось с планируемым Flipper One. Kali Linux под IMX6 просто нету (я готовлю), поэтому собирать приходится самостоятельно.
Читать дальше →
Total votes 38: ↑34 and ↓4+30
Comments15

Девайсы для пентеста. Обзор хакерских девайсов. Часть 2: RF

Reading time14 min
Views56K


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

За последние годы в клирнет вышло огромное количество пентестерских устройств и постоянно появляются новые. Большинство продаётся в разрозненных магазинах по всему миру (и на алиэкспрессе в том числе), и у пентестеров появилась новая головная боль — выбирать среди десятков похожих устройств нужное или искать очередное «универсальное» решение. Наконец, крутой специалист и консультант по информационной безопасности Yago Hansen просто собрал каталог крутых девайсов, железяк и аксессуаров, доказавших свою эффективность. Сейчас каталог второй версии, в нём 177 наименований из 8 категорий. Предлагаем вашему вниманию его адаптацию в виде цикла из 7 постов (некоторые категории будут совмещены или поделены на две статьи из-за разницы в объёме).
Читать дальше →
Total votes 54: ↑43 and ↓11+32
Comments23

Как я делал себе АВР для генератора

Reading time18 min
Views68K


Несколько лет назад делал себе АВР (автоматический ввод резерва) для работы на даче от генератора. Сейчас многие ИТ-шники переходят на удалёнку, работают с дач, где качество электропитания может оставлять лучшего. Поэтому решил написать о своем опыте самодельного АВР на микроконтроллере ATmega8A. Если тема интересна, добро пожаловать под кат, будет много букв и кода.
Жми сюда
Total votes 36: ↑35 and ↓1+34
Comments154

Советы по выбору усилителя сигнала сотовой связи 2G/3G/4G/5G

Reading time9 min
Views397K

Статья подготовлена с коллегами, занимающимися установкой систем усиления сотовой связи https://t.me/usileniesvyazi.


Статья о вариантах усиления сигнала сотовой связи на различных объектах: дача, офис, склад..., так же краткий обзор популярных предложений на рынке.


Существует два основных варианта усиления сотовой связи:


  1. С помощью антенны, модема и роутера.
  2. С помощью активного усилителя (репитера).

Первый вариант для усиления интернета 3G/4G/5G, не усиливает голосовую связь в обычном для нас формате (но можно пользоваться звонками через мессенджеры: WhatsApp, Viber, Skype, Telegram).


Второй вариант универсальный – усиливает интернет и голосовую связь, но имеет ряд ограничений (о ограничениях ниже).


Читать дальше →
Total votes 60: ↑58 and ↓2+56
Comments165

Xiaomi Gateway 2 можно и не паять

Reading time5 min
Views55K


Привет Хабр! В предыдущих сериях я:

  • Накупил устройств от Xiaomi для умного дома и посредством паяльника заставил их работать в увлекательнной манере без родных серверов через home assistant (ссылка на пост)
  • Завернул web interface от home assistant в electron (ссылка на пост) с поддержкой нотификаций, менюшек, точбара итд (код тут)

Но по мере появления всё новых устройств стало вскрываться странное…

Например, что поддержки Aqara Wireless Relay 2ch (LLKZMK11LM) в интеграции xiaomi_aqara нет, а на открытие Issues в GitHub владельцы кода отвечали, что поддержать это реле невозможно без обновления прошивки устройства. «Что-то тут не так» — подумал я и пошел разбираться по коду, как так вышло. И так увлекся, что запилил интеграцию сначала для работы с реле через xiaomi_miio (ссылка), а затем реализовал поддержку кубика и кнопки Xiaomi для этой интеграции (ссылка), а теперь расскажу зачем и как.
Читать дальше →
Total votes 57: ↑57 and ↓0+57
Comments20

Доработка домофона протоколом MQTT для управления с телефона (версия 2.0)

Reading time4 min
Views76K
Совсем недавно я уже писал про доработку домофона протоколом MQTT.

В комментариях Владимир instalator написал:
Схема явно не продумана. Нет необходимости вообще вмешиваться в схему трубки, достаточно подключить устройство в разрыв линии и эмулировать трубку подбросом нужных сопротивлений.
Я почему-то упустил из виду возможность имитации трубки домофона, ведь такой подход действительно не потребует вмешиваться в схему самой трубки, можно будет перехватывать управление на подходе к ней. Более того, такой подход, при необходимости, позволяет вообще не использовать домофонную трубку. Повесили устройство и открываем дверь с телефона. При желании можно и вовсе развить идею до батарейного питания.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments37

Предсказываем финансовые кризисы с помощью Python

Reading time12 min
Views20K
По состоянию на 9 марта 2020 мы имеем резкое снижение рынков США начиная с исторического максимума в 20-числах февраля 2020, которое на данный момент составило около -16%. Новости пестрят заголовками про надвигающуюся рецессию из-за коронавируса, Россия вышла из сделки Опек+, что ударило по ценам на нефть (-20% за день) и завтра, (10 марта 2020) ожидается снижение рынка ММВБ также на 20%, судя по котировкам наших акций на западных рынках.


Ждет ли нас глобальная рецессия? В этой статье мы попробуем разобраться как можно заранее увидеть сигналы начала рецессии средствами Python.
Читать дальше
Total votes 18: ↑17 and ↓1+16
Comments38

Пряморукий DNS: делаем правильно

Reading time16 min
Views147K
Представляем вашему вниманию очень эмоциональный рассказ Льва Николаева (@maniaque) о том, как надо настраивать DNS и особенно, как делать не надо. Вот прямо после каждого пункта можете мысленно добавлять: «Пожалуйста, не делайте этого!» В своем докладе Лев так и говорит.

Статья будет состоять из трех частей:

1. Как сделать резольвер (unbound, bind)

Резольвер — это та штука, которую вы прописываете в настройках своей операционной системы, чтобы можно было превращать понятные человеку адреса типа ya.ru в непонятное 87.250.250.242.

2. Как держать зоны (PowerDNS)

Если вы уже доросли до этого, расскажем, как держать зону самостоятельно, как это делать хорошо и отказоустойчиво, и как это делать, если у вас несколько сотен доменов.

3. Как взболтать, но не смешивать (PowerDNS + unbound)


Total votes 45: ↑43 and ↓2+41
Comments38

Свой конвертер JSON или ещё немного про ExpressionTrees

Reading time8 min
Views9.9K


Сериализация и десериализация — типичные операции, к которым современный разработчик относится как к тривиальным. Мы общаемся с базами данных, формируем HTTP-запросы, получаем данные через REST API, и часто даже не задумываемся как это работает. Сегодня я предлагаю написать свой сериализатор и десериализатор для JSON, чтобы узнать, что там «под капотом».
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments20

Бесперебойники APC Smart UPS, и как их готовить

Reading time5 min
Views76K
Среди всего многообразия ИБП, наиболее распространенными в серверных начального уровня считаются Smart UPS фирмы APC (ныне – Schneider Electric). Великолепная надежность и низкая цена на вторичном рынке, способствуют тому, что сисадмины, особо не задумываясь, утыкивают стойки данными ИБП и пытаются вытянуть с железок 10-15 летней давности максимум профита банальной заменой аккумуляторов. К сожалению не всегда это дает ожидаемый результат. Попробуем разобраться – что и как надо делать, чтобы ваш UPS работал «как новый».
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments54

Ускоряемся в Entity Framework Core

Reading time15 min
Views65K

Не будь жадиной!


При выборке данных выбирать нужно ровно столько сколько нужно за один раз. Никогда не извлекайте все данные из таблицы!

Неправильно:

using var ctx = new EFCoreTestContext(optionsBuilder.Options);                
// Мы возвращаем колонку ID с сервера, но никогда не используем и это неправильно!
ctx.FederalDistricts.Select(x=> new { x.ID, x.Name, x.ShortName }).ToList();

Правильно:

using var ctx = new EFCoreTestContext(optionsBuilder.Options);  
// Мы не возвращаем колонку ID с сервера и это правильно!
ctx.FederalDistricts.Select(x=> new { x.Name, x.ShortName }).ToList();
ctx.FederalDistricts.Select(x => new MyClass { Name = x.Name, ShortName = x.ShortName }).ToList();

Читать дальше →
Total votes 14: ↑9 and ↓5+4
Comments42

Loki — сбор логов, используя подход Prometheus

Reading time7 min
Views55K
Салют, хабровчане! В преддверии старта нового набора на курс «DevOps практики и инструменты» подготовили для вас перевод интересного материала.





Эта статья — краткое введение в Loki. Проект Loki поддерживается Grafana и направлен на централизованный сбор логов (с серверов или контейнеров).

Основным источником вдохновения для Loki был Prometheus с идеей применения его подходов к управлению логами:

  • использование меток (labels) для хранения данных
  • потребление малого количества ресурсов

Мы еще вернемся к принципам работы Prometheus и приведем несколько примеров его использования в контексте Kubernetes.

Несколько слов о Prometheus


Чтобы полностью понять, как работает Loki, важно сделать шаг назад и немного вспомнить Prometheus.

Одной из отличительных характеристик Prometheus является извлечение метрик из точек сбора (через экспортеры) и сохранение их в TSDB (Time Series Data Base, база данных временных рядов) с добавлением метаданных в виде меток.
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments7

Робот-тележка на ROS. Часть 8. Управляем с телефона-ROS Control, GPS-нода

Reading time4 min
Views5.4K
Продолжение цикла статей.

Посты серии:
8. Управляем с телефона-ROS Control, GPS-нода
7. Локализация робота: gmapping, AMCL, реперные точки на карте помещения
6. Одометрия с энкодеров колес, карта помещения, лидар
5. Работаем в rviz и gazebo: xacro, новые сенсоры.
4. Создаем симуляцию робота, используя редакторы rviz и gazebo.
3. Ускоряемся, меняем камеру, исправляем походку
2. Софт
1. Железо

При построении карт на роботе в рамках ограниченного пространства проблем не возникает. Управляя роботом с клавиатуры со станции-управления или на самом роботе, можно визуально наблюдать его перемещения и вовремя избегать нежелательные препятствия. Ситуация осложняется, если помещений несколько. И здесь есть несколько вариантов как наблюдать за роботом, строящим карту, если он покинул помещение оператора:
— подключить к непосредственно к роботу камеру;
— воспользоваться существующей системой видеонаблюдения вне робота;
— управлять с wi-fi, bluetooth клавиатуры, находясь рядом с роботом
— «поносить робота на руках», чтобы лидар собрал данные;
— поуправлять роботом с телефона.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments0

Мониторинг температур на предприятии

Reading time7 min
Views10K

Пришла задача придумать “что нибудь” для просмотра и контроля за температурами на производстве. Был уже установлен контроллер ПЛК 160 и подключены датчики температур по интерфейсу RS-485 (Википедия).

Контроллер и датчики были установлены до меня.

Была примерная схема подключения:


Использовали CoDeSys (Википедия) для просмотра.

Не было никакой истории по температурам и неизвестно когда была авария.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments62

Обход блокировок РКН с помощью DNSTap и BGP

Reading time10 min
Views58K


Тема довольно изъезжена, знаю. К примеру, есть отличная статья, но там рассматривается только IP-часть блоклиста. Мы же добавим еще и домены.


В связи с тем, что суды и РКН блокируют всё направо и налево, а провайдеры усиленно пытаются не попасть под штрафы, выписанные "Ревизорро" — сопутствующие потери от блокировок довольно велики. Да и среди "правомерно" заблокированных сайтов много полезных (привет, rutracker)


Я живу вне юрисдикции РКН, но на родине остались родители, родственники и друзья. Так что было решено придумать легкий для далеких от ИТ личностей способ обхода блокировок, желательно вовсе без их участия.


В этой заметке я не буду расписывать базовые сетевые вещи по шагам, а опишу общие принципы как можно реализовать эту схему. Так что знания как работает сеть вообще и в Linux в частности — must have.

Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments42

Подборка академических и науч-поп источников

Reading time5 min
Views12K
Академическое знание давно уже обитает в интернете, и как и любая информация, индексируется поисковыми машинами и базами данных. Я говорю о более широкой категории знаний, чем STEM (Science Technology Engineering and Mathematics), основным критерием академических источников является их рецензирование (например, скопусовский журнал Modern Theology является рецензируемым источником, хотя не все согласятся назвать его научным, а вот академическим, пожалуйста). Однако, насколько обычный пользователь интернета представляет себе этот сектор Сети, знает где, что, и как искать, умеет различать надежность различных академических источников, имеет доступ к этим источникам, а также понимает всю сложность и объем академического знания? Мне не встречалось каких-либо обзоров на русском языке, в котором была бы представлена информация, рамочно характеризующая условный «Scholarnet», дающая общее представление, справку, прочтя которую, можно было эффективно академическим знанием пользоваться. Я решил составить обзор источников академической информации, и источников, вторичных к ним (пресс-релизы научных новостей и науч-поп). Сразу оговорюсь, обзор произволен, и не выведен из какой-то точной методологии, но это лучше чем его отсутствие. Описав при этом разные потоки данных, с которыми может взаимодействовать самые разные люди: от самих исследователей до, как принято говорить в аннотациях книг, «широкого круга читателей» (в т.ч. википедистов, журналистов, участников интернет-споров, и т.д.). Также прошу заранее извинить за огрехи оформления, по мере возможности постараюсь исправить то, на что укажет читатель (желательно в ЛС).
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments25

Современные альтернативы PGP

Reading time4 min
Views10K
В наше время шифрование актуально как никода. Общение перемещается в мессенджеры, люди продолжают шифровать электронные сообщения цифровыми сертификатами, но иногда это может потребовать дополнительных усилий, включая обмен ключами через сеть доверия. В таких условиях даже некоторые давние приверженцы криптографии вынуждены отказаться от PGP. Для защищённого обмена сообщениями гораздо удобнее мессенджеры с открытым исходным кодом и надёжным end-to-end шифрованием, такие как Signal (см. руководство от Фонда электронных рубежей).

В то же время PGP по-прежнему используется в «машинных» операциях: для подписи пакетов, шифрования файлов на диске и т. д. Но и здесь PGP постепенно выходит из использования. Например, в сообществе Go предлагают прекратить поддержку пакета OpenPGP, из-за «древнего протокола, который до сих пор вызывает серьёзные уязвимости», а также из-за нерешённой проблемы обмена ключами и, главное, из-за устаревшей реализации самого протокола.
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments6

Эмуляция Amazon web services в JVM процессе. Уклоняемся от Роскомнадзора и ускоряем разработку и тестирование

Reading time8 min
Views6.7K
Зачем же может потребоваться эмулировать инфраструктуру Amazon web services?

Прежде всего это экономия — экономия времени на разработку и отладку, и что не менее важно — экономия денег из бюджета проекта. Понятно что эмулятор не будет на 100% идентичен исходной среде которую пытаемся эмулировать. Но для целей ускорения разработки и автоматизации процесса существующего сходства должно хватать. Наиболее злободневное что случилось в 2018 году с AWS — это блокировки провайдерами IP адресов подсетей AWS в РФ. И эти блокировки затронули нашу инфраструктуру, размещенную в облаке Amazon. Если планируете использовать технологии AWS и размещать проект в этом облаке, то для разработки и тестирования эмуляция с лихвой окупается.



В публикации расскажу, как нам удалось выполнить такой трюк с сервисами S3, SQS, RDS PostgreSQL и Redshift при миграции существующего много лет хранилища данных на AWS.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments10

Знакомство с Neural ODE

Reading time20 min
Views35K

Neural Ordinary Differential Equations


Значительная доля процессов описывается дифференциальными уравнениями, это могут быть эволюция физической системы во времени, медицинское состояние пациента, фундаментальные характеристики фондового рынка и т.д. Данные о таких процессах последовательны и непрерывны по своей природе, в том смысле, что наблюдения — это просто проявления какого-то непрерывно изменяющегося состояния.

Есть также и другой тип последовательных данных, это дискретные данные, например, данные NLP задач. Состояния в таких данных меняется дискретно: от одного символа или слова к другому.

Сейчас оба типа таких последовательных данных обычно обрабатываются рекуррентными сетями, несмотря на то, что они отличны по своей природе, и похоже, требуют различных подходов.

На последней NIPS-конференции была представлена одна очень интересная статья, которая может помочь решить эту проблему. Авторы предлагают подход, который они назвали Нейронные Обыкновенные Дифференциальные Уравнения (Neural ODE).

Здесь я постарался воспроизвести и кратко изложить результаты этой статьи, чтобы сделать знакомство с ее идеей чуть более простым. Мне кажется, что эта новая архитектура вполне может найти место в стандартном инструментарии дата-сайентиста наряду со сверточными и рекуррентными сетями.


Читать дальше →
Total votes 79: ↑76 and ↓3+73
Comments7

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity