аукцион / FPR / donate / услуги / RSS / распечатать / вход 
Мой мир
Вконтакте
Одноклассники

Дневник волка путешественника!



NetFlow v5 Python (часть 5) запись в MySQL

По сути финальная часть всего проекта — это запись Netflow в базу данных. В дальнейшем можно будет писать разборщик пакетов и вывод красивых графиков с использованием данных хранимых в БД. Как самый частый в бесплатных и опенсорсных проектах был выбран MySQL. Эта программа берёт файл с Netflow-пакетами и записывает их в нашу БД. Если таблицы с данными нет, то она будет создана автоматически. В общем, необходимо будет только заполнить переменные с адресом MySQL-сервера, именем пользователя, паролем и именем базы. Дальше программа сама разберётся, что ей делать.

Вопрос о том как дальше разбирать данные будет решаться совсем другими методами.

Тэги: ИТ, Cisco, программирование, Питон

Отредактировано:2021-03-02 10:42:21 | Читать полную версию...




NetFlow v5 Python (часть 4) анализатор конвертор

После того как будут собраны данные Netflow с помощью коллектора, эти данные необходимо как-то подготовить. Для тестирования и для того, чтобы можно было увидеть данные глазами я решил сделать конвертор. Этот конвертор будет сохранять данные в файл в понятном человеку виде.

Собственно исходник файла, на основании которого вы сможете сделать свой анализатор с Блэк Джеком и дамами лёгкого поведения.

Тэги: ИТ, Cisco, программирование, Питон

Отредактировано:2021-03-01 08:35:11 | Читать полную версию...




NetFlow v5 Python (часть 3) коллектор

Самописный коллектор для Netflow написанный на Python уже готов. Я пишу на третьей версии Python, по этому проблем с совместимостью с современными системами не должно возникнуть. В боевом режиме он используется на Windows, но он так же параллельно работает на Linux дистрибутивах. Если у вас возникнут проблемы, то можете обращаться ко мне, при наличии свободного времени могу оказать посильную помощь.

Логика действий у него такая. Приходящий набор разбирается по пакетам. В среднем их 30 штук в одном наборе. После их разбора они записываются в файл в бинарном виде. От текстового формата я отказался, так как он занимает слишком много места и при обработке тратится больше времени. Я так же планирую записывать в базу данных в бинарном виде, так как — это не только экономит место, но и ускоряет работу SQL-сервера. Ни для кого не секрет, что сравнивать целые числа быстрее чем строки. А уже потом можно привести к читаемому виду. Тем более, что в Python и PHP есть инструменты для конвертации из четырёхбайтового представления и обратно. Учитывая, что на уровне коллектора и анализатора нет потребности манипулировать с IP-адресами, то потребуется только работа на PHP. Например, для получения четырёхбайтового представления из строки можно использовать функцию int ip2long(string ip_address);, а для получения строки из четырёхбайтового представления можно использовать функцию string long2ip(int proper_address);.

Тэги: ИТ, Cisco, программирование, Питон

Отредактировано:2021-02-24 15:17:51 | Читать полную версию...




NetFlow v5 Python (часть 2)

Написание собственного коллектора для Netflow на Python продолжается. Текущий вариант коллектора «ловит» входящий трафик и пишет его в файлы каждую минуту. Потом можно будет написать парсер, который будет «разбирать» собранные нами данные и сортировать как нам захочется. Для себя я пока пишу немного другой коллектор который пишет в файлы двоичный код, что многократно уменьшит объём хранимой информации. В принципе, метод хранения не принципиален, так как в дальнейшем эта информация будет записываться в БД, а на диске будет удалёна. Дисковое хранение требуется для гарантированной записи и ускорения работы скрипта, у меня используется SSD диск для временного хранения данных.

Текущий код для коллектора теперь выглядит вот так:

Тэги: ИТ, Cisco, программирование, Питон

Отредактировано:2021-02-17 12:59:52 | Читать полную версию...




NetFlow v5 Python (часть 1)

NetFlow является замечательным инструментом для контроля трафика в сети. Для него существует масса коммерческих и бесплатных продуктов, но иногда системным администраторам хочется чего-то странного. Например, мне захотелось написать свой собственный коллектор и анализатор. Будто бы я смогу смогу сделать лёгкий, переносимый и оптимальный вариант который меня полностью удовлетворит. Естественно, что мне захотелось его написать на Python с использованием стандартных библиотек. Но поискав на просторах сети информацию по этому поводу я нашел, что масса примеров и попыток реализаций уходит корнями в пример господина Брайна Рэка. При этом его никто не упоминает, но регулярно выдают его код за свой. В большинстве случаев добавляется вывод в файл, вместо терминала. Опять же я тоже продублирую код из блога этого замечательного человека. Если вы знаете автора более начального уровня, то пишите в комментарии.

Сегодня только продублирую этот код и покажу результат его вывода и опишу своё видение идеального коллектора для NetFlow.

Тэги: ИТ, Cisco, программирование, Питон

Отредактировано:2021-02-24 15:19:35 | Читать полную версию...




Cisco SNMP получение MAC-адресов на интерфейсе роутера

Для получения списка MAC-адресов на том или ином интерфейсе роутера Cisco можно зайти на роутер и дать команду show arp. В результате нам будут показаны все адреса со всех интерфейсов роутера. А если взять случай с сетью в которой имеется около полусотни роутеров, да ещё вспомнить, что в каждой из сетей пара сотен компьютеров. А ещё в некоторых сетях по три или десять VLAN. Вот тогда ручная задача будет крайне затруднительна. И нам на помощь приходит Python. Раньше нечто аналогичное я делал с использованием библиотеки pexpect, с помощью которой я подключался по SSH к каждому роутеру и потом анализировал полученные данные. Но с использованием SNMP на Cisco и библиотеки pysnmp можно одним запросом получить список IP-адресов и MAC-адресов на интересующих интерфейсах.

Для запроса используется OID: 1.3.6.1.2.1.4.22.1.2.N, где N — это номер интерфейса. Конечно, можно взять уровень выше и запросить MAC со всех интерфейсов: 1.3.6.1.2.1.4.22.1.2. Я не буду публиковать огромную портянку, которая опрашивает кучу устройств используя данные со SQL-сервера, иначе статья займёт катастрофический объём и ограничусь выводом заранее прописанного IP-адреса роутера. А дальше вы подправите под свои нужды.

Тэги: ИТ, Cisco, программирование, Питон

Отредактировано:2021-02-15 12:14:34 | Читать полную версию...




Cisco SNMP запрос информации об интерфейсах

По SNMP можно получить информацию об именах интерфейсов, полученных IP-адресах и масках подсети, а так же ещё очень много информации. Так как я периодически выкладывал свои наработки в сети и они «расползались» под видом чужих работ, то я плюнул и удалил всё, что писал для себя и друзей. Но в последнее время меня часто просят структурировать и вернуть скрипты которые я писал. Так как я сейчас активно пользуюсь языком программирования Python, то я буду всё переписывать и адаптировать под него.

Недавно возникла необходимость написать скрипт, который будет опрашивать роутеры Cisco и узнавать у них имена интерфейсов и IP-адреса с последующей выгрузкой в JSON. Но для примера я сделаю вывод данных о полученных значениях.

Тэги: ИТ, Cisco, программирование, Питон

Отредактировано:2021-02-15 12:05:01 | Читать полную версию...




Как включить вложенную виртуализацию в Hyper-V Server 2019

Вложенная виртуализация появилась в Hyper-V начиная с 2016 сервера. Необходимость подобной технологии довольно спорная, но иногда появляется потребность её использовать. Например, для множественных экспериментов. Но у меня возникла следующая проблема. У меня имеется Hyper-V инфраструктура на которой есть два терминальных сервера для удалённой работы пользователей. Так же мне на нём необходимо было запустить оснастку для управления Hyper-V серверами. Проблема возникла в том, что раньше можно было запустить установку GUI для Hyper-V как отдельный компонент, а в 2019 сервере это всё ставится вместе. Соответственно, что без поддержки виртуализации со стороны процессора установка компонент Hyper-V прерывается. Установку только GUI произвести не удавалось. По этому решение было одно — это установить поддержку вложенной виртуализации. Благо подобное можно было запустить из Powershell всего одной командой.

И так порядок действий такой. Останавливаем работу виртуальной машины. Либо из GUI, либо командой shutdown /p на гостевой системе.

Тэги: ИТ

Отредактировано:2021-01-29 10:56:26 | Читать полную версию...




Третий поход к ратологу

Мой крыс от стресса стал разгрызать свою лапу с пододерматитом. Пока мы отдыхали в Новосибирске он был на передержке, что привело к очередному стрессу. И вот в очередной раз я договорился с нашим ратологом, чтобы посмотреть лапку моего крысюка. Кстати, на улице было дико холодно и по этому я его нёс запазухой. Хома дома любит запазухой сидеть, но не когда с улицы тянет массой странных запахов. Он не пытался убежать, а постоянно высовывал мордочку чтобы понюхать, понимал, что снаружи холодно и сразу прятался. В автобусе ему стало жарко и он попытался максимально выбраться, но я его переложил по другому и сильнее расстегнул одежду. Тогда он успокоился и спал до самой нашей остановки.

В результате общения и осмотра, ратолог пришла к выводу, что моему Хоме уже два года и он уже довольно старенький. По этому он стал худеть и его образ жизни стал менее активным.

Тэги: домашние животные

Отредактировано:2021-01-13 06:19:30 | Читать полную версию...




Подготовка к Новому году 2021

Этот Новый год я проводил со своей девушкой Натрой с её мамой и братьями. Но помимо подарка, в виде вкусняшек и средств для ухода за телом, я хотел сделать что-нибудь своими руками. Мой подарок-долгострой я еще не смог реализовать, хотя перепробовал штук шесть вариантов, когда я нахожу что-нибудь более оригинальное то сразу пытаюсь это примастрячить к этому подарку, что приводит к затягиванию всего проекта. Так вот, я решил сделать волка из бумаги. Пересмотрел несколько моделей, но только одна меня «зацепила»... вот её я и решил реализовать.

Бумажный волк из полигонов.
Бумажный волк из полигонов

Тэги: своими руками

Отредактировано:2021-01-15 05:41:22 | Читать полную версию...


Этот сайт использует файлы cookies, чтобы упростить вашу навигацию по сайту, предлагать только интересную информацию и упростить заполнение форм. Я предполагаю, что, если вы продолжаете использовать мой сайт, то вы согласны с использованием мной файлов cookies. Вы в любое время можете удалить и/или запретить их использование изменив настройки своего интернет-браузера.

Сообщайте мне о замеченных ошибках на: web@orcinus.ru. Все пожелания и советы будут учтены при дальнейшем проектировании сайта. Я готов сотрудничать со всеми желающими. В некоторых случаях, мнение автора может не совпадать с мнением автора! Phone: +7-902-924-70-49.

Top.Mail.Ru
Top.Mail.Ru LiveInternet Rambler's Top100 Яндекс.Метрика