en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe 👈

Linux Ninja

Linux Ninja

Open in Telegram

Linux Ninja – ваш гид по миру Linux! Лайфхаки, фишки и мощные команды для настоящих мастеров CLI.

Show more
3 411
Subscribers
No data24 hours
-97 days
-4030 days
Posts Archive
Когда я впервые открыл Wireshark, я просто завис. Пакеты повсюду. IP-адреса. Порты. Протоколы. Мне казалось, что нужно понима
+2
Когда я впервые открыл Wireshark, я просто завис. Пакеты повсюду. IP-адреса. Порты. Протоколы. Мне казалось, что нужно понимать вообще всё. А потом я понял главное: Не пытайтесь анализировать каждый пакет. Сначала сформулируйте вопрос. Что именно я ищу? → необычный адрес назначения? → повторяющиеся соединения? → подозрительный протокол? → трафик, который выглядит ненормально? Вот тогда Wireshark наконец начал становиться для меня понятным. Анализ пакетов снова вернул меня к основам сетей. TCP. UDP. DNS. Порты. IP-адреса. Чем лучше я понимал, как выглядит нормальное поведение сети, тем проще становилось замечать аномалии. Инструмент не заменяет фундаментальные знания. Наоборот, именно фундамент помогает понять, как правильно пользоваться инструментом. Поэтому я всё меньше пытаюсь запоминать отдельные функции Wireshark и всё больше учусь самому процессу анализа сетевого трафика. ✈️ Linux Ninja

Хватит качать четырёхгигабайтные ISO, чтобы создать Linux-ВМ. 🔨 Тебе не нужен инсталлятор, GUI или мастер в стиле Next > Nex
+1
Хватит качать четырёхгигабайтные ISO, чтобы создать Linux-ВМ. 🔨 Тебе не нужен инсталлятор, GUI или мастер в стиле Next > Next > Finish. Нужна просто директория с файлами. Вот как я собираю кастомные, немного колхозные, но загрузочные Debian-ВМ примерно за минуту с помощью debootstrap. По сути, любая дистрибуция это ядро плюс набор юзерспейс-бинарей. Если разложить эти файлы в нужные места на диске, ядро спокойно с этим заработает. Инструмент, о котором почти никто не думает Обычно мы воспринимаем VM-образы (.qcow2) как чёрный ящик. Но qemu-nbd позволяет примонтировать виртуальный диск как реальное устройство — например, /dev/nbd0. После этого можно форматировать и монтировать его как обычную флешку. "Установка" Когда диск смонтирован, ты ничего не устанавливаешь. Ты просто распаковываешь систему:
sudo debootstrap stable /mnt/disk
Команда скачивает минимальный набор бинарей, нужных для Debian, и кладёт их в эту директорию. Никаких мастеров. Загрузка Я запускаю VM через QEMU, подкидывая ядро напрямую, полностью обходя загрузчик:
qemu-system-x86_64 -kernel ... -append "init=/bin/bash ..."
На последнем скриншоте виден Kernel panic — Attempted to kill init! И это нормально. Я сказал ядру выполнить простой скрипт. Скрипт завершился. init вышел. У ядра не осталось задач, поэтому оно упало. Миссия выполнена, просто странным способом. Такой подход удобен для CI/CD или быстрого прототипирования. Он показывает простую мысль:
если ты понимаешь файловую структуру — система принадлежит тебе.
✈️ Linux Ninja

Попался сегодня пост про traceroute, и вспомнил, как часто эта штука реально спасает, когда сеть ведёт себя как-то странно. T
Попался сегодня пост про traceroute, и вспомнил, как часто эта штука реально спасает, когда сеть ведёт себя как-то странно. Traceroute по сути делает простую вещь: отправляет пакеты с разным TTL и смотрит, где они умирают. Каждый роутер, на котором TTL падает в ноль, шлёт ответ типа "я тут, пакет сдох" — и так собирается маршрут до цели. Когда пакет наконец добирается до сервера — прилетает другой ICMP-ответ, и на этом всё заканчивается. Утилита умеет работать по-разному в зависимости от системы: Linux/macOS: обычно гоняет UDP Windows: использует ICMP, почти как ping, но smarter TCP: отдельная версия, которая пробивается туда, где ICMP/UDP заблокированы фаерволами — например, на порты 80/443 Команды: Linux:
traceroute google.com
Windows:
tracert google.com
Зачем вообще это запускать? - понять, на каком этапе всё разваливается - увидеть, где растёт задержка - проверить маршрут до сервисов, клаудов, VPN или CDN ✈️ Linux Ninja

