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

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
⚙️ Маска подсети: считаем на bash

✔️Маска подсети — это набор битов, определяющий, какое количество битов используется для указания адреса подсети, а какое для указания адреса компьютера в этой подсети. Более привычно маску подсети видеть в десятичном виде, но на самом деле она представляется в бинарном виде. Если вы понимаете, как представляется адрес подсети и адрес компьютера в этой подсети, то можете легко определить по адресу компьютера и маске подсети адрес этой самой подсети и маску подсети в таком виде:
<адрес-подсети>/<количество-бит>


▶️Предположим, у вас есть некоторая сеть 192.168.1.0 (сеть класса C), а маска подсети (netmask) представлена как 255.255.255.0 (в бинарном виде это 11111111 11111111 11111111 00000000). Это говорит о том, что для адреса подсети выделены первые 24 бита, а под адрес компьютера в подсети 8 бит, то есть, интервал значений последнего октета (последних 8 бит) будет принимать 256 различных значений (значения от 0 до 255 включительно), где 0 — это адрес подсети, а 255 — броадкаст. Соответственно, под адреса компьютеров вы сможете выделить 254 адреса (от 1 до 254). И, находясь на каком-либо компьютере под управлением операционной системы на базе ядра Linux, вы можете посмотреть адрес компьютера и сетевую маску при помощи команд «ifconfig» и «ip addr».

▶️Иногда требуется имея адрес компьютера и маску подсети определить адрес подсети и битность сетевой маски, чтобы представить адрес подсети в виде:
<адрес-подсети>/<количество-бит-в-маске>

Например:
192.168.1.0/24

▶️Давайте попробуем решить задачу по такому преобразования на bash.

➡️ Перевод из десятичной системы в двоичную в bash

▶️Для решения задачи нам необходимо будет перевести маску подсети в бинарный вид, поскольку маска подсети (netmask) — это последовательность бит, определяющая, какие из бит в указанном адресе выделены под адрес подсети (бит установлен в единицу), а какие — под адрес компьютера в подсети. Это очень важный момент в понимании IP адресов.

▶️Функции, которая позволяет преобразовать десятичные числа в двоичные, в bash нет, поэтому необходимо будет использовать небольшую хитрость. Она заключается в том, что мы можем сгенерировать массив из последовательностей единиц и ноликов, каждый элемент которого будет являться двоичным представлением десятичного значения индекса этого элемента
BINARRAY=({0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1})

▶️Эта строчка будет развернута в массив, содержащий 8-разрядные значения, что равносильно следующим операциям:
BINARRAY[0]="00000000"
BINARRAY[1]="00000001"
BINARRAY[2]="00000010"
...
BINARRAY[254]="11111110"
BINARRAY[255]="11111111"

➡️ Перевод из двоичной системы в десятичную в bash

