Pull to refresh
24
0
Эл Кохолик @JerleShannara

Пользователь компьютера

Send message

DN42 — большая BGP-песочница

Reading time16 min
Views8.1K

DN42 — это сеть из VPN‑туннелей с маршрутизацией по протоколу BGP. Участники устанавливают между соединения, используя различные туннельные технологии (Wireguard, OpenVPN, GRE, Tinc, ZeroTier и другие).

Зачем она нужна?

1. Можно поэкспериментировать и изучить технологии маршрутизации.

Основная польза от DN42 — это возможность получить опыт настройки туннелей и BGP‑соединений. Именно так работает маршрутизация в Интернет.

2. Можно узнать как устроен Интернет и почувствовать себя провайдером.

В DN42 есть регистр (registry), который очень схож с той же RIPE Database, набор внутренних сервисов и свой корневой домен.dn42 и корневые DNS‑сервера.

Интересно? Добро пожаловать под кат.

Дайте крудошлепа

Level of difficultyMedium
Reading time7 min
Views115K

Я устроился в небольшую компанию, которая сделал круд‑приложуху на 20 таблиц типа «заметки» и активно ее продавала госорганам за невменяемый бабос.

У нас был 3(три) Т‑Р-И статуса юзера. Anonym → Logined → Phone_Confirmed. Молодой талант до меня увидел в этом граф, и написал класс на 200+ строк, реализующий алгоритм Флойда‑Уоршелла, прикрутил стейт‑машину и не найдя интересных задач, c блеском прошел собес в Яндекс и свалил.

Меня наняли сеньором, и я каюсь ничерта не понял, алгоритм прекрасно работал на первой ступени, на второй давал сбои, тоскливо погуглил этот алгоритм, стер все к черту и написал: if(status==Logined & phone!=null){status=Phone_Confirmed}.

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

Это было вступление.

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

Потому что, только я могу решить задачку, которую вы уже 10 лет решить не можете, когда прилетает пуш‑уведомление или смс и в твоем всплывающем окне написано:

«Ваш шестизначный пароль доступа в наше приложение: 123...»

Не согласен! ...

Патентование алгоритмов компьютерных программ

Reading time10 min
Views28K
Продукты в сфере информационных технологий (далее – ИТ) в общем случае содержат несколько компонентов, правовая охрана которых реализуется разными способами.


Архитектура, алгоритмическое решение, аппаратная часть ИТ-продукта и графическая часть интерфейса пользователя охраняются как объекты патентного права.

Особенности патентования архитектурных и аппаратных решений достойны отдельного обсуждения и поэтому здесь не рассматриваются.

Код компьютерных программ, реализующих алгоритм и интерфейс пользователя, регистрируется как объект авторского права (т.е. как литературное произведение), соответственно, в его отношении охраняется только текстовая форма, а не алгоритм. Графическая часть интерфейса пользователя может патентоваться в качестве промышленного образца. При этом регистрация кода компьютерных программ и патентование графической части интерфейса пользователя может рассматриваться, скорее, как вспомогательный инструмент обеспечения правовой охраны в ИТ-индустрии.

Наиболее надежным и поэтому основным механизмом защиты интересов разработчика программного обеспечения является патентование алгоритмов компьютерных программ в качестве изобретений.
Читать дальше →

Docker на роутере MikroTik: как развернуть и не утонуть в багах

Reading time9 min
Views58K

Привет, Хабр! Меня зовут Ярослав, я стажер инженерно-технического отдела в Selectel. В своих пет-проектах уже давно использую роутеры MikroTik. Но я никогда не думал, что на них станет возможным развернуть Docker. Релиз стабильной версии RouterOS 7.5 изменил мое мнение: теперь MikroTik поддерживает контейнеризацию.

На примере Nextcloud показываю, как установить и настроить приложение в контейнере, и рассказываю, с какими ограничениями можно столкнуться. Подробности под катом.
Читать дальше →

Самодельная клавиатура PS/2 – это просто

Reading time14 min
Views16K

Снова здравствуйте, дамы и господа. Наш Отдел Перспективных Разработок обещал вас порадовать очередной странной вещью, и потому продолжает свой цикл статей о старых, но иногда полезных устройствах.

Суть сегодняшнего предмета для изучения опять сугубо академическая.

Лично я взялся за подобную разработку по одной простой причине: Потребовалась клавиатура для самодельного компьютера Z80-MBC2.

Однако, устройство вполне работоспособно с любым PC.

Читать далее

Tabletop Simulator — редактор колод

Reading time11 min
Views6.7K

Я занимался созданием стола для карточной игры в Tabletop Simulator (TTS) и ощутил нехватку удобного инструмента для управления колодами. Из того что можно найти на youtube есть два способа: первый - это вручную в любом графическом редакторе сеткой расставлять карточки; второй - приложение, которое находится в папке с игрой, которое делает то же самое, только чуть удобнее. Оно позволяет мышкой расставить карточки по слотам с номерами. Неудобно в этом способе все. При импорте такой колоды в игру вам нужно вручную вводить имена и описания для карт, а если вы ошиблись, то делать импорт повторно и вводить данные снова. Так же если у вас карт больше, чем может вместить одна колода (69 карт на страницу), то нужно вручную размещать на нескольких страницах и отдельно импортировать их. Это приложение работает только под Windows, хотя сам TTS спокойно работает как на Linux, так и на MacOS. В этой статье речь пойдет о приложении, которое я долгое время разрабатываю и вот, наконец-то, я решил его представить на публике.

Вторая статья

Читать далее

Страх и ненависть в протоколе RDP

Reading time9 min
Views26K

Все те из нас, кто всё ещё администрирует Windows на серверах, привыкли к протоколу RDP.

Последовательность: Win+R->mstsc зашита не то что в мышечной, а наверняка уже в генетической памяти.

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

В этой статье я расскажу, что происходило с протоколом RDP, куда всё катится и чего надо бояться.
Читать дальше →

Разработка драйвера сетевого адаптера для Linux. Часть 1

Reading time25 min
Views27K

В этой статье мы рассмотрим как устроен драйвер сетевого адаптера для Linux.

Cтатью разделим на две части.

В первой части рассмотрим общую структуру сетевого адаптера, узнаем какие компоненты входят в его состав, что такое MAC и PHY, разберемся как подготовить адаптер к работе, сконфигурировать, и как в итоге получать сетевые пакеты.

Хотя при разработке драйверов необходимо использовать стандартные ядерные фреймворки, такие как clock, reset, libphy и пр., поначалу мы будем работать с адаптером напрямую через регистры состояния и управления. Это позволит нам детально разобраться с аппаратной частью.

Во второй части статьи приведем драйвер к нормальному виду, с использованием стандартных фреймворков и описанием того, что надо указать в Device Tree, и рассмотрим как передавать сетевые пакеты.

Нам нужна макетная плата с сетевым адаптером, на которую можно поставить Linux. Возьмем Orange Pi Zero на платформе Allwinner H2+. В состав платформы входят четыре процессорных ядра Cortex-A7, поддерживается ОЗУ стандартов LPDDR2, LPDDR3, DDR3, широкий спектр соединений и интерфейсов, в том числе сетевой адаптер, для которого мы будем разрабатывать драйвер. Подробное описание платформы тут, документация на платформу Allwinner H3 Datasheet.

Читать далее

Tutorial. Как отправлять сообщения из cli (и MikroTik ROS) в Telegram

Reading time8 min
Views21K

Telegram давно уже мой основной мессенжер, и вот, решил я разобраться, как отправлять сообщения из CLI себе в клиент TG, а попутно, понял что это можно использовать и как канал уведомлений от mikrotik'ов.

Под катом - простейшие примеры.

Читать далее

Магия ssh

Reading time12 min
Views69K

Разве что ленивый не писал про ssh и несмотря на это, данный протокол и его возможности не перестают меня восхищать. Здесь я хочу поделиться исключительно своим опытом использования сего замечательного инструмента в своих задачах (При этом активно применяю его даже при разработке на Windows).

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

  • Удалённый доступ — логично, ведь для этого он и предназначался.
  • Монтирование папок по сети — очень удобно для работы с кодом на удалённой машине.
  • Удалённое выполнение команд — нечастая, но используемая мной операция. Удобно получать выхлоп команды в канал другой команды на текущей машине.
  • Запуск графических приложений на удалённой машине.
  • Проксирование трафика — способ перенаправления трафика. Этакий быстрый и простой аналог VPN.
  • Обратный ssh — использую для проброса портов к системам, находящимися за NAT, когда лень настраивать firewall.