nsntrace — инструмент для захвата трафика нужного приложения в Linux. С помощью создания виртуальных интерфейсов и отдельного
nsntrace — инструмент для захвата трафика нужного приложения в Linux. С помощью создания виртуальных интерфейсов и отдельного сетевого пространства имён, nsntrace запускает нужное нам приложение, и выполняет трассировку трафика только для него используя libpcap. Результат работы может быть либо перенаправлен в другое приложение, либо в файл, который можно будет прочитать любой стандартной утилитой, умеющей работать с pcap. 1. Ставим nsntrace из репозитория:
# apt install nsntrace
# dnf install nsntrace
2. Пробуем выполнить захват трафика для обычного wget, который обращается к сайту. По-умолчанию, дамп будет иметь имя nsntrace.pcap:
# nsntrace --use-public-dns wget -q -O /dev/null https://sysadmin.pm/
Starting network trace of 'wget' on interface enp1s0.
Your IP address in this trace is 172.19.28.255.
Use ctrl-c to end at any time.
Finished capturing 131 packets.
Аналогично для PHP скрипта, например:
# nsntrace php -f index.php
Starting network trace of 'php' on interface enp1s0.
Your IP address in this trace is 172.19.213.255.
Use ctrl-c to end at any time.
Finished capturing 52 packets.
3. Работаем с дампом привычной утилитой, в данном случае tcpick:
# tcpick -r nsntrace.pcap 
Starting tcpick 0.2.1 at 2023-04-28 12:28 MSK
Timeout for connections is 600
tcpick: reading from nsntrace.pcap
1 SYN-SENT 172.19.28.255:40638 > 104.244.78.134:https
1 SYN-RECEIVED 172.19.28.255:40638 > 104.244.78.134:https
1 ESTABLISHED 172.19.28.255:40638 > 104.244.78.134:https
1 FIN-WAIT-1 172.19.28.255:40638 > 104.244.78.134:https
1 FIN-WAIT-2 172.19.28.255:40638 > 104.244.78.134:https
1 RESET 172.19.28.255:40638 > 104.244.78.134:https
tcpick: done reading from nsntrace.pcap

131 packets captured
1 tcp sessions detected
Собрать nsntrace из исходников, при необходимости можно так:
# apt install automake docbook-xml docbook-xsl iptables libnl-route-3-dev libpcap-dev pkg-config xsltproc git make gcc
# git clone https://github.com/nsntrace/nsntrace
# cd nsntrace/
# ./autogen.sh 
# ./configure 
# make
Github проекта: https://github.com/nsntrace/nsntrace ✈️ Linux Ninja

Реверс-инжиниринг и извлечение прошивки из смарт-часов — Damien Cauquil https://blog.quarkslab.com/modern-tale-blinkenlights.
+1
Реверс-инжиниринг и извлечение прошивки из смарт-часов — Damien Cauquil https://blog.quarkslab.com/modern-tale-blinkenlights.html ✈️ Linux Ninja

SSH-туннели: локальный и удалённый проброс портов SSH – технология старой школы, которая до сих пор остаётся невероятно полез
SSH-туннели: локальный и удалённый проброс портов SSH – технология старой школы, которая до сих пор остаётся невероятно полезной. Всего одной командой ssh можно:
- Получить доступ к приватным сервисам внутри VPC через bastion host - Открыть в браузере порт localhost на удалённой машине - Пробросить сервис из homelab наружу через публичный сервер - Превратить SSH-соединение в SOCKS-прокси для всей приватной сети
В этом обновлённом туториале разбирается SSH port forwarding с диаграммами, практическими лабораторными заданиями и наглядной шпаргалкой, которая поможет понять разные типы SSH-туннелей и запомнить нужные флаги: https://labs.iximiuz.com/tutorials/ssh-tunnels 🍆 ✈️ Linux Ninja

