В этом посте — набор утилит для потоковой обработки и анализа больших файлов без загрузки их в память. Эти инструменты используются при работе с логами, CSV/TSV-данными и текстовыми дампами. С их помощью можно извлекать колонки, фильтровать строки, сортировать данные и отслеживать прогресс обработки.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍8🤝8
Например,
код 200 означает, что всё прошло успешно, а 404 сообщает, что страница не найдена.Очень полезно держать под рукой, когда работаешь с API или отлаживаешь backend.
На картинке показаны самые часто используемые статусы от 100 до 599.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16👍10🔥9
Уверены, что ваши системные утилиты не подменены хакерами?
Руткиты часто заменяют стандартные бинарники (вроде
Для систем на базе
Команда сравнит текущие файлы с метаданными из базы данных пакетов и выведет список измененных файлов.
Если нужно проверить конкретный важный файл вручную и сравнить его с эталоном:
Генерирует уникальный отпечаток файла для сверки с чистой системой.
🔥 Мини-совет: используйте утилиту
➡️ DevOps Ready | #совет
Руткиты часто заменяют стандартные бинарники (вроде
ls, ps или netstat), чтобы скрывать вредоносные процессы и соединения. Проверка контрольных сумм позволяет мгновенно обнаружить изменения в файлах, которые должны оставаться неизменными с момента установки.Для систем на базе
RPM (CentOS, Fedora, RHEL) используйте встроенную проверку:rpm -Va
Команда сравнит текущие файлы с метаданными из базы данных пакетов и выведет список измененных файлов.
Если нужно проверить конкретный важный файл вручную и сравнить его с эталоном:
sha256sum /bin/ls
Генерирует уникальный отпечаток файла для сверки с чистой системой.
debsums в Debian-системах для автоматического поиска бинарников, не соответствующих своим оригинальным контрольным суммам.Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥5❤4
This media is not supported in your browser
VIEW IN TELEGRAM
В репозитории собраны материалы по основам Linux для разработчиков: работа с shell, управление пакетами, права доступа, процессы, SSH и сетевые утилиты. Всё оформлено в виде наглядных схем, таблиц и кратких объяснений. Материал разбит на небольшие блоки: шпаргалки, краткое пояснения ключевых терминов и ссылки на источники для углубленного изучения.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥9🤝6👍3
Поиск опасных параметров в URL через утилиту Waybackurls.
Мы научимся быстро собирать все исторические ссылки целевого домена из веб-архивов для анализа параметров. Это необходимо для поиска скрытых векторов атак, таких как
Для начала необходимо установить инструмент, который выкачивает архивные
Утилита готова к работе и доступна в системе как команда
Запускаем сбор всех когда-либо индексированных ссылок и фильтруем их, оставляя только те, что содержат параметры запроса:
Результат будет сохранен в файл
Используем регулярные выражения, чтобы выделить наиболее подозрительные параметры вроде
Для проверки количества найденных уникальных путей используйте стандартный счетчик строк:
🔥 Данная техника позволяет обнаружить забытые параметры, которые разработчики могли оставить без должной фильтрации.
➡️ DevOps Ready | #практика
Мы научимся быстро собирать все исторические ссылки целевого домена из веб-архивов для анализа параметров. Это необходимо для поиска скрытых векторов атак, таких как
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
🔥 Данная техника позволяет обнаружить забытые параметры, которые разработчики могли оставить без должной фильтрации.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍6🔥5🤝2
Например, порт 22 используется для SSH-подключений, а 443 — для защищённого HTTPS-трафика. Порты — основа любого взаимодействия между клиентом и сервером.
На картинке — 18 основных портов.
Сохрани, чтобы не забыть!
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, которая помогает быстро ориентироваться в системе и вспоминать нужные команды без долгих поисков в документации. Внутри собраны команды для работы с файловой системой, процессами, сетью, пользователями и системной информацией — всё с короткими пояснениями и примерами использования.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤8👍8
Быстро привести JSON в читаемый вид через jq!
Иногда API возвращает JSON одной длинной строкой. В терминале читать такое совершенно неудобно. Самый простой способ привести всё в нормальный вид — прогнать через
Например, если JSON лежит в файле:
Часто это используют прямо при работе с API:
Так сразу видно структуру ответа.
Если нужно вытащить конкретное поле:
То же самое можно сделать прямо из ответа API:
Иногда удобно забрать сразу несколько полей:
Если в JSON есть массив, можно пройтись по всем элементам:
Например, вытащить из каждого объекта поле name:
Когда нужен вывод без кавычек, пригодится флаг
Это полезно, если результат дальше используется в скрипте.
Иногда ещё удобно быстро посмотреть, какие вообще пути есть в JSON:
Команда покажет все доступные ключи и вложенные пути.
Так можно сразу вытащить нужные данные из ответа API.
🔥 В целом
➡️ DevOps Ready | #практика
Иногда 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 или логами, он экономит кучу времени.Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍8🔥8🤝3
Например, /etc хранит системные конфигурации, /var используется для логов и изменяемых данных, а /home содержит домашние директории пользователей.
На картинке — основные каталоги, которые важно знать при работе с системой, серверами и разработкой.
Сохрани, чтобы держать под рукой!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤8🤝8👍1
Быстрый повтор и поиск команд из истории Bash!
Часто приходится выполнять длинные команды: docker, git, kubectl, сборки, скрипты или сложные пайплайны. Печатать их заново может быть долго и неудобно.
В Bash можно обращаться к истории команд напрямую.
Чтобы найти нужную команду, можно отфильтровать историю:
Каждая команда имеет номер. Любую из них можно выполнить снова:
Также можно повторить последнюю команду, которая начиналась с определённого слова.
Bash найдёт последнюю команду, начинающуюся с
🔥 Использование !номер и !команда позволяет запускать сложные команды без копирования и ручного набора.
➡️ DevOps Ready | #совет
Часто приходится выполнять длинные команды: docker, git, kubectl, сборки, скрипты или сложные пайплайны. Печатать их заново может быть долго и неудобно.
В Bash можно обращаться к истории команд напрямую.
Чтобы найти нужную команду, можно отфильтровать историю:
history | grep docker
Каждая команда имеет номер. Любую из них можно выполнить снова:
!482
Также можно повторить последнюю команду, которая начиналась с определённого слова.
Bash найдёт последнюю команду, начинающуюся с
docker, и выполнит её снова. Это особенно удобно при работе с длинными CLI-командами:!docker
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥9🤝8
This media is not supported in your browser
VIEW IN TELEGRAM
Этот репозиторий собирает шпаргалки по ключевым направлениям информационной безопасности: пентестинг, сетевые атаки, эксплуатация уязвимостей, анализ трафика, веб-безопасность и многое другое. Всё разложено по темам и оформлено так, чтобы можно было быстро найти нужные команды, техники и инструменты.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤8🔥8
Работа с временными каталогами через mktemp!
При написании скриптов важно безопасно создавать временные файлы и каталоги. Для этого используется утилита
Создание временного файла:
Команда создаёт файл в
Создание временного каталога:
Флаг
Создание файла с собственным шаблоном имени:
Использование временного файла в shell-скрипте:
Путь сохраняется в переменную, после чего файл можно использовать внутри скрипта.
Создание временного каталога для обработки данных:
Часто используется при обработке архивов или промежуточных файлов.
Автоматическая очистка временного файла через
Создание файла в конкретном каталоге:
Полезно, если требуется другой каталог вместо
🔥 Использование
➡️ DevOps Ready | #практика
При написании скриптов важно безопасно создавать временные файлы и каталоги. Для этого используется утилита
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 через фиксированные имена может привести к конфликтам и проблемам безопасности.Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥8🤝8
В этой статье:
• Автор на примере Ubuntu разбирает, как выводить аудио одновременно на несколько устройств;
• Пошагово объясняется, какие модули и утилиты нужны для мультивыхода;
• Приводятся рабочие команды для создания виртуального аудиоустройства и его настройки.🔊 Продолжайте читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤8🤝8👎1
В этом посте 7 утилит, которые помогают быстро оценить каналы связи: измерить реальную скорость, нагрузку на интерфейсы, задержку, активные соединения и текущий входящий/исходящий трафик. Подходят для диагностики, настройки и мониторинга сети без лишних инструментов.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍8❤7
Поднимаем временный RAM-диск и тестим скорость.
tmpfs в действии: супербыстрые операции с файлами!
RAM-диск — это временное хранилище прямо в оперативной памяти. Без дисковых задержек, с молниеносным I/O.
Создаём точку монтирования:
Монтируем
Проверим, работает ли — создадим и скопируем файл:
Весь ввод-вывод — напрямую в RAM. Это идеальное решение для временных файлов, кэшей и промежуточных вычислений.
Готово? Осталось только отмнотировать и всё:
🔥 Быстрый и надёжный способ ускорить работу без всяких SSD и оркестраторов. Работает на любом VPS.
➡️ DevOps Ready | #практика
tmpfs в действии: супербыстрые операции с файлами!
RAM-диск — это временное хранилище прямо в оперативной памяти. Без дисковых задержек, с молниеносным I/O.
Создаём точку монтирования:
mkdir /mnt/ramdisk
Монтируем
tmpfs с нужным объёмом:sudo mount -t tmpfs -o size=512M tmpfs /mnt/ramdisk
Проверим, работает ли — создадим и скопируем файл:
dd if=/dev/zero of=/mnt/ramdisk/test bs=1M count=100
cp /mnt/ramdisk/test /mnt/ramdisk/test2
Весь ввод-вывод — напрямую в RAM. Это идеальное решение для временных файлов, кэшей и промежуточных вычислений.
Готово? Осталось только отмнотировать и всё:
sudo umount /mnt/ramdisk
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6🤝6❤1
Например,
${var%.*} убирает расширение файла, а ${var##*/} позволяет быстро получить имя файла из полного пути.На картинке — основные приёмы работы с переменными в bash: удаление префиксов и суффиксов, замена строк, работа с подстроками и значения по умолчанию.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍12🔥8