Далее вкратце разберу каждый пункт, и особенно пути эффективного и простого использования под Windows.
Читать дальше →

99+ бесплатных инструментов для анализа зловредов

Reading time10 min
Views48K

Знай своего врага ― одна из максим, которой руководствуются специалисты по информационной безопасности. Она касается и зловредов. Существуют сотни инструментов, которые помогают исследовать вредоносное ПО. К счастью, многие из них бесплатны и имеют открытый исходный код. 

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

Читать далее

Почему биткоин-транзакция зависла?

Reading time3 min
Views26K

Блок имеет ограниченный размер в 1 мегабайт, а все неподтвержденные (пока не попавшие в блок) транзакции хранятся в мемпуле (в памяти биткоин-ноды).

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

Вторая по частоте причина статуса UnConfirmed - наличие ранее неподтвержденных переводов. Обычно сделки необходимо подтверждать по цепочке. Новые транзакции не попадут в блок, пока входящие монеты не подтверждены.

Читать далее

Обход блокировок за NAT без белого IP

Reading time5 min
Views31K

На написание статьи меня сподвиг интересный Tutorial от Валерия Лутошкина с настройкой BGP и VPS на оборудовании MikroTik. Это решение натолкнуло меня на домашнюю практику с протоколами динамической маршрутизации. Попробовав его реализовать, я понял, что мой домашний провайдер не даёт манёвров для действий и блокирует порт TCP 179 по умолчанию. В дополнение к этому у меня нет белого IP адреса и я за NATом. В общем все прелести рядового пользователя. Разбираемся как облегчить себе жизнь с помощью MikroTik.

Читать далее

Полковнику никто не пишет. Отправка писем по SMTP после изменения политики Google. С примером на Python

Reading time2 min
Views22K

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

Докатилось до меня где-то в середине июня. Однажды, смотря логи одного из моих проектов, наткнулся на ошибку авторизации при попытке отправки электронного письма.

Читать далее

Telegram бот с языковой моделью, обученной на 2ch

Reading time3 min
Views43K

Если вам хочется разбавить общение в telegram чате нелепыми, но зачастую меткими и смешными комментариями, или вы ищете информацию по интеграции языковой модели в бота, или хотите сами обучить языковые модели на данных с 2ch, то в этой статье описаны шаги, как это сделать.

Читать далее

О бедном Arcanum замолвите слово

Reading time7 min
Views16K

В Arcanum, как и в любой другой игре, существует масса собственных бинарных форматов. Эта статья познакомит вас с форматом упаковки изображений, который использовала студия Troika Games.

Читать далее

Разглядывая JTAG: *.bsdl своими руками

Reading time15 min
Views8.6K

В предыдущей статье мы немного поработали с конечным автоматом модуля JTAG в контексте чтения идентификационного номера. Совершённые нами манипуляции были бы одинаковы практически для любой микросхемы с JTAG-ом. Однако при попытке установить/считать через JTAG уровень напряжения на произвольном выводе микросхемы мы столкнёмся с объективной проблемой: количество выводов, их назначение и расположение у разных микросхем принципиально отличаются. Для того, чтобы у ПО, управляющего JTAG-ом была информация об этих отличиях, ему необходим файл описания модуля JTAG для конкретной микросхемы. Об этих файлах и пойдёт речь в данной статье.

Написать *.bsdl в блокноте

Частые ошибки начинающих СВЧ разработчиков

Reading time3 min
Views19K

Всем привет! Меня зовут Олеся, я СВЧ инженер-разработчик. В этой необычной для моего профиля статье я расскажу о частых ошибках* начинающих СВЧ инженеров.

Обложка взята с Википедии (ссылка)

*личное мнение автора. В статье лишь рекомендации.

далее

Получаем список российских IP-адресов

Reading time4 min
Views47K

Мир меняется. И в текущей ситуации становится полезным список IP-адресов, условно принадлежащих автономным системам той или иной страны.

В этой статье вы узнаете, как получить список префиксов, анонсируемых автономными системами любой страны. Если вы, конечно, не знали этого раньше.

Читать далее

Атаки на сеть. Часть 2

Reading time5 min
Views14K

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

Читать далее
1
23 ...

Information

Rating
Does not participate
Location
Россия
Registered
Activity