Как проиндексировать весь исходный код Linux Kernel (28 млн строк) для AI-агента всего за 3 минуты? Нужно перестать заставлят
Как проиндексировать весь исходный код Linux Kernel (28 млн строк) для AI-агента всего за 3 минуты? Нужно перестать заставлять агента читать файлы по одному. Недавно вышел любопытный open-source проект — codebase-memory-mcp. Это движок для анализа кода, который заменяет обычный поиск по файлам на высокоскоростной граф знаний, построенный на AST. Самое интересное здесь — исследование, на котором основан проект. Согласно результатам из статьи arXiv:2603.27277, где систему тестировали на 31 реальном репозитории, такой подход даёт: → снижение расхода токенов на структурные запросы на 99% → 83% качества ответов на сложных задачах → в 2,1 раза меньше вызовов инструментов Система строит граф функций, классов, HTTP-маршрутов и связей между сервисами. Когда агенту нужен контекст, он запрашивает данные напрямую из графа, а не перебирает файлы. Отдельный плюс — всё работает полностью локально. Без Docker, Ollama и API-ключей. Скачиваешь бинарник, перезапускаешь агента — и можно работать. Интересно, насколько сильно такие индексы смогут сократить расходы на AI-разработку в ближайшие годы. https://github.com/DeusData/codebase-memory-mcp ✈️ Linux Ninja

Уже очевидно, что ВАЙБКОДИНГ — главный навык ближайших лет Посмотрите сами. ИИ уже забирает на себя работу целых команд: пише
Уже очевидно, что ВАЙБКОДИНГ — главный навык ближайших лет Посмотрите сами. ИИ уже забирает на себя работу целых команд: пишет код, закрывает задачи джунов и позволяет стартапам запускать продукты в 2–3 раза меньшим составом. То, на что раньше нужны были несколько разработчиков, сегодня всё чаще делает один человек с ИИ-агентами. И это только начало. Те, кто освоит вайбкодинг сейчас, смогут быстрее запускать проекты, автоматизировать огромный объём работы, увереннее конкурировать на рынке и зарабатывать больше тех, кто продолжает делать всё вручную. Начать с нуля поможет канал Вайб-кодинг. Там ребята круглосуточно мониторят более 320 российских и зарубежных источников и публикуют только главное: релизы, инструменты, гайды, курсы и практические кейсы. Подписывайтесь, нас уже 50 тысяч: @vibecoding_tg

Из Linux удаляют огромное количество драйверов устройств… потому что разработчики ядра Linux не хотят разбираться с потоком с
+2
Из Linux удаляют огромное количество драйверов устройств… потому что разработчики ядра Linux не хотят разбираться с потоком сгенерированных ИИ патчей и "ИИ-багрепортов" по этим драйверам. Среди удаляемых драйверов Linux – драйверы для мышей, Ethernet-карт, любительского радиооборудования, NFC и других устройств, включая legacy-железо ещё с 2002 года. Другими словами: ИИ/LLM напрямую приводят к тому, что Linux начинает поддерживать заметно меньше оборудования.
«Давайте удалим это, раз LLM уже начинают туда лезть».
«Эти старые драйверы — LLM-покалипсис».
«До недавнего времени эти старые драйверы почти не создавали нагрузки по сопровождению. Но теперь новички используют ИИ и фаззеры для поиска проблем, из-за чего у мейнтейнеров становится больше работы».
✈️ Linux Ninja

Простой YAML для деплоя EKS кластера. В этом туториале по Kubernetes ты разберешься, как создать AWS EKS кластер с помощью ek
Простой YAML для деплоя EKS кластера. В этом туториале по Kubernetes ты разберешься, как создать AWS EKS кластер с помощью eksctl и YAML-конфига за пару минут. Плюс будет разбор ключевых концепций eksctl. Как вообще работает eksctl? Когда ты деплоишь YAML файл eksctl или запускаешь команду на создание кластера, eksctl под капотом раскатывает CloudFormation шаблоны. Фактически именно CloudFormation и поднимает кластер. eksctl просто обертка над CloudFormation. Туториал: тут ✈️ Linux Ninja

АЙТИШНИКИ БЕСПЛАТНОЕ ОБУЧЕНИЕ сборник курсов, инструментов и книг Проект «TERMINAL» стал крупнейшей библиотекой бесплатного о
АЙТИШНИКИ БЕСПЛАТНОЕ ОБУЧЕНИЕ сборник курсов, инструментов и книг Проект «TERMINAL» стал крупнейшей библиотекой бесплатного образования. В одном канале собраны курсы, книги, полезные инструменты и практические тренажёры для всех разработчиков 🎓 Практические курсы и задания 🪽 Книги и статьи известных авторов 😮‍💨 Полезные инструменты и ресурсы 🌟 IT-новости и инсайды Обучение по всем направлениям: SQL, Python, Frontend, PHP, C++, Golang, GIT, Linux, QA, Java, Vibe-coding, Infosec и др. Ценишь знания, подпишись: Terminal_tg

10 советов по CI/CD, которые я хотел бы знать до создания своего первого пайплайна: Сохраните, чтобы вернуться позже ✅ 1. Пад
10 советов по CI/CD, которые я хотел бы знать до создания своего первого пайплайна: Сохраните, чтобы вернуться позже ✅ 1. Падайте сборку при ошибках линтера, а не только при падении тестов. Грязный код — это будущие баги. 2. Кэшируйте всё, что устанавливаете. npm install не должен запускаться заново при каждом билде. GitHub Actions: используйте actions/cache. GitLab: создавайте ключ кэша на основе хэша package-lock. 3. Запускайте unit-тесты перед интеграционными. Всегда. Быстрая обратная связь. Ранний фейл. Не ждите 20 минут, чтобы найти опечатку, из-за которой всё упало. 4. Собирайте Docker-образ один раз. Продвигайте один и тот же образ между окружениями. Не пересобирайте его для staging и production. Один образ = один и тот же артефакт. 5. Помечайте каждый образ через git SHA, а не только через latest. latest ничего не говорит. abc1234 сразу показывает, что именно задеплоено. 6. Разделяйте деплой и релиз. Выкатывайте изменения в production незаметно. Используйте feature flags для включения их пользователям. 7. Добавляйте smoke-тест после каждого деплоя в production. Не unit-тесты. Просто проверьте: «приложение отвечает? Логин работает?» 8. Измеряйте время каждого этапа пайплайна. Когда разработчики видят медленные шаги, они начинают их исправлять. 9. Сделайте откат одной командой, а не процессом из 10 шагов. Если rollback сложный, люди не будут его делать. В итоге начнут чинить проблемы прямо в production. 10. Проверяйте пайплайн так же, как проверяете код. Это тоже код. В нём бывают баги и технический долг. Относитесь к нему соответственно. 👉 @cybersecinform

У этого проекта уже больше 18 000 звёзд на GitHub! Инструмент, который показывает, почему порт занят, и позволяет легко закры
У этого проекта уже больше 18 000 звёзд на GitHub! Инструмент, который показывает, почему порт занят, и позволяет легко закрыть процесс прямо из терминала.
$ witr 8000
✓ Работает на Windows, macOS и Linux ✓ Написан на Go и имеет открытый исходный код → http://github.com/pranshuparmar/witr ✈️ Linux Ninja

Linux Foundation запустила Akrites — инициативу по защите open source-проектов от кибератак с использованием ИИ. К ней уже пр
Linux Foundation запустила Akrites — инициативу по защите open source-проектов от кибератак с использованием ИИ. К ней уже присоединились более 20 организаций, включая AWS, Anthropic, Google, Microsoft, OpenAI, NVIDIA, IBM, Red Hat и Cisco. Причина проста: современные ИИ-модели научились находить уязвимости в популярном ПО за минуты вместо недель. В некоторых случаях рабочий эксплойт появляется практически сразу после публикации исправления безопасности — сам патч становится инструкцией для атаки. Akrites — это не очередной сканер уязвимостей. Проект создаёт общую систему реагирования, чтобы сопровождающие open source-проектов, облачные провайдеры и специалисты по безопасности могли совместно проверять угрозы, координировать выпуск исправлений и раскрытие информации об уязвимостях до того, как ими воспользуются злоумышленники. Open source десятилетиями держался на работе энтузиастов. Но с появлением ИИ скорость атак выросла настолько, что даже крупнейшие технологические компании признали: в одиночку с этой проблемой уже не справиться. ✈️ Linux Ninja

Введите в вашем терминале эту команду:
watch -d -n 1 sensors
Это отображает данные о температуре CPU, GPU, Wi-Fi, NVMe SSD и HDD в реальном времени. Подробнее читаем здесь⬇️ ☝️ Ссылка источник ✈️ Linux Ninja

Программисты, это вам 👇 Держите 5 каналов, которые реально помогают изучать программирование и IT с полного нуля: 🖥 Easy Co
Программисты, это вам 👇 Держите 5 каналов, которые реально помогают изучать программирование и IT с полного нуля: 🖥 Easy Coder — все направления IT. 👩‍💻 Easy Python — всё о Python. 🌐 Easy WebDev — Frontend, Backend. 🔠 Easy InfoSec — ИБ, Хакинг. 🖥 Easy GitHub — лучшее с GitHub. Тонны бесплатной инфы для любого уровня подготовки ✔️

Факт про ядро Linux: Когда в системе Linux заканчивается память, ядро не зависает. Оно запускает OOM Killer. OOM Killer выбирает процесс для завершения, чтобы освободить память. Каждому процессу присваивается оценка oom_score (0–1000). Чем выше значение, тем выше вероятность быть убитым. Оценка зависит от: → объёма используемой памяти → времени работы процесса → наличия дочерних процессов (завершение родителя освобождает больше) На это можно влиять: echo -17 > /proc/<PID>/oom_adj — защитить процесс echo 1000 > /proc/<PID>/oom_score_adj — сделать приоритетной целью Kubernetes использует тот же механизм, когда поды превышают лимиты памяти. OOMKilled — это значит, что OOM Killer ядра завершил контейнер. ✈️ Linux Ninja

Теперь у всех разработчиков операционных систем есть срок до 1 января 2028 года, чтобы внедрить проверку возраста для всех по
+2
Теперь у всех разработчиков операционных систем есть срок до 1 января 2028 года, чтобы внедрить проверку возраста для всех пользователей. Это касается Windows, macOS, Linux и всех остальных операционных систем, которые имеют какой-либо доступ к интернету. 31 июля губернатор Прицкер подписал законопроект штата Иллинойс HB-5511. Закон предусматривает значительные финансовые санкции для всех разработчиков ОС, включая некоммерческие организации и опенсорс-разработчиков. https://gov-pritzker-newsroom.prezly.com/gov-pritzker-signs-nation-leading-legislation-to-protect-illinois-children-on-social-media ✈️ Linux Ninja

На Stepik вышел курс «MCP: создание передовых агентных приложений» Практическай материал по разработке AI-агентов и многосерв
На Stepik вышел курс «MCP: создание передовых агентных приложений» Практическай материал по разработке AI-агентов и многосерверных систем на базе Model Context Protocol Шаг за шагом собираем своего AI-агента с серверами, инструментами, логикой для принятия решений и даже анализом изображений. Всё это на практических примерах, с схемами и кодом в терминале Что внутри: ✅ клиент-серверная архитектура MCP ✅ серверные конфигурации ✅ инструменты, ресурсы и промпты ✅ LangChain, LangGraph и LlamaIndex ✅ логика, координация инструментов ✅ логирование и отладка ✅ агент для анализа изображений ✅ подготовка решений к продакшен Скидка 25%, действует 48 часов 🔗Пройти курс на Stepik

Новичок в Linux и не понимаешь, что занимает порт 80? Одна команда покажет всё: какой процесс, PID и детали соединения: sudo
Новичок в Linux и не понимаешь, что занимает порт 80? Одна команда покажет всё: какой процесс, PID и детали соединения:
sudo ss -tulnp | grep :80
ss быстрее, чем netstat, и уже установлен в большинстве современных дистрибутивов. Полезно держать под рукой. ✈️ Linux Ninja