BashMaster
8.28K subscribers
720 photos
18 videos
1 file
743 links
Удобные консольные наработки на каждый день для разработчиков, девопсов и сисадминов.

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
⚙️ WOL. Функция запуска системы по сети

✔️Полезная функция WakeOnLan позволяет запускать ПК по запросу из локальной сети. В основном её используют на оборудовании, которое обычно выключено ради экономии электричества и активно лишь иногда. Далее будет приведен небольшой bash скрипт, который и делает всю магию запуска.

Сразу стоит отметить, что должно быть выполнено несколько условий: удалённый компьютер должен быть соединён с сетью через провод (wifi зачастую неактивен при выключенной системе), должно присутствовать электропитание и активирован WOL в BIOS.

➡️ Подсказка: на материнской плате может быть несколько Ethernet разъёмов. Тогда в BIOS функция WOL будет активироваться для каждого отдельно.

Для подъёма системы по сети можно воспользоваться следующим bash скриптом:
MAC=мак_адрес
Broadcast=ip_адрес
PortNumber=4000
echo -e $(echo $(printf 'f%.0s' {1..12}; printf "$(echo $MAC | sed 's/://g')%.0s" {1..16}) | sed -e 's/../\\x&/g') | nc -w1 -u -b $Broadcast $PortNumber

Тут необходимо заменить *мак_адрес* и *ip_адрес* на данные системы, которую надо разбудить.

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

Ещё есть требование использования статичного ip адреса (не DHCP), прописанного в BIOS запускаемой машины. Но и это требование оказывается на практике нестрогим. То есть если в скрипте выше вместо ip адреса указать широковещательный 255.255.255.255, то система всё равно проснётся по сети.

▶️Сам пока пробовал функцию WOL только на серверных материнских платах фирмы Supermicro. Но по слухам, у многих производителей тоже нестрогие правила к WOL запросам. Лишь бы тело запроса было составлено верно... А иногда и вовсе ничего не важно, кроме 12 букв "f" в начале запроса...

▶️Наличие функции WOL на материнских платах стимулирует параною по сохранности данных да диске. Ведь если кто-то со стороны может замкнуть контакты питания через отправку запроса по локальной сети, то что мешает производителю плат сделать функцию доступа к ssd m2 диску, которому надо лишь несколько вольт для работы (не шпиндельное устройство)? Получается, из выключенного компьютера можно вытащить данные по сети, верно?

▶️А если подумать ещё дальше, то что мешает производителю материнских плат сделать аналог функции WOL для удалённого доступа к оперативной памяти работающего ПК? Ведь уже же фирма Gigabyte спалилась на том, что обновляла 271 модель своих материнских плат при запуске системы. Причём делала это по незащищённому каналу, без шифрования.

🖼️ Ссылка на источник

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥65👍4
😒Подборка каналов для каждого безопасника и хакера

Белый Хакер - программное обеспечение, утилиты, OSINT, инструменты, полезная литература и много другое. Совершенно новый формат непохожий на другие каналы.

Арсенал Безопасника - Проект по кибербезопасности - сборник лучших инструментов и утилит по OSINT, хакингу и деанону
Please open Telegram to view this post
VIEW IN TELEGRAM
2
⚙️ Консоль в массы. Переход на светлую сторону. Bash

✔️Главная цель статьи — рассмотреть основы программирования на bash, показать примеры, дать читателю базовые знания, которых хватит, чтобы двигаться дальше. В конце статьи есть полезные ссылки и вы сможете более подробно изучить данную тему.

▶️Когда вы запускаете терминал, внутри него работает специальная программа-оболочка — shell (англ) — интерпретатор команд. Shell понимает все команды, которые вы вводите с клавиатуры, и обрабатывает их. Также выводит сообщения об ошибках, следит за корректностью команд и их синтаксисом. Примером таких команд могут быть: сменить директорию, создать новую директорию, добавить текстовый файл, отредактировать текстовый файл, сохранить изменения и другие.

▶️Программ-оболочек довольно много. Одна из первых удачных реализаций называется sh. Ее разработал Стивен Борн в 1977 году. В 99% случаев, когда вы работаете за компьютером под управлением OS *nix, оболочкой по умолчанию, которая обрабатывает команды, будет bash. Конечно, есть еще такая оболочка как zsh и другие, но это уже совсем другая история.

➡️ Содержание статьи:
▶️Основы
▶️Переменные
▶️Ветвления
▶️Циклы
▶️Полезные ссылки

🖼️ Дочитать статью

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥54
⚙️ Ps aux — утилита для просмотра списка процессов в Linux

✔️Версия утилиты ps для просмотра списка процессов в Linux с комбинацией параметров aux.

➡️ Этот проект полностью написан на bash (в 270 строк) с no forking (не выполняется системный вызов fork() для запуска других процессов). В решении используются только built-in команды bash.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥72
Бесплатный однодневный интенсив по искусственному интеллекту!

За 1 день научим тебя писать нейронные сети. Напишешь 9 нейронок с нуля, без опыта программирования!

На интенсиве ты создашь:
- 3 нейронки из области компьютерного зрения
- 3 нейронки по распознаванию и обработке текста
- 3 нейронки по сегментации, временным рядам и аудио

Регистрируйся прямо сейчас, исследуй футуристичный мир нейросетей с нами!

Реклама. ООО "ТЕРРА ЭЙАЙ". ИНН 9728019395. erid: LjN8KLY6Z
3👍2
⚙️ Удобная работа с файлами по SSH

✔️Если у вас имеется больше одного Linux-компьютера, то вы, вероятно, постоянно пользуетесь ssh. Это — отличный инструмент, но мне всегда казалась в нём странной одна деталь. Несмотря на то, что ssh-соединения позволяют передавать файлы с применением scp и sftp, у нас нет возможности перемещать файлы между локальной и удалённой системой, не запуская программу на локальном хосте, или не подключаясь к локальной машине с удалённой.

Последнее — это настоящая проблема, так как к серверам часто подключаются, находясь в это время за файрволом или за NAT-маршрутизатором, то есть, не имея постоянного IP-адреса. В результате сервер, в любом случае, не сможет подключиться к локальной системе, с которой раньше к нему обращались. Если бы в ssh-сессии можно было бы просто взять локальный или удалённый файл и передать его туда, куда нужно, это было бы очень удобно.

✔️В этом материале вам расскажут о скрипте, который позволяет монтировать удалённые директории на локальном компьютере. На локальной машине надо будет установить sshfs, но на удалённой, на которую вы, возможно, не можете устанавливать программы, ничего менять не придётся. Если же потратить на настройку систем некоторое время, и если на клиентском компьютере имеется работающий ssh-сервер, то можно будет ещё и монтировать локальные директории на удалённых системах. При этом не придётся беспокоиться о блокировке IP-адресов или портов. Фактически, если вы способны подключиться к удалённой машине, это означает, что вам удастся и то, о чём вам расскажут.

➡️ Содержание статьи:
▶️Пара слов о sshfs
▶️Предварительная подготовка
▶️Скрипт
▶️Решаем обратную задачу
▶️Итоги

🖼️ Дочитать статью на Habr'e

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5🔥4
Хочешь стать Linux-экспертом?

Linux++ - канал для тех, кто хочет профессионально освоить Linux и программирование!

- Уникальные гайды по администрированию Linux

- Продвинутые техники и рекомендации по разработке на языках C/C++

- Подробные статьи о внутреннем устройстве операционных систем

- Интересные факты и новости из мира технологий

🌐 Присоединяйся к нам и становись частью сообщества истинных гуру: Linux++
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥32
⚙️ Bash-Oneliner

Объемная подборка команд, от очевидных, до каких-то мелочей, упрощающих жизнь для обработки данных и обслуживания системы Linux

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍53
До сих пор боишься вопроса про TCP/IP протоколы на собеседовании?

🖥 Network Admin — обучающий канал по сетевым технологиям. В канале ты найдешь множество полезной информации:

Типы SSL - сертификатов
Иерархия DNS
Сетевая аналитика
Процессы TCP сервера
Маршрутизатор, Коммутатор, Хаб: В чем разница?
Проверка уязвимости сервера Linux

С Network Admin твои знания и навыки стремительно пойдут вверх


Подписывайся - @networkadm
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
⚙️ Обходим замедление YouTube без VPN

➡️ Оживляем Ютуб на macOS

Способ работает в Safari, Chrome и Яндекс Браузере — он тоже связан с DPI.

▶️Открываем приложение «Терминал» и вставляем это:
curl -fsSL https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s darwin-amd64


▶️Затем вставляем это:
export PATH=$PATH:~/.spoof-dpi/bin


▶️Потом это:
spoof-dpi


▶️Проверяем скорость в максимальном разрешении! Если не сработало, то закрываем терминал, делаем всё заново, но вместо последней команды прописываем:
spoof-dpi --enable-doh --window-size 0


➡️ PC/Android

1. Открываем браузер.
2. Запускаем экспериментальными функции браузера — для этого в адресной строке вводим:

▶️Chromechrome://flags/#enable​-quic
▶️Edgeedge://flags/#enable​-quic
▶️Firefoxabout:config → network.http.http3.enabled
▶️Opera - opera://flags/#enable​-quic

3. Ставим протокол QUIC в положение Default или Enabled. Если он уже Default — меняем на Enabled.

4. Перезагружаем браузер и смотрим видосики без зависаний.

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
😐2013👍9🔥5
👾 Где практиковаться этичному хакингу? 

Codeby Games предлагает тебе уникальную возможность отточить свои навыки пентеста, решая задачи, приближенные к боевым!

- Более 50 уязвимых машин на Windows и Linux
- Более 300 CTF заданий
- Регулярные обновления
- Самое отзывчивое комьюнити

Огромное количество практики в любой из областей информационной безопасности:

🌐 Web-эксплуатация
🔑 Криптография
🕵️‍♂️ Форензика
🔍 OSINT
🖼 Стеганография
👨‍💻 PWN
⚙️ Реверс-инжиниринг
🎟 Active Directory

Присоединяйся к Codeby Games и окунись в мир инфобеза уже сегодня!

👉 Codeby Games

Приятного хакинга!
1👍1😐1
⚙️ Мониторинг производительности системы с помощью Bash и Python

✔️Создаём простой, но мощный инструмент для мониторинга производительности вашей системы.

➡️ Создаем Python скрипт для сбора данных:

▶️Создайте файл monitor.py и добавьте в него следующий код:
import psutil
import json

def get_system_stats():
stats = {
"cpu": psutil.cpu_percent(interval=1),
"memory": psutil.virtual_memory().percent,
"disk": psutil.disk_usage('/').percent
}
return json.dumps(stats)

if __name__ == "__main__":
print(get_system_stats())


▶️Этот скрипт собирает данные о загрузке процессора, использовании памяти и состоянии диска, и выводит их в формате JSON

➡️ Создаем Bash скрипт для вызова Python скрипта и обработки данных:

▶️Создайте файл monitor.sh и добавьте в него следующий код:
#!/bin/bash

# Запуск Python скрипта и сохранение результата в переменную
stats=$(python3 monitor.py)

# Извлечение данных из JSON
cpu=$(echo $stats | jq -r '.cpu')
memory=$(echo $stats | jq -r '.memory')
disk=$(echo $stats | jq -r '.disk')

# Вывод данных
echo "CPU Usage: $cpu%"
echo "Memory Usage: $memory%"
echo "Disk Usage: $disk%"


▶️ Не забудьте сделать скрипт исполняемым:
chmod +x monitor.sh


▶️Теперь, при запуске monitor.sh, вы получите информацию о состоянии системы в удобном виде

▶️Запуск скрипта:
./monitor.sh


▶️Результат:
CPU Usage: 12.3%
Memory Usage: 45.6%
Disk Usage: 67.8%


✔️Вы можете расширить этот скрипт, добавив отправку данных на удаленный сервер, логирование результатов в файл или даже настройку алертов при превышении определенных порогов

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍216🔥3😐1
⚙️ Удаление дубликатов строк в файле

✔️Скрипт удаляет дубликаты строк из файла input.txt и сохраняет результат в output.txt
#!/bin/bash

# Путь к файлу
FILE="input.txt"

# Удаление дубликатов строк и сохранение в новый файл
awk '!seen[$0]++' "$FILE" > "output.txt"


➡️ Особого внимания заслуживает использование команды awk. В конструкции !seen[$0]++ seen[$0] — это ассоциативный массив, в котором ключом является строка. Если строка встречается впервые, её значение в массиве будет равно 0, и она будет выведена.
При последующих вхождениях строки её значение увеличивается, и строка не выводится повторно. Более подробно о awk можно прочитать в man awk

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍86
Хотите научиться программировать на одном из самых мощных и востребованных языков? Запишитесь на бесплатный мини-курс Skillbox по разработке на C++ и создайте своё первое приложение всего за 5 дней: https://epic.st/pLs_T?erid=2VtzqxAoNf5

На мини-курсе вас ждут:
— Погружение в C++: даже если вы никогда не занимались программированием, всё равно поймёте основы языка и напишете своё первое финансовое приложение
— Доступ к материалам навсегда: смотрите видео в удобное время и повторяйте пройденный материал, когда потребуется
— Поддержка эксперта: общение со спикером и разбор ваших практических работ на вебинаре

Запишитесь на мини-курс и получите 5 чек-листов разработчика на C++, а также год бесплатного изучения английского языка!

Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
3👍1😐1
⚙️ Relax-and-Recover — решение для аварийного восстановления и миграции систем на новое железо под управлением Linux

✔️Relax-and-Recover создает загрузочный образ. Этот образ может переразметить систему. После этого запускается восстановление из резервной копии. Возможно восстановление на другое оборудование. Поэтому Relax-and-Recover можно использовать и как инструмент миграции

➡️ В настоящее время Relax-and-Recover поддерживает различные загрузочные носители (включая ISO, PXE, ленту OBDR, USB или eSATA), разнообразные сетевые протоколы (включая sftp, ftp, http, nfs, cifs), а также множество стратегий резервного копирования (включая IBM TSM, CommVault, Micro Focus Data Protector, Symantec NetBackup, Bareos, Bacula, rsync, Borg)

▶️Решение Relax-and-Recover было разработано для простой настройки, не требует обслуживания и готово прийти на помощь в случае бедствия. Его характер "установил и забыл" устраняет любые оправдания для отсутствия решения по аварийному восстановлению

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥65
Уйти в пентест? Стать devops-инженером или системным администратором? 
Только вам решать, куда расти, если вы знаете Linux.

Курс "Основы Linux" обучит вас тонкостям работы с ОС: от работы в командной строке до создания прикладных программ.

- 70% практики
- сопровождение куратора
- финальный проект для портфолио
- сертификат или удостоверение о повышении квалификации
- одна из самых низких цен на обучение

Запись до 18 августа (длительность 3,5 месяца)

@Codeby_Academy
+74994441750

Узнать подробнее
🔥42😐1
⚙️ Отрезаем расширение у файла

✔️Стандартный способ — использовать утилиту basename, который отрезает весь путь слева, а если указать дополнительный параметр, то дополнительно отрежет справа и суффикс.

➡️ Например пишем file.txt и суффикс .txt
basename file.txt .txt


▶️Получаем: file

➡️ Но можно обойтись внутренними преобразованиями в bash
filename=file.txt; echo ${filename%.*}


▶️Получаем: file

➡️ Или наоборот, отрезать имя файла и оставить только расширение:
filename=file.txt; echo ${filename##*.}


▶️Получаем: txt

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍137🔥6
erid: LjN8K1m7F

Хотите быть востребованным спецом в работе с Linux? Присоединяйтесь к курсу «Администрирование Nginx/Angie» и откройте для себя новые возможности:
- Настраивайте Angie и Nginx как фронт веб-серверы для любых приложений.
- Оптимизируйте серверную и клиентскую производительность.
- Конфигурируйте балансировщики нагрузки L4 (TCP, UDP) и L7 (HTTP/HTTPS).
- Управляйте логированием и оптимизируйте HTTPS-соединения.

🔝Эта программа, созданная при участии авторов Angie, идеально подходит для:
- Сисадминов Linux, стремящихся к профессиональному росту.
- Разработчиков веб-приложений, желающих освоить навыки DevOps.
- Администраторов и разработчиков компаний, переходящих на Angie в рамках импортозамещения.
🧐Оставляйте заявку сейчас: https://clck.ru/3CUWQC

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
3
⚙️ Как избежать перезаписи истории команд

➡️ Если открыть окно терминала и ввести несколько команд, а после открыть второе окно, то история команд bash во втором окне не будет содержать команд из первого. К тому же, если закрыть первый терминал, а затем второй, то история команд из первого терминала будет перезаписана вторым

Так происходит из-за того, что история команд записывается только при закрытии терминала, а не после каждой команды.

▶️Это можно исправить. Отредактируем файл .bashrc добавив в него строки:
shopt -s histappend

PROMPT_COMMAND='history -a'


✔️Так история команд будет добавляться к старой, а не перезаписывать ее, и запись будет происходить каждый раз в момент отображения подсказки bash

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍10🔥6
⚙️ Настройка безопасности SSH соединения

✔️Настройка безопасности SSH соединения – залог спокойствия. Спокойствие бывает двух типов. Первое – это когда ты не знаешь о том что проблема есть. Так называемое “меньше знаешь – спокойнее спишь”. Второе и самое ценное – это когда ты знаешь что проблема есть, но она решена. И сегодня будет рассмотрен способ как обезопасить ваш SSH сервер.

▶️Далеко не все, установив линуксовый сервер, заморачиваются за то, чтобы как-то обезопасить на нём авторизацию. Во-первых — зачем? Ведь всё зачастую происходит в локальной сети, кто тут может пакостить? Во-вторых — как и кто может напакостить? Там же пароль длинною стотыщ символов, умрут перебирать. В свою очередь за настройку всяких fail2ban и подобных служб никто не заморачивается.

▶️Таки что в итоге может случиться? Чисто гипотетически к вам в локальную сеть может пробраться какой-нибудь зловред, который планомерно будет подбирать пароли. Чтобы не вызывать какую-то небывалую нагрузку и избежать срабатывания fail2ban и подобных служб, он будет делать попытки раз в минуту, или раз в 5 минут. Или раз в час, это не критично. Перебрать например пачку стандартных паролей от кучи всяких апплаенсов – вообще не проблема край за неделю. Если делать по одному запросу в час, 24*7 = 168 запросов за неделю. Достаточно солидный список кандидатов стандартных паролей. Если найдена хотя бы одна успешная комбинация, можно уже пытаться авторизоваться под рутом. Если получилось авторизоваться под рутом – можно подтаскивать на этот хост какой-нибудь пейлоад. На этом этапе количество вариантов векторов развития атаки стремится к бесконечности. А вы, если не заморачивались за защиту – даже и не узнаете что в ваших рядах самозванец.

➡️ Содержание статьи:
▶️Настройка безопасности SSH соединения – подготовка
▶️Закручиваем гайки
▶️Жестко прописываем IP адрес ssh сервера
▶️Изменяем порт SSH сервера
▶️Включаем только протокол второй версии
▶️Ограничиваем время предоставляемое для авторизации
▶️Ограничиваем количество попыток авторизации
▶️Включаем разделение прав пользователей
▶️Ограничиваем список доступа по SSH
▶️Отключаем пустые пароли
▶️Отключим список доверенных хостов
▶️Настройка безопасности SSH – Пробуем подключиться к серверу через Putty
▶️Настройка безопасности SSH – Ограничим допущенные к подключению IP адреса
▶️Настройка безопасности SSH – Проверяем авторизацию по паролю
▶️Настройка безопасности SSH – Заключение

🖼️ Дочитать статью

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍93