DevOps Ready | IT
6.33K subscribers
660 photos
52 videos
301 links
Авторский канал по DevOps разработке.
Ресурсы, обучения, задачи, шпаргалки.
Ежедневно информация пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/devops_ready
Download Telegram
Проверяем, каким маршрутом ядро отправит пакет с помощью ip route get!

Когда на сервере несколько интерфейсов, VPN, policy routing или просто странное сетевое поведение, читать таблицы маршрутов бывает недостаточно. В таких случаях проще напрямую спросить у ядра, какой маршрут оно выберет для пакета до конкретного адреса.

Для этого есть ip route get. Команда показывает, какой маршрут будет выбран при поиске маршрута (route lookup), а также исходный адрес и интерфейс, через который пакет будет отправлен.

Проверить маршрут до конкретного IP:
ip route get 8.8.8.8


В выводе обычно видно via, dev и src — через какой следующий узел пойдёт трафик, через какой интерфейс и с какого исходного адреса он будет отправлен.

Пример:
8.8.8.8 via 192.168.1.1 dev eth0 src 192.168.1.10


Здесь видно, что пакет будет отправлен через eth0, следующий узел — 192.168.1.1, а исходным адресом будет 192.168.1.10.

Понять, какой маршрут выберется для конкретного исходного IP:
ip route get 8.8.8.8 from 192.168.1.10


Это полезно на серверах с несколькими IP-адресами, когда нужно проверить выбор маршрута для конкретного исходного адреса.

Проверить поиск маршрута с указанием интерфейса:
ip route get 8.8.8.8 oif eth0


Опция oif позволяет выполнить поиск маршрута с учётом указанного выходного интерфейса.

Можно также выполнить lookup так, как если бы пакет пришёл на определённый интерфейс:
ip route get 1.1.1.1 iif eth1


Опция iif указывает входной интерфейс и позволяет посмотреть, какой маршрут выберет ядро для форвардинга такого пакета. Это полезно при разборе асимметричной маршрутизации (asymmetric routing), policy-маршрутизации (policy routing) и правил, завязанных на интерфейсы.

Если нужно посмотреть таблицы маршрутизации:
ip route


Если используется policy-маршрутизация, полезно также проверить правила:
ip rule


А чтобы увидеть маршруты во всех таблицах:
ip route show table all


ip route показывает записи в таблицах маршрутизации, а ip route get — какой маршрут ядро реально выберет для конкретного пакета при route lookup.

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

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍9🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
☕️ Awesome-Hacking — большая база ресурсов по кибербезопасности!

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

Оставляю ссылочку: GitHub 📱


➡️ DevOps Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥87🤝1
Как ускорить работу с директориями?

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

Функция mkcd объединяет эти действия в одну команду:
mkcd() { mkdir -p -- "$1" && cd -- "$1"; }
mkcd project


Директория создаётся и вы сразу оказываетесь внутри неё. Это удобно при создании новых проектов, тестовых каталогов или рабочих папок.

Создание временной рабочей директории. Это удобно, когда нужно быстро распаковать архив, протестировать скрипт или поэкспериментировать с файлами:
tmpcd() { cd -- "$(mktemp -d)"; }
tmpcd


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

🔥 Чтобы пользоваться ими постоянно, достаточно добавить функции в файл конфигурации вашей оболочки (~/.bashrc, ~/.zshrc).

➡️ DevOps Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9🤝7👍63
This media is not supported in your browser
VIEW IN TELEGRAM
😎 Linux Cheat Sheets — полезнейшие шпаргалки по командной строке Linux!

Это ресурс с подборкой шпаргалок по Linux, где собраны самые важные команды и инструменты для работы в терминале. Материал особенно полезен тем, кто работает с серверами через SSH или постоянно взаимодействует с системой из командной строки, где важно быстро вспомнить нужную команду или параметр. Всё подано в формате компактных таблиц и коротких подсказок.

📌 Оставляю ссылочку: rus-linux.net

➡️ DevOps Ready | #сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9🤝8👍71
🖼️ Быстрый анализ больших файлов!

В этом посте — набор утилит для потоковой обработки и анализа больших файлов без загрузки их в память. Эти инструменты используются при работе с логами, CSV/TSV-данными и текстовыми дампами. С их помощью можно извлекать колонки, фильтровать строки, сортировать данные и отслеживать прогресс обработки.

