C++ Academy
15.5K subscribers
864 photos
143 videos
1 file
769 links
По всем вопросам- @workakkk

РКН: clck.ru/3FmxJF

#VRHSZ
Download Telegram
📌 Linux From Scratch

Интересуетесь созданием собственного дистрибутива Linux? В сети доступна бесплатная книга 2024 года, которая поможет вам в этом! Почти 400 страниц содержится вся необходимая информация, чтобы создать свою собственную версию Linux.

На освоение материала вам потребуется примерно 2-3 недели, но результат того стоит.

Не упустите шанс погрузиться в мир кастомизации Linux.

#Linux #OpenSource #Программирование #ИТ #Учебники

📚 Книга
📚Книга на русском

@cpluspluc
👍25🔥54🤣4
🧵 Пишем свой сетевой стек с нуля: Ethernet и ARP на C

Хочешь разобраться, как работает TCP/IP на самом низком уровне?
В этой статье показано, как реализовать Ethernet и ARP в пользовательском пространстве Linux — на чистом C.

🔌 Что используется:
- TAP-устройство для приёма и отправки "сырых" Ethernet-кадров
- Структуры с __attribute__((packed)) для точного соответствия форматам
- Чтение и парсинг ARP-пакетов вручную

📦 Что реализуется:
- Создание ARP-запросов и обработка ответов
- Простейший ARP-кэш
- Парсинг и генерация Ethernet-фреймов
- Весь ввод-вывод — в user space

🧠 Зачем это нужно?
- Понимание, как работают сетевые интерфейсы на уровне байтов
- Практика системного программирования на C
- Основа для написания своего сетевого стека: IPv4, ICMP, UDP, TCP

📚 Статья:
https://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp/

💻 Исходники на GitHub:
https://github.com/saminiir/level-ip

#Linux #Networking #C #TCPIP #ARP #Ethernet #DevLowLevel #СистемноеПрограммирование
👍19🔥51💊1
C умел «объектный стиль» задолго до модных споров про ООП.

В Linux-драйверах это видно особенно хорошо. Каждый драйвер фактически реализует интерфейс, просто заполняя структуру с указателями на функции.

file_operations из include/linux/fs.h - хороший пример. Ядро говорит: вот набор операций, которые может поддерживать файл, сокет или устройство. Драйвер сам решает, какие обработчики дать:

open
read
write
release
mmap
fsync
unlocked_ioctl

Если операция не нужна, поле остаётся NULL, и ядро использует поведение по умолчанию там, где это возможно.

По сути это тот же контракт между системой и реализацией, только без классов, наследования и рантаймовой магии. Есть таблица функций, есть объект, есть набор действий, которые с ним можно выполнить.

Именно поэтому C до сих пор живёт в ядрах, драйверах и системном коде. Он не навязывает модель абстракций, но даёт достаточно низкоуровневых инструментов, чтобы собрать нужную модель самому.

Просто вместо красивого слова interface у тебя struct с function pointers.

#programming #linux #c
👍1711🥰2🥱1
✔️ Furtex: исследовательский набор для Linux post-exploitation и обхода EDR

В open source вышел Furtex - низкоуровневый toolkit для изучения техник post-exploitation и evasion в Linux.

Проект построен вокруг io_uring, BPF и eBPF. Автор намеренно отказался от liburing и готовых фреймворков: взаимодействие с ядром реализовано через raw syscalls.

В репозитории собраны эксперименты для:

- анализа возможностей io_uring
- исследования BPF-карт и программ
- тестирования Linux EDR
- изучения видимости событий для средств мониторинга
- проверки защитных правил Falco
- исследования сетевых и процессных механизмов ядра

Furtex интересен специалистам по Linux security, разработчикам EDR и red team-инженерам, которым важно понимать, какие действия могут проходить мимо привычных точек наблюдения.

Автор отдельно подчёркивает: проект предназначен только для разрешённых исследований и тестирования собственной инфраструктуры.

https://github.com/MatheuZSecurity/Furtex

#linux #cybersecurity #ebpf #io_uring #research
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍31