Pull to refresh
5
0
Щербак Илья @Tthread

User

Send message

Простой монитор сетевых интерфейсов Linux, с помощью netlink

Reading time 12 min
Views 25K
Однажды, в одном из проектов, мне понадобилось организовать строгий и надежный контроль над всеми сетевыми интерфейсами, таблицами маршрутизации, а так же получать нотификации о каких-либо изменениях. Было принято стратегическое решение — не использовать старые-добрые ioctl netdevice (SIOCGIFMETRIC, SIOCSIFNAME и т.п.) или непосредственные вызовы соответствующих утилит (ifconfig, route и т.д.), а найти более современное и болле удобное решение. Оно было найдено — libnetlink. Это библиотека, предоставляющая большое количество методов для коммуникации с ядром, с помощью механизма netlink. Данная библиотека идеально подходила для моих целей, позволяя решить огромное количество задач. К сожалению, у библиотеки оказался не особо удобный и довольно сложный API, требовавший совершать множество непонятных действий. Особого веселья добавляло практически полное отсутствие документации и вообще любых материалов на эту тему.
Подумав, я решил как следует разобраться в netlink и написать свою библиотеку. В данный момент реализован весь функционал для работы с нотификацией, сетевыми интерфейсами, таблицами маршрутизации, разумеется поддерживаются IPv4 и IPv6. В достаточно скором времени данный проектик будет представлен на суд общественности :) А пока я бы хотел познакомить всех интересующихся с прекрасным миром netlink, на примере простого монитора сетевых интерфейсов.
Читать далее...
Total votes 53: ↑51 and ↓2 +49
Comments 4

xinetd + netcat → подводные камни

Reading time 3 min
Views 4.3K
Если на удалённом сервере нужно делать какие-то действия, но лень возиться с написанием сетевого сервиса, на помощь приходит xinetd.

Лёгкость написания серверов для xinetd привлекательна, это действительно просто: пишем на любом языке простой скрипт, который работает с stdin и stdout (в простейшем случае это обычный REPL) и получаем одновременно консольную утилиту и сетевой сервер в одном флаконе.
После одной минуты на правку конфига xinetd получаем работающий сервер, к которому можно подключаться telnet-ом или netcat-ом и видеть результат на консоли.

image
Читать дальше →
Total votes 1: ↑1 and ↓0 +1
Comments 2

Хорошо для пользователей — эффективно для корпорации

Reading time 13 min
Views 4.4K
image    Говорят, наблюдать за тем, как работают другие, исключительно приятно. Гораздо интересней и полезней смотреть на то, как работают хорошие специалисты в солидной компании — именно такая возможность предоставится победителям конкурса «3 дня с IT@Intel» осенью. Но пока жаркое лето, поэтому я предлагаю ознакомиться с «теоретической» частью, через очередное интервью с одним из IT-сотрудников Intel.
Читать дальше →
Total votes 46: ↑27 and ↓19 +8
Comments 23

Information

Rating
Does not participate
Location
Барнаул, Алтайский край, Россия
Date of birth
Registered
Activity