➡️ DevOps Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍8🤝8
📂 Напоминалка по HTTP-статусам!

Например, код 200 означает, что всё прошло успешно, а 404 сообщает, что страница не найдена.
Очень полезно держать под рукой, когда работаешь с API или отлаживаешь backend.

На картинке показаны самые часто используемые статусы от 100 до 599.

Сохрани, чтобы не забыть!

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍10🔥9
Уверены, что ваши системные утилиты не подменены хакерами?

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

Для систем на базе RPM (CentOS, Fedora, RHEL) используйте встроенную проверку:
rpm -Va


Команда сравнит текущие файлы с метаданными из базы данных пакетов и выведет список измененных файлов.

Если нужно проверить конкретный важный файл вручную и сравнить его с эталоном:
sha256sum /bin/ls


Генерирует уникальный отпечаток файла для сверки с чистой системой.

🔥 Мини-совет: используйте утилиту debsums в Debian-системах для автоматического поиска бинарников, не соответствующих своим оригинальным контрольным суммам.

➡️ DevOps Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥54
This media is not supported in your browser
VIEW IN TELEGRAM
😍 Backend Cheats — Linux-база для backend и DevOps!

В репозитории собраны материалы по основам Linux для разработчиков: работа с shell, управление пакетами, права доступа, процессы, SSH и сетевые утилиты. Всё оформлено в виде наглядных схем, таблиц и кратких объяснений. Материал разбит на небольшие блоки: шпаргалки, краткое пояснения ключевых терминов и ссылки на источники для углубленного изучения.

Оставляю ссылочку: GitHub 📱


➡️ DevOps Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥9🤝6👍3
Поиск опасных параметров в URL через утилиту Waybackurls.

Мы научимся быстро собирать все исторические ссылки целевого домена из веб-архивов для анализа параметров. Это необходимо для поиска скрытых векторов атак, таких как SQL-инъекции, XSS или открытые редиректы. Автоматизация этого процесса позволяет за секунды получить список эндпоинтов, которые больше не отображаются на главной странице.

Для начала необходимо установить инструмент, который выкачивает архивные URL из Wayback Machine и других открытых баз:
# Установка утилиты на Go (требуется установленный golang)
go install github.com/tomnomnom/waybackurls@latest
sudo cp ~/go/bin/waybackurls /usr/local/bin/


Утилита готова к работе и доступна в системе как команда waybackurls.

Запускаем сбор всех когда-либо индексированных ссылок и фильтруем их, оставляя только те, что содержат параметры запроса:
waybackurls example.com | grep '=' | sort -u > params.txt


Результат будет сохранен в файл params.txt для дальнейшего изучения.

Используем регулярные выражения, чтобы выделить наиболее подозрительные параметры вроде id, redirect, url или file.
# Поиск потенциально уязвимых параметров для атак типа LFI/Redirect
grep -E "(id=|url=|path=|dest=|file=|page=)" params.txt


Для проверки количества найденных уникальных путей используйте стандартный счетчик строк:
wc -l params.txt


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

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍6🔥5🤝2
📂 Напоминалка по сетевым портам!

Например, порт 22 используется для SSH-подключений, а 443 — для защищённого HTTPS-трафика. Порты — основа любого взаимодействия между клиентом и сервером.

На картинке — 18 основных портов.

Сохрани, чтобы не забыть!

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍12🤝10
This media is not supported in your browser
VIEW IN TELEGRAM
👍 Linux Cheatsheet — полезный справочник по командам!

Это удобная шпаргалка по основным командам Linux, которая помогает быстро ориентироваться в системе и вспоминать нужные команды без долгих поисков в документации. Внутри собраны команды для работы с файловой системой, процессами, сетью, пользователями и системной информацией — всё с короткими пояснениями и примерами использования.

Оставляю ссылочку: GitHub 📱


➡️ DevOps Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥108👍8
Быстро привести JSON в читаемый вид через jq!

Иногда API возвращает JSON одной длинной строкой. В терминале читать такое совершенно неудобно. Самый простой способ привести всё в нормальный вид — прогнать через jq.

Например, если JSON лежит в файле:
jq . file.json


jq просто отформатирует его: разобьёт на строки и добавит отступы.

Часто это используют прямо при работе с API:
curl -s https://api.github.com/repos/torvalds/linux | jq .


Так сразу видно структуру ответа.

