заметки про ebpf
я тут в рамках микропроекта решила наконец разобраться, что такое ebpf и как его правильно готовить🤪
краткое введение в ebpf: это фича, позволяющая писать программы на ограниченном си, которые будут безопасно запускаться в кернелспейсе. эта технология позволяет хендлить ивенты и изменять поведение ос, не теряя при этом в производительности (при условии, что ты пишешь оптимальный код, конечно же)). как по мне, самое интересное его применение это xdp: он позволяет обрабатывать пакеты, попадающие в сетевуху еще до того, как они будут обработаны системой (под пакетик будет аллоцирован буфер и все такое). на ebpf есть много хорошей доки (официальная, туториалы от eunomia, дока от цилиума).
предположим, мы написали простой hello world (как здесь). что делать дальше? как его собрать и запустить пастись в кернелспейс? как взаимодействовать с написанным через юзерспейс?
для этого есть несколько инструментов, самые известные из них:
👁 сборка через старый добрый clang и инъекция кода ручками. xdp загружать довольно просто: пара строк команды ip. за другие типы програм не шарю(. никто не мешает идти по этому, классическому пути, но я побоялась что умру в процессе написания юзерспейс части утилиты на сях
👁 тулсет от eunomia. юзает wasm (кек). я попыталась его заюзать, но поняла, что если захочется припилить юзерспейс, то при использовании их доки придется страдать и учиться писать на сях (пример)
👁 bcc. тулкит, благодаря которому родилось невероятное количество полезных утилит (не, вы только посмотрите. еще и лабы для того, чтобы научиться ими пользоваться, есть). я попыталась его заюзать, но жопа сгорела, когда я поняла, что там линковщик немного с приколом. тебе нужно писать код, отличающийся от манов для чистого ebpf, а мне не хотелось слишком сильно прилипать к одной платформе. из плюсов можно довольно быстро и удобно разрабатывать и писать юзерспейс часть программы на питончике
👁 cilium ebpf. тулкит для гошки от создателей ebpf-based имплементации нетворкинга для кубернетиса. забавная штука, на которой я в итоге и остановилась. через нее можно сбилдить кернелспейс часть утилиты и потом удобно аттачить её и получать доступ к ее переменным и структурам из юзерспейса. создатели настолько преисполнились в своем познании, что написали свой модуль для того, чтобы писать ебпф программы не на си, а сразу на ассембли🙂
я тут в рамках микропроекта решила наконец разобраться, что такое ebpf и как его правильно готовить
краткое введение в ebpf: это фича, позволяющая писать программы на ограниченном си, которые будут безопасно запускаться в кернелспейсе. эта технология позволяет хендлить ивенты и изменять поведение ос, не теряя при этом в производительности (при условии, что ты пишешь оптимальный код, конечно же)). как по мне, самое интересное его применение это xdp: он позволяет обрабатывать пакеты, попадающие в сетевуху еще до того, как они будут обработаны системой (под пакетик будет аллоцирован буфер и все такое). на ebpf есть много хорошей доки (официальная, туториалы от eunomia, дока от цилиума).
предположим, мы написали простой hello world (как здесь). что делать дальше? как его собрать и запустить пастись в кернелспейс? как взаимодействовать с написанным через юзерспейс?
для этого есть несколько инструментов, самые известные из них:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥5
три месяца без постов😃
а я время зря не теряла!! просто не хотелось постить недоделки, а штуки все не доводятся до завершения...🫠
за это время я:
👁 все же допилила ту штучку с ebpf (линк с кратким описанием: https://github.com/ktp0li/epbf-ping-fooler). сейчас неторопливо пишу об этом статью, контента набралось больше, чем на постик (хотя делать её или нет — хороший вопрос, учитывая, что относительно недавно выходила статья от другого челика с точно такой же идеей)
👁 почти допилила маленький сократитель ссылок с авторизацией на го+тс (https://github.com/b4ck5p4c3/linkshort). там осталось только одну ручку докрутить и задеплоить, но все не могу сесть х) тс кстати довольно приятный язык! если не смотреть на жс-специфику
👁 снова сменила работу (так получилось...), чичас досиживаю испыталку в озоне, жестко насилую там нджинксы в команде, что отвечает за весь л4 и л7 балансинг
👁 села изучать зиг (он прикольновый :3) и чичас пишу на нём маленькую программу под uefi. хочу сделать что-то подобное неофетчу, но не имея никакого интерфейса для простого фетчинга информации о системе в виде ОС. единственный способ в таком случае достать подобного рода инфу — парсить системные таблички, такие как smbios и acpi. первые сейчас и паршу х))
👁 на выходных законтрибутила в сорс для любимой читалки манги!! там буквально пара строчек, но я тааааак довольна, что вот несколько дней все не работало, а теперь благодаря мне можно снова спокойно читать мангу >:33 (https://github.com/Skittyblock/aidoku-community-sources/pull/929)
а между тем этому канальчику уже стукнул год. спасибо всем, кто ставит реакции и комментит, это очень греет мне душу <3
а я время зря не теряла!! просто не хотелось постить недоделки, а штуки все не доводятся до завершения...
за это время я:
а между тем этому канальчику уже стукнул год. спасибо всем, кто ставит реакции и комментит, это очень греет мне душу <3
Please open Telegram to view this post
VIEW IN TELEGRAM
🦄30❤17🔥9👍3❤🔥2👏1😁1💅1
я снова в тбилиси😮
в этот раз приехала на две недели: первая отпуск, вторую буду работать (god bless удаленка, тут еще и +1 к мск, вставать можно попозже :3). за пару дней успела зайти в тбилисский спейс и увидеться со знакомыми ребятами оттуда, покататься на🤪 бэхе🤪 (@beloe_vedro) одного из них, порешать вопросики связанные с банками и пересечься с прелестной @fixmes. оче оче надеюсь в этот отпуск успеть много всего увидеть потрогать понюхать :33
если вы в это же время тоже будете в тби, то буду рада пересечься!!
в этот раз приехала на две недели: первая отпуск, вторую буду работать (god bless удаленка, тут еще и +1 к мск, вставать можно попозже :3). за пару дней успела зайти в тбилисский спейс и увидеться со знакомыми ребятами оттуда, покататься на
если вы в это же время тоже будете в тби, то буду рада пересечься!!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21🔥6 5💅1
еще раз сходили в forthspace🤪
в прошлый раз, год назад, я заглядывала к ребятам в самый разгар переезда (еще и помогала им вещи перевозить хд), и очень рада видеть, как они обжились на новом месте. у них теперь такое огромное помещение!! есть отдельные кухня, гостиная, музыкальная комната (!), целый этаж под хардварочную (!!!)
гордимся соотечественниками, при встрече кладём лари в коробку для донатов
придя в ф0, мы с другом решили заняться чем-то смешным и сели патчить его мобилку :33 нашей задачей было заставить работать google pay на grapheneOS. для этого нужно любым из возможных способов добавить модуль play integrity fix.
сначала мы пытались пропатчить boot.img через apatch. мобила падала в бутлуп. почему? а вооот, в ишью целая перепись тех, кто не может пошить пиксель после мартовского обновления безопасности))
потом пытались поставить магиск. со второй попытки догадались патчить не boot.img, а init_boot.img. но даже после успешной установки magisk мы так и не смогли поставить zygisk😭 ни отдельная инсталляция, ни попытки установки через магиск так и не позволили нам загрузить модуль
по итогу друг психанул и поставил себе сток, говорит, что теперь его жизнь стала лучше🕺
в прошлый раз, год назад, я заглядывала к ребятам в самый разгар переезда (еще и помогала им вещи перевозить хд), и очень рада видеть, как они обжились на новом месте. у них теперь такое огромное помещение!! есть отдельные кухня, гостиная, музыкальная комната (!), целый этаж под хардварочную (!!!)
гордимся соотечественниками, при встрече кладём лари в коробку для донатов
придя в ф0, мы с другом решили заняться чем-то смешным и сели патчить его мобилку :33 нашей задачей было заставить работать google pay на grapheneOS. для этого нужно любым из возможных способов добавить модуль play integrity fix.
сначала мы пытались пропатчить boot.img через apatch. мобила падала в бутлуп. почему? а вооот, в ишью целая перепись тех, кто не может пошить пиксель после мартовского обновления безопасности))
потом пытались поставить магиск. со второй попытки догадались патчить не boot.img, а init_boot.img. но даже после успешной установки magisk мы так и не смогли поставить zygisk
по итогу друг психанул и поставил себе сток, говорит, что теперь его жизнь стала лучше
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18💅5🖕3❤🔥2😁1😢1
вы когда-нибудь поднимали сетевые лабы?
некоторый период своей жизни я активно это делала. и одно дело, когда у тебя условно только циска: взял пакет трейсер и готово. если же нет, то все, что тебе остается, это виртуализация. и меня всегда расстраивало, что даже на микролабу уходит немалое количество ресурсов: минимум два гига придется выделить под три линукс хоста и одну л2 циску (256 * 3 + 1024 или больше)
сейчас я сделала еще один подход в сторону containerlab и осталась невероятно довольна🤪
если кратко, это оркестратор от ребят из нокии (?), который позволяет быстро и удобно поднимать контейнеры с по от сетевых вендоров и дает удобную обертку поверх (генерирует и пробрасывает базовые конфиги, к примеру). также у них есть тулсет для того, чтобы контейнеризировать то, что можно, а что нельзя, собирать как виртуалку
у меня была задача напилить что-нибудь простое, маленькое и на линукс+циска. сначала взяла cisco xrd, появившийся пару лет назад образ, поставляемый сразу в контейнере. звучит вкусно, пока ты в каком-то тележном чате не находишь этот образ, пробуешь... и видишь системд. в контейнере. и что система падает, если ей скормить меньше двух гигов оперативки. (никто конечно не обещал lightweight, но я тааак надеялась😭 )
зато потом я узнала, что последние версии iol (cisco ios on linux) теперь дистрибутятся в формате бинарника!! их довольно просто запаковать в контейнер и они хавают всего 150-200 мегабайт в дефолтной конфигурации. плюс докер, кажется, прокидывает между контейнерами tap интерфейсы, что дает вполне живой л2 (arp точно есть)
и теперь моя мини-лаба жрет не два гига, а 150 мбайт :3
некоторый период своей жизни я активно это делала. и одно дело, когда у тебя условно только циска: взял пакет трейсер и готово. если же нет, то все, что тебе остается, это виртуализация. и меня всегда расстраивало, что даже на микролабу уходит немалое количество ресурсов: минимум два гига придется выделить под три линукс хоста и одну л2 циску (256 * 3 + 1024 или больше)
сейчас я сделала еще один подход в сторону containerlab и осталась невероятно довольна
если кратко, это оркестратор от ребят из нокии (?), который позволяет быстро и удобно поднимать контейнеры с по от сетевых вендоров и дает удобную обертку поверх (генерирует и пробрасывает базовые конфиги, к примеру). также у них есть тулсет для того, чтобы контейнеризировать то, что можно, а что нельзя, собирать как виртуалку
у меня была задача напилить что-нибудь простое, маленькое и на линукс+циска. сначала взяла cisco xrd, появившийся пару лет назад образ, поставляемый сразу в контейнере. звучит вкусно, пока ты в каком-то тележном чате не находишь этот образ, пробуешь... и видишь системд. в контейнере. и что система падает, если ей скормить меньше двух гигов оперативки. (никто конечно не обещал lightweight, но я тааак надеялась
зато потом я узнала, что последние версии iol (cisco ios on linux) теперь дистрибутятся в формате бинарника!! их довольно просто запаковать в контейнер и они хавают всего 150-200 мегабайт в дефолтной конфигурации. плюс докер, кажется, прокидывает между контейнерами tap интерфейсы, что дает вполне живой л2 (arp точно есть)
и теперь моя мини-лаба жрет не два гига, а 150 мбайт :3
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28❤3👍1
рассказываю сейчас, что делала зимой про пинг и ебпф в подвале😇
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9
дорогие пользователи сети интернет. последнее время мне нравится играть в балатро, поэтому я решила нарисовать своего любимого персонажа, масюню, в антураже этой игры и теперь хочу поделиться этим со всем миром. надеюсь, вам понравится масюня-джокер
было приятно полноценно разрисоваться впервые за пару лет, удивлена, что мозг еще хоть что-то помнит х)
было приятно полноценно разрисоваться впервые за пару лет, удивлена, что мозг еще хоть что-то помнит х)
❤28😍8❤🔥2🥰2💅1
за последние полгода у меня накопилось достаточно материала, который я буду постепенно кидать сюда, но сейчас срочное включение🍊
мы вместе с лучшим радиодедом ever, radioegor146, напилили цтф таску :3 с меня идея, прорешка и райтап, с его большой умной головы вся имплементация и прочая техническая часть (как и финализация идеи и приведение её к чему-то стоящему)
флаг можно сдать завтра до 20:00 -> https://hackquest.zeronights.org/#day3
мы вместе с лучшим радиодедом ever, radioegor146, напилили цтф таску :3 с меня идея, прорешка и райтап, с его большой умной головы вся имплементация и прочая техническая часть (как и финализация идеи и приведение её к чему-то стоящему)
флаг можно сдать завтра до 20:00 -> https://hackquest.zeronights.org/#day3
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥14❤2
полинукс
за последние полгода у меня накопилось достаточно материала, который я буду постепенно кидать сюда, но сейчас срочное включение🍊 мы вместе с лучшим радиодедом ever, radioegor146, напилили цтф таску :3 с меня идея, прорешка и райтап, с его большой умной головы…
вместе с этим, пользуясь случаем, пиарю щитпост егора🫠
он по фану занимается реверсом и хардварью. можете заценить, посмотрев последние посты, как он чинил усилки для домашнего саунда
https://news.1rj.ru/str/re146ded
он по фану занимается реверсом и хардварью. можете заценить, посмотрев последние посты, как он чинил усилки для домашнего саунда
https://news.1rj.ru/str/re146ded
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
некроблог ебанутого деда
шизоканал radioegor146 aka Megumin aka re146.dev
✍7❤1💅1