- Авторы решений: Миноцкий Ян, Козлов Роман, Арефьев Сергей, Носков Сергей
- Время разработки: сентябрь 2021 - декабрь 2021
Наше приложение АИСТ созданно с целью анализа трафика, который приходит на интерфейс вашего устройства Linux.
- Загрузить репозиторий
git clone https://github.com/Yan-Minotskiy/B-B.git
- Перейти в загруженный репозиторий
cd B-B
- Выполнить команду
docker-compose up
Готово! Мои поздравления, теперь Вы владеете мощным интсрументом для анализа трафика и построения карты обмена данных 👍
Для начала пробежимся по структуре приложения, затем остановимся подробнее на каждой возможности отдельно
Наше приложение умеет:
- "Слушать" трафик, который приходит на интерфейс, Вашего устройства.
- Строить Dashboard для фундоментального изучения сети
- Формировать карту обмена данных для визуализации премещения пакетов
- Сохранять полученную информацию для последующей передачи
Включается автоматически при запуске приложения. То есть, как только запустился докер, приложение начинает записывать все проходящие пакеты данных в базу данных
На основе полученных данных приложение строит Dashboard, в котором отражается текущее состояние сети
Самая первая диаграмма "Основная информация о трафике" показывает соотношение входящего трафика к исходящему
Диаграмма "Загруженность канала в разрезах времени" показывет сколько пакетов данных прошло через текущий интерфейс за выбранный промежуток времени
Круговая диаграмма о протоколах подключения показывает, какие протоколы используется при передаче данных
Диаграммы IP адресса и MAC адресса показывают топ-10 отпраляющих и принимающих адрессов соответственно
Сформированную карту можно посмотреть в разделе "География трафика". Мы можем с помощью карты посмотреть конкретную точку, откуда или куда было движение пакета Также есть возможность на круговой диаграмме ознакомится с соотношением пакетов к стране
Сохранение производится путем записи в базу данных, которая управляется СУБД Postgres
- Python (Используемый язык программирования)
- Docker (ПО для автоматизации развёртывания и управления приложением)
- Postgres (СУБД)
- Plotly (Библиотека для отрисовки графиков)
- Python Requests (Инструмент для составления HTTP-запросов)
- Psycopg (Используемый адаптер базы данных PostgreSQL для языка программирования Python)