Если нужно вытащить конкретное поле:
jq '.name' file.json


То же самое можно сделать прямо из ответа API:
curl -s https://api.github.com/repos/torvalds/linux | jq '.description'


Иногда удобно забрать сразу несколько полей:
jq '{name, description, language}' file.json


Если в JSON есть массив, можно пройтись по всем элементам:
jq '.items[]' file.json


Например, вытащить из каждого объекта поле name:
jq '.items[].name' file.json


Когда нужен вывод без кавычек, пригодится флаг -r:
jq -r '.name' file.json


Это полезно, если результат дальше используется в скрипте.

Иногда ещё удобно быстро посмотреть, какие вообще пути есть в JSON:
jq 'paths' file.json


Команда покажет все доступные ключи и вложенные пути.

jq отлично вписывается в обычные shell-пайплайны. Например:
curl -s https://api.example.com/users | jq -r '.users[].email'


Так можно сразу вытащить нужные данные из ответа API.

🔥 В целом jq — один из самых удобных инструментов для работы с JSON в терминале. Если часто возишься с API или логами, он экономит кучу времени.

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍8🔥8🤝3
📂 Напоминалка по структуре директорий Linux!

Например, /etc хранит системные конфигурации, /var используется для логов и изменяемых данных, а /home содержит домашние директории пользователей.

На картинке — основные каталоги, которые важно знать при работе с системой, серверами и разработкой.

Сохрани, чтобы держать под рукой!

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥128🤝8👍1
Быстрый повтор и поиск команд из истории Bash!

Часто приходится выполнять длинные команды: docker, git, kubectl, сборки, скрипты или сложные пайплайны. Печатать их заново может быть долго и неудобно.

В Bash можно обращаться к истории команд напрямую.

Чтобы найти нужную команду, можно отфильтровать историю:
history | grep docker


Каждая команда имеет номер. Любую из них можно выполнить снова:
!482


Также можно повторить последнюю команду, которая начиналась с определённого слова.

Bash найдёт последнюю команду, начинающуюся с docker, и выполнит её снова. Это особенно удобно при работе с длинными CLI-командами:
!docker


🔥 Использование !номер и !команда позволяет запускать сложные команды без копирования и ручного набора.

➡️ DevOps Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥9🤝8
This media is not supported in your browser
VIEW IN TELEGRAM
💡 Infosec Cheatsheets — огромная база шпаргалок по кибербезопасности!

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

Оставляю ссылочку: GitHub 📱


➡️ DevOps Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
👍108🔥8
Работа с временными каталогами через mktemp!

При написании скриптов важно безопасно создавать временные файлы и каталоги. Для этого используется утилита mktemp, которая создаёт уникальные имена и исключает гонки (race conditions).

Создание временного файла:
mktemp


Команда создаёт файл в /tmp и выводит его путь.

Создание временного каталога:
mktemp -d


Флаг -d создаёт каталог вместо файла.

Создание файла с собственным шаблоном имени:
mktemp /tmp/script.XXXXXX


XXXXXX заменяются случайной последовательностью символов.

Использование временного файла в shell-скрипте:
tmpfile=$(mktemp)
echo "data" > "$tmpfile"


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

Создание временного каталога для обработки данных:
tmpdir=$(mktemp -d)
cp *.log "$tmpdir"


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

Автоматическая очистка временного файла через trap:
tmpfile=$(mktemp)
trap 'rm -f "$tmpfile"' EXIT


trap гарантирует удаление временного файла при завершении скрипта.

Создание файла в конкретном каталоге:
mktemp -p /var/tmp backup.XXXXXX


Полезно, если требуется другой каталог вместо /tmp.

🔥 Использование mktemp считается стандартной практикой для shell-скриптов — ручное создание файлов в /tmp через фиксированные имена может привести к конфликтам и проблемам безопасности.

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥8🤝8
😎 Нашёл полезную статью на Хабре: «Звук на 2-х и более устройств в Ubuntu одновременно»!

В этой статье:
• Автор на примере Ubuntu разбирает, как выводить аудио одновременно на несколько устройств;
• Пошагово объясняется, какие модули и утилиты нужны для мультивыхода;
• Приводятся рабочие команды для создания виртуального аудиоустройства и его настройки.


🔊 Продолжайте читать на Habr!


➡️ DevOps Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥118🤝8👎1