dreamhunter
Рейтинг
+1.70
Сила
3.30

dreamhunter

Владимир

Ubuntu 14.04 LTS, старые компьютеры и старые видеокарты

… Скорей всего неофитам этого не понять. Но были времена, когда я мечтал о Hyperthreading P4 3GHz c видеокартой Ati radeon 9800 (что характерно с необходимостью доп. питания). И вот пару дней назад мы с мужиками вернулись с холодного склада, откуда вилами выкидывали старое барахло. И вот она у меня на столе. Когда то супер компьютер, сейчас — не сказать что бы очень.
Ну чтож, посмотрим, можно ли это куда-нибудь применить…

Читать дальше →

Настройка кеширующего интернет-шлюза

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

Существует множество решений — платных и бесплатных. Многие интеграторы проповедуют следующую схему подключения корпоративных пользователей:

На данной схеме пользователи могут работать с интернет только через прокси. Прокси регулирует абсолютно весь трафик. FireWall блокирует весь остальной трафик.

Читать дальше →

Тестируем мое творение.

Собственно все здесь: https://sourceforge.net/projects/netflow/

Программа умеет обрабатывать данные по IPv4 с сенсоров NetFlow v5 и v9. Плюс ко всему прикрутил веб-интерфейс. Скриншоты так же по ссылке.
Конечно есть, что еще делать, но программа уже сама по себе позволяет многое. А главное она показывает результаты.

Самая главная трудность заключалась в многопоточности, однако и это я преодолел.

Абсолютно весь проект сделан снуля. Конечно я позаимствовал кое что, но это можно больше отнести к best practice.

О всех возникших проблемах просьба сообщать в комментариях — буду исправлять.

Отпуск

Лето… Скатался с женой в отпуск… Отдыхал в санатории недалеко от города — каких-то 30 км.
Честно говоря я недоволен. Повсюду рекламируют эти ваши интернеты через 3G модемы. Мол собрался на дачу, а высокоскоростной интернет у тебя в кармане. А вот фигу вам. Я кое-как нашел в номере точку, в которой ловит этот самый 3G (под конец отдыха).

Не, я все понимаю, что нужно дышать чистым воздухом, ходить на процедуры, питаться по расписанию и все в этом духе. Но я, например, привык с моими родными общаться не по телефонной связи, а по видео через скайп (нахаляву естественно). Плюс нужно погоду посмотреть (очень актуально на отдыхе). И вообще не хочется терять этот вид связи. А тут вот такая засада…

В общем мне не понравилось бегать к корпусу с рабочим вай-фай что бы позвонить и открыть пару страниц, заплатив при этом за люкс…

В России как всегда «умеют» организовать отдых.

NetFlow, Perl и Threads

Ну вот можно и поздравить меня с освоением нового горизонта. Кто-то может и усмехнется, что для него такие вещи семечки, однако этот кто-то вряд ли занимается чем то кроме своей специализации (в отличие от меня).

Задача: Создать многопоточное приложение, которое позволяет осуществлять обработку информации, полученной с большого количества сенсоров.

Главная проблема: Данные NetFlow передаются по UDP. Если пакет данных не был считан вовремя, он теряется. Все просто, когда у тебя 1-2 сенсора. В этом случае проблем никаких нет. Коллектор будет успевать перерабатывать данные. Тем более непосредственную переработку можно переложить на другую программу. Конечно потребуется создать вспомогательные таблицы, из которых можно сводить все в нужный вам вид. Но это не великое зло… Самое великое зло наступает в тот момент, когда вы хотите считать информацию с 10-20 нагруженных сенсоров.

Решение: Решение напрашивается самим собой — многопоточность. С одной стороны это действительно дремучий лес. Необходимо согласовать асинхронную обработку, распределить потоки данных и уследить за тем, что бы не пошла утечка памяти.
Лично я воспользовался нитями Perl (threads). Это механизм «легковесных» потоков. Сразу оговорюсь: Да, на самом деле эти потоки не легковесные. Приложение будет занимать порядочное место в памяти и кушать ресурсы по полной. Однако задачи сэкономить ресурсы не стоит. Наоборот, речь идет о полной утилизации ресурсов. То есть, что бы программа использовала ресурсы на полную катушку, удовлетворяя потребности в переработке данных.

Читать дальше →

Joomla - не так все хорошо.

Недавно столкнулся с использованием сего чуда. Я всегда люблю узнать что-то новое, потому с радостью окунулся. Окунулся не то слово.

Статью по самой джумле я может быть напишу позже. «Порадовал» меня вот какой случай…

Если кто не знает, сама джумла — это движок для сайтов, на который можно подключить все что угодно. От обилия шаблонов, свистелок и перделок в глазах рябит.
Первым делом я (естественно) искал шаблон. Скачал несколько вариантов и задействовал который более понравился. Далее (как водится) я его допиливал… Тут обычная рутина. Допиливать приходится все бесплатное.
И тут я почувствовал неладное. На сайте вылезли скрытые блоки с рекламой. Для не знающих: Тема в том, что проблем нет, пока вы не попытаетесь «засветить» свой сайт в поисковых системах. А те, не смотря на указанные вами дескрипторы и метатеги, могут показать любую информацию на странице, в том числе и информацию, содержащуюся в скрытых блоках.
Конечно же инъекцию я нашел и убил сразу. Потом я нашел сайт, откуда оно взялось и решил восстановить справедливость — написать хотя бы на тематическом русском форуме о нехорошей деятельности.

Читать дальше →

Netflow-искания Часть 4.2 (Анализ данных)

Налепил я скрипт, который что-то где-то собирает и вот встает вопрос: что делать дальше? Ну собрал ты данные — молодец. Однако необходимо их как то представлять?
На самом деле тут должен явиться мега-супер спец по SQL. Но пока такового нет, я вам кое что покажу…

Задача: Отобразить данные, собраные с шайтан-машина Cisco router, шайтан-скриптом dreamhunter-a.

Читать дальше →

Netflow-искания Часть 4.1 (Netflow v9 collector script)

В общем похоже некий этап преодолен и теперь можно продемонстрировать первую версию моего коллектора. И да, я расположил свой скриптец на sourceforge. Это было по крайней мере мне интересно сделать.

Возможности:
  1. Работа с протоколами NetFlow 5 и 9 версии;
  2. Работа со всеми устройствами через один или несколько портов;
  3. Хранение данных в базе MySQL;
  4. Работа с различными типами сенсоров;
  5. Работа на различных ОС.

Системные требования:
  1. PIII и выше;
  2. 512MB RAM;
  3. наличие сетевого адаптера.

Требования к ПО:
  1. OS windows/*nix/MacOS (да, эта фигня должна работать на всем подряд, вопрос в прямоте ваших рук);
  2. MySQL 5.5 версии и выше;
  3. Perl 5.14 и выше.

Читать дальше →

Netflow-искания Часть 4 (Netflow v9 collector)

Предисловие:

Опасное это дело, Фродо, — выходить за порог: стоит ступить на дорогу и, если дашь волю ногам, неизвестно куда тебя занесёт.

Задача: Получить и обработать данные с сенсора netflow v9.

Подготовка
Запускаем уже полюбившийся скрипт и захватываем первый пакет, переданный от маршрутизатора:
#!/usr/bin/perl
use IO::Socket::INET;
$| = 1;
my ($socket,$received_data);
my ($peeraddress,$peerport);
$socket = new IO::Socket::INET (
LocalPort => '9999',
Proto => 'udp',
) or die "ERROR in Socket Creation : $!\n";
while(!$recieved_data)
{
$socket->recv($recieved_data,4096);
}

open (MYFILE, '>data.txt');
print MYFILE $recieved_data;
close (MYFILE);

$socket->close();

Читать дальше →

GNS3 - Решение для начинающих администраторов. Часть 1.

Предисловие
Хочется предаться воспоминаниям, как я на недопиленной FreeBSD 4.7, Р166 и с 10 мегабайтами интернета в день мастерил свой первый DHCP/DNS/SMB/HTTP сервер. О наличии управляемого коммутатора и тем более маршрутизатора речи вообще не шло (до поры). Но к моему счастью наш админ быстро уволился и мне досталось небогатое, но всеже наследство: Сеть с коммутаторами HP Procurve 2524, несколькими серверами FreeBSD ну и прочая требуха, включая капризных пользователей. К сожалению знаний у меня было вообще ноль, а освоить все за один раз очень сложно. Естественно первым делом я освоил FreeBSD и тогда еще WinNT Server. Непосредственно маршрутизацией (и switching) я занялся через 5 лет после начала работы на месте системного администратора. Но время идет и все становится лучше в сфере IT. Однако без опыта все равно сделать ничего не получится. Не хочу показаться ненавистником Microsoft, но они и впрямь усугубляют все дело. Современный администратор Microsoft серверов может полностью настроить сервер DNS/HTTP/DHCP/NTP/etc, при этом не понимая, как это на самом деле работает… Когда я это обсуждал с ними, были случаи что на меня смотрели пустыми глазами и задавали вопрос: а зачем мне понимать? У меня есть интеграторы, горячая линия поддержки Microsoft. За глаза им скажу: Ты либо понимаешь принципы работы, либо ты всего лишь ненужная жировая прослойка между этим саппортом и твоим работодателем.
Итак, дорогой друг, ты решил пойти трудным путем сетевого администратора. Что это значит? На моем предприятии сетевой администратор это тот, кто занимается исключительно сетевыми устройствами. В моем понимании сетевой администратор должен заниматься сетевыми сервисами. То есть внутри отдела можно распределить задачи и взаимодействовать без лишних обращений в группу серверов. Если возложить сетевые сервисы на серверных специалистов (например DNS и DHCP), то возникает необходимость в разработке регламентов работ — очень больная тема. Грубо говоря со своими проще договориться чем с коллегами из другого отдела. Для тех, на кого ориентирована статья эти проблемы могут быть непонятными и далеко впереди идущими, так что отнесем это к лирике.

Задача: Создать полнофункциональный виртуализированный стенд из маршрутизаторов Cisco и виртуальных машин для проведения различных тестов и обучения.

Читать дальше →

FreeBSD - Феникс, возрожденный из DUMP-a

… Сколько времени я уговаривал админа, чтобы выделил мне виртуалку. И главное не забавы для, а дела ради. И с какой радостью/скоростью мне ее грохнули. Молодцы ребятки. Все правильно сделали. Одно только неправильно сделали — предупредили меня о том, что все грохнут за пару часов до времени «Ч».

Задача: эвакуировать сервер с VMWare куда угодно. Например на VirtualBox.

Имеем: виртуальную машину FreeBSD на VMWare кластере и очень мало времени.

Читать дальше →