Метка «linux» - 77

Системное программирование / [Из песочницы] Учимся писать модуль ядра (Netfilter) или Прозрачный прокси для HTTPS
Эта статья нацелена на читателей, которые начинают или только хотят начать заниматься программированием модулей ядра Linux и сетевых приложений. А также может помочь разобраться с прозрачным проксированием HTTPS трафика.
Небольшое оглавление, чтобы Вы могли оценить, стоит ли читать дальше:Как работает прокси сервер. Постановка задачи.

Клиент – серверное приложение с использованием неблокирующих сокетов.

Написание модуля ядра с использованием библиотеки Netfilter.

Взаимодействие с модулем ядра из пользовательского пространства (Netlink)

P.S. Для тех, кому толькоЧитать полностью »

Убунтариум / На Distrowatch появился новый русско-украинский дистрибутив: Ubuntu DesktopPack
На днях на DistroWatch.com: появился новый русско-украинский дистрибутив Ubuntu DesktopPack, который за 4-е дня с момента публикации стремительно поднялся с 319 позиции на 122.
Популярность обеспечивается наличием в дистрибутиве кроме стандартного интерфейса Unity интерфейсов Gnome Shell (для тех кому новый Gnome-интерфейс нравиться больше чем Unity) и Gnome Classic (для тех кто не привык к инновациям и отдает предпочтение классическому интерфейсу от Gnome). Также в дистрибутиве уже из коробки присутствует полная поддержка мультимедиа, русского, украинского и английского языков, что избавляет от необходимости сразу после установки докачивать что то из интернета.
Читать полностью »

Вдохновившись статьёй Привет из свободного от libc мира, я так же решил проделать нечто подобное. Чтобы не заниматься этим бесцельно, я решил поставить перед собой следующую задачу. Сделать программу, выводящую какую-нибудь простую строку, вроде «ELF, hello!». Разобраться с тем, как именно она будет представлена в исполняемом файле. Ну и попутно, постараться уложиться в 100 байт.
Для начала, стандартный helloworld на C++
#include
using namespace std;
int main()
{
cout << "ELF, hello!n";
return 0;
}

Компилируем, смотри размер:$ g++ test.cpp -static && ls -s -h a.out
1,3M a.out
Сколько, сколько? 1.3 Мб? Для вывода одного единственное сообщения размером в 12 байт? Хм… Ладно,Читать полностью »

Сетевые технологии / DNS сервер BIND (теория)
Основная цель DNS — это отображение доменных имен в IP адреса и наоборот — IP в DNS. В статье я рассмотрю работу DNS сервера BIND (Berkeley Internet Name Domain, ранее: Berkeley Internet Name Daemon), как сАмого (не побоюсь этого слова) распространенного. BIND входит в состав любого дистрибутива UNIX. Основу BIND составляет демон named, который для своей работы использует порт UDP/53 и для некоторых запросов TCP/53.
Основные понятия Domain Name System

Исторически, до появления доменной системы имен роль инструмента разрешения символьных имен в IP выполнял файл /etc/hosts, который и в настоящее время играет далеко не последнюю роль в данном деле. Но с ростом количества хостов вЧитать полностью »

Типографика / [Из песочницы] Шрифты из склепа
Мне от моноширинных шрифтов многого не надо. Адекватная поддержка кириллицы. Для программирования — отсутствие замыливания. Возможность различать 0 (который ноль) и О. Возможность различать I (которое i), l (которое L) и | (которое or). Для работы в консольном двухпанельнике — поддержка псевдографики. Однако в современном мире подобных шрифтов не так, чтобы много. Откуда же их взять?
Осторожно! Под катом — сплошные анахронизмы.
Мне эта мысль не давала покоя довольно долго. Была перепробована куча вариантов, и ни один из них не устроил. Да, есть Terminus, но на его реализацию кириллицы невозможно смотреть без слез, есть Nouveau IBM — он почтиЧитать полностью »

Убунтариум / Открыт репозиторий с играми для Ubuntu 10.04, 10.10, 11.04, 11.10
Вчера на сайте UALinux появилась новость о том, что они подготовили репозиторий с играми для Убунты. Репозиторий содержит 250 игр разного жанра: их можно установить кнопочкой на сайте, или же привычно добавить репозиторий и ставить пакеты.
Сами игры в большинстве своем довольно примитивные: в мире есть уже много чего гораздо круче восстаний антропоморфных кроликов, или шариков в лабиринте, но есть игры из детства, портированные с консоли, аналоги старых добрых Worms, несколько «гоночек» и еще много чего интересного. Ну и, самое главное, что все игры доступны бесплатно: подключай репозиторий, ставь и играй.
Несколько игрушек, кстати,Читать полностью »

Наверное все заинтересованные лица подписаны на соответсвующие рассылки и нет смысла превращать блог в security-notifications, но тем не менее, уязвимость в sudo 1.8.0 — 1.8.3p1 потенциально позволяет выполнить от рута команду любому локальному пользователю, способному запустить sudo. CVE-2012-2809
Во FreeBSD уже пропатчились, линупсы пока спят, а в случае стабильных веток им всё равно — ветка sudo 1.7 уязвимости не подвержена.
Ошибка кроется в передаче vfprintf argv[0] в функции отладочного вывода.
С помощью ключа компиляции FORTIFY_SOURCE можно усложнить эксплуатацию бага, без него эксплоит совсем простой.Оригинальное описание.

Читать полностью »

Введение

Итак, в интернете можно найти статьи о том что в Raspberry флешки «живут» 2-3 месяца, после чего приходят в негодность. Предложенные решения — заменить стандартную microSD карточку на USB HDD. Решение простое, надёжное, плюс повышается скорость чтения/записи. Но почему флешки так быстро «умирают»? Могут ли те же факторы навредить жёсткому диску? И так приступим!
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js