▶️Обратное преобразование нам потребуется, чтобы преобразовать последовательность бит обратно в десятичное число. Тут всё проще. В bash есть возможность преобразовывать число из N-ричного в десятичное, где N — это число до 64 включительно. Вот как это выглядит для системы счисления с основанием 2
> A=$((2#00000010))
> echo $A
2
> B=$((2#11111110))
> echo $B
254

▶️Как видите, в данном случае всё очень просто.

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍106🔥5
👩‍💻 Программирование теперь в Telegram!

Вот 8 обучающих каналов по самым востребованным направлениям в IT.

Выбирай своё направление:

👩‍💻 Frontend: @code_ready
👩‍💻 Backend: @backend_ready
📖 Общее IT: @roadmap_ready
👩‍💻 Python: @python_ready
👩‍💻 Java: @java_ready
👩‍💻 C#: @csharp_ready
👩‍💻 C/C++: @cpp_ready
🖥 Базы Данных & SQL: @sql_ready
🖥 Design: @time_design

📌 Ресурсы, гайды, шпаргалки, книги, задачи и статьи для каждого языка программирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1😐1
⚙️ Bash Prompt Generator

✔️Инструмент, который позволяет настроить подсказку Bash, установив переменную PS1.

▶️С помощью этого инструмента можно создать новую подсказку с нуля или импортировать существующую подсказку для настройки.

▶️В программе есть возможность добавлять элементы в подсказку, изменять их порядок и удалять.

➡️ Чтобы изменения были постоянными, нужно добавить команду в файл ~/.bashrc.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥43
Forwarded from Cyber Media
KICS Conference 2024: Промышленная кибербезопасность в новом мире

Мир меняется, и вместе с ним растет количество киберугроз. Как защитить промышленность и транспорт? Как создать эффективный OT SOC? Как страховать киберриски? Об этом и не только — на Kaspersky Industrial Cybersecurity Conference 2024!

KICS Conference 2024 — это крупнейшая площадка для обсуждения кибербезопасности промышленных систем и объектов.

На трансляции вы узнаете:

🟢Последние тренды и угрозы в сфере кибербезопасности для промышленности.
🟢Реальные кейсы по внедрению защиты для объектов критической инфраструктуры.
🟢Методы создания эффективного OT SOC.
🟢Практики управления и страхования киберрисков.

Присоединяйтесь к онлайн-трансляции, чтобы быть в курсе последних трендов и реальных кейсов. Забронируйте место и давайте разбираться вместе!

➡️ Регистрация открыта уже сейчас — присоединяйтесь и будьте на шаг впереди угроз.

*Реклама, АО «Лаборатория Касперского»
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
⚙️ QEMU-QuickBoot

✔️Графический интерфейс Zenity для быстрого и простого развертывания виртуальных машин QEMU.

▶️QEMU-QuickBoot - это Bash-скрипт, предназначенный для упрощения развертывания виртуальных машин (ВМ) с использованием QEMU, с удобным графическим интерфейсом, предоставляемым Zenity. Он позволяет пользователям быстро создавать и загружать виртуальные машины прямо с рабочего стола, используя в качестве исходного носителя подключенные физические устройства или файлы загрузочных образов.

➡️ Ключевые особенности:
▶️Пользовательский интерфейс: Использует Zenity для предоставления простого интерфейса для выбора источников загрузки и конфигураций виртуальной машины.
▶️Множество вариантов загрузки: Поддерживает загрузку виртуальных машин с подключенных устройств, различных форматов файлов (.vhd, .img, .iso), а также ISO-образов с виртуальными или физическими дисками.
▶️Динамическая настройка ОЗУ: Позволяет пользователям указывать количество оперативной памяти (в МБ), выделяемое для виртуальной машины.
▶️Поддержка BIOS и UEFI: Предоставляет опции для загрузки в режимах BIOS или UEFI.
▶️Обработка ошибок: Включает обработку ошибок, обеспечивая бесперебойную работу и обратную связь с пользователем на протяжении всего процесса настройки виртуальной машины.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥4👍3
Вам нравится читать контент на этом канале?

Возможно, вы задумывались о том, чтобы купить на нем интеграцию?

Следуйте 3 простым шагам, чтобы сделать это:

1) Регистрируйтесь по ссылке: https://telega.in/n/bash_help
2) Пополняйтесь удобным способом
3) Размещайте публикацию

Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
👍11🔥2
В Telegram появились 2 классных проекта, о которых должны знать IT-специалисты.

🧑‍💻 NetworkAdmin.ru автор делится полезной информацией про Windows/Linux, актуальными уязвимостями, а также историями из личного опыта в IT.

⚙️ EasyTools — бот содержит набор инструментов для айтишников. Поможет получить необходимую информацию не выходя из мессенджера.

Подпишись, чтобы не потерять.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2😐2
⚙️ Проверка сертификата сервера из bash

✔️Проверка сертификата сервера из bash может быть полезна для мониторинга, чтобы не пропустить дату продления сертификата. Такие проблемы как продление доменного имени и продление SSL-сертификата достаточно распространены, даже серьезные организации иногда забывают проплатить домен или купить новый сертификат. Поэтому хорошей практикой является мониторинг даты окончания действия сертификата и доменного имени. С доменным именем разберемся в другой раз, а пока давайте посмотрим, как написать скрипт, который не только покажет поля сертификата на удаленном сервере, но и скажет, сколько дней осталось до окончания сертификата.

➡️ Что нам потребуется
▶️Для проверки будем использовать, естественно, Linux. Именно на нем чаще всего стоят системы мониторинга, такие как Zabbix и Nagios. Кроме сервера с Linux’ом нам еще кое-что потребуется. Прежде всего OpenSSL (чем свежее, тем лучше), и, конечно же, bash, на котором мы и будем писать скрипт. Этот скрипт будет полезен как при ручной проверке, так и при автоматизированных проверках.

➡️ Проверка сертификата сервера из bash
▶️Вот как будет организована проверка. Мы открываем SSL-соединение с сервером, получаем сертификат, передаем его на обработку OpenSSL (openssl x509), получая таким образом информацию по полям, а если нам нужно посчитать, сколько времени осталось до истечения срока действия сертификата, будет использовать отдельный параметр, который нам просто выведет количество дней в формате «N days».

➡️ Что можно улучшить
▶️Можно дописать свои функции, которые будут выводить информация в удобном для дальнейшего использования формате, если вы планируете куда-то передавать эти данные для статистики или обработки. Плюс можно добавить проверку параметров (выводить текст о том, что недостаточно параметров), но в данном случае это не так важно, поскольку назначение этого скрипта — мониторинг, что значит, что, скорее всего, настраиваться он будет один раз.

🖼️ Ссылка на скрипт

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4🔥4😐1
💸 Вакансии для IT'шников
Выбери своё направление

1. Frontend
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. C/C++
9. Golang
10. PHP
11. Kotlin
12. Swift
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2😐1
⚙️ Как разделить большой архив «tar» на несколько файлов определенного размера

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

▶️Рассмотрим, как эти утилиты могут быть использованы. Следующая общая команда tar и split выглядит так:
tar options archive-name files
split options file "prefix”

Давайте теперь рассмотрим несколько примеров того, как разделить большой архив.

➡️ Пример 1
Мы можем сначала создать файл архива следующим образом:
tar -cvjf home.tar.bz2 /home/username/Documents/*


Чтобы убедиться, что файл архива был создан, а также проверить его размер, мы используем команду ls:
ls -lh home.tar.bz2


Затем, используя утилиту split, мы можем разбить файл архива home.tar.bz2 на небольшие блоки размером 100 МБ следующим образом:
split -b 100M home.tar.bz2 "home.tar.bz2.part"
ls -lh home.tar.bz2.parta*


В приведенной выше команде split опция -b используется для указания размера каждого блока, а home.tar.bz2.part является префиксом в имени каждого файла блока, созданного после разделения.

➡️ Пример 2
Как и в случае выше, здесь мы можем создать файл архива образа Ubuntu ISO.
tar -cvzf linux-ubuntu-64bit.tar.gz linuxubuntu-64bit.iso


Затем выполните те же шаги в примере 1, чтобы разделить файл архива на мелкие блоки размером 300 МБ.
ls -lh linux-ubuntu-64bit.tar.gz
split -b 300M linux-ubuntu-64bit.tar.gz "ISO-archive.part"
ls -lh ISO-archive.part*

➡️ Пример 3
В этом случае мы можем использовать поток (pipe) перенаправляя вывода команды tar для разделения, следующим образом:
tar -cvzf - wget/* | split -b 150M - "downloads-part"


Убедимся в том что разделение прошло успешно:
ls -lh downloads-parta*


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

➡️ Как соединить файлы после разделения
После успешного разделения файлов tar в Linux, вы можете соединить файлы с помощью команды cat. Использование команды cat является наиболее эффективным и надежным методом выполнения операции соединения.

Чтобы объединить все блоки файла tar, мы вводим следующую команду:
cat home.tar.bz2.part* > backup.tar.bz2.joined


Мы видим, что после запуска команды cat, она объединяет все мелкие блоки, которые мы ранее создали, в исходный файл архива tar того же размера.

➡️ Как разархивировать файлы после объединения
Чтобы разархивировать файл после объединения, мы вводим следующую команду
tar -xvjf backup.tar.bz2.joined -C /home/user/Documents/


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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍75🔥2
Крутая возможность для тех, кто уже работает с Linux и хочет глубже в него погрузиться.

В двух словах: три бесплатных онлайн-воркшопа по Linux. Из интересного: проходят по субботам, длятся 7 часов, а внутри много практики – настройка self-hosted мессенджера, VPN-решения или облачного хранилища.

Переходи по ссылке и выбирай свой воркшоп до 7 октября.
2👍1🔥1
⚙️ SSL Certification Expiration Checker — программа проверки истечения срока действия SSL-сертификатов

▶️ssl-cert-check — скрипт оболочки Bourne, который можно использовать для оповещения об истечении срока действия SSL-сертификатов.

➡️ Сценарий был разработан для запуска из cron и может рассылать уведомления по электронной почте или регистрировать предупреждения через nagios.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54🔥3
Я айтишник и я устал!
Рутина, прокрастинация, куча задач и 0 желания их выполнять. Еще и в семье конфликты. Че делать?

Хватит грызть самого себя и заставлять через силу - сделаешь только хуже!

Лучше подпишись на того, кто уже не первый год работает с IT-специалистами и помогает им справиться с апатией и прокрастинацией - Психолог с научным подходом.

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

Подписывайся на канал @remizov_changes - начни работать и жить в кайф, не скатываясь в кризисы и выгорание!

А в закрепе тебя уже ждут бонусы:
👨🏻‍💻 Видео, в котором ты найдёшь ответ на вопрос «Почему у тебя нет энергии и что с этим делать» + гайд как it-специалисту вернуть энергию, даже если не получается отдохнуть.

https://t.me/+2whiWg4haV84ODIy
2👍1🔥1
👉 Основы Docker. Большой практический выпуск

➡️В этом выпуске Вы узнаете что такое Docker, познакомитесь с базовыми понятиями. И конечно будут практические примеры.

0:00:00 Вступление
0:02:22 Что такое Docker?
0:16:29 Простой пример Hello World
0:31:34 Пример WEB приложения
0:35:55 Работаем с портами
0:41:10 Что такое docker volume
0:46:54 Поднимаем временную базу данных
0:55:26 Разворачиваем реальный проект
1:00:35 Что такое docker-compose
1:05:23 Создаем виртуальную машину (подробно)
1:08:25 Ставим Docker и Docker compose на Linux
1:10:17 Delpoy проекта с ипользованием GitHub
1:16:50 Delpoy проекта с ипользованием DockerHub

📹 Смотреть на YouTube

Канал: Артем Матяшов

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥7👍6
Разбираем как решать задачи на LeetCode

Примеры решений
Пояснения

Выбери своё направление:

1. Python
2. JavaScript
3. Java
4. C#
5. Golang
6. C/C++
7. PHP
8. Kotlin
9. Swift
👍31🔥1
⚙️ Rkhunter (Rootkit Hunter) — инструмент мониторинга безопасности

✔️Инструмент мониторинга безопасности для систем, совместимых с POSIX. Он сканирует системы на наличие руткитов и других возможных уязвимостей.

➡️ Для этого инструмент ищет:
▶️каталоги по умолчанию (где могут находиться руткиты);
▶️неправильно настроенные разрешения;
▶️скрытые файлы;
▶️модули ядра, содержащие подозрительные строки;
▶️сравнивает хэши важных файлов с известными хорошими.

➡️ Инструмент написан на Bash и может работать в большинстве UNIX-систем.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥3
🔥Тесты для подготовки к собеседованию🔥
Выбери своё направление:

1. Frontend
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. C/C++
9. Golang
10. PHP
11. Kotlin
12. Swift
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥1
👉 Bash

Видеоуроки:
1 — Введение
2 — Основы команд
3 — Файловая система
4 — Переменные shell
5 — Чтение текстовых файлов
6 — Основы потоков ввода-вывода
7 — Run Сommands File
8 — Pipes
9 — Command history
...
34 — Заключение. Путь развития

📹 Плейлист YouTube

Канал: dmdev

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53👍3
⚡️ IT-обучение теперь в Telegram!

В cвязи с недавнем замедлением Ютуба — лучшие обучающие каналы переехали в Telegram

Вот каналы для айтишников:

👩‍💻 DevOps: @DevOps
📱 Python: @Python
📱 GitHub: @GitHub
📱 Frontend: @Frontend
⚙️ Backend: @Backend
🤓 Общее айти: @portalToIT
👩‍💻 Java: @Java
👩‍💻 C#: @Csharp
👩‍💻 С/С++: @Cpp
🖥 Базы Данных & SQL: @SQL
👩‍💻 Golang: @Golang
🖥 PHP: @PHP
👩‍💻 Моб. разработка: @MobDev
👩‍💻 Разработка игр: @GameDev
🖥 Data Science: @DataScience
🤔 Хакинг & ИБ: @InfoSec
🐞 Тестирование: @QA
📱 Маркетинг: @Marketing
🖥 Дизайн: @Design

➡️ Сохраняйте себе, чтобы не потерять
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥1
⚙️ 4-ZERO-3 — инструмент обхода ошибок 403/401 в ответах сервера

✔️Для справки: 401 Unauthorized (Не авторизован) - для доступа к запрашиваемому ресурсу требуется аутентификация. 403 Forbidden — сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу.

▶️Скрипт выведет cURL обхода авторизации, если найдет нужный метод.

➡️ Использует следующие методы обхода: header, protocol, port, HTTP, URL encode, MySQL

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥43