2.6 KiB
2.6 KiB
Руководство по установке
Требования
| Компонент | Версия | Назначение |
|---|---|---|
| Linux | любой дистрибутив | ОС (raw sockets доступны только на Linux) |
| Go | ≥ 1.22 | Компиляция бэкенда |
| GCC | любая | Компиляция CGO (go-sqlite3) |
| libpcap-dev | любая | Захват пакетов |
| Bun | ≥ 1.1 | Сборка фронтенда |
Установка зависимостей
Debian / Ubuntu
sudo apt update
sudo apt install -y golang gcc libpcap-dev
# Bun
curl -fsSL https://bun.sh/install | bash
Arch Linux / CachyOS
sudo pacman -S go gcc libpcap
# Bun
yay -S bun-bin
# или
curl -fsSL https://bun.sh/install | bash
Fedora / RHEL
sudo dnf install golang gcc libpcap-devel
curl -fsSL https://bun.sh/install | bash
Сборка и запуск
1. Клонирование репозитория
git clone <repo-url> dip-ids
cd dip-ids
2. Бэкенд
# Загрузить зависимости
go mod tidy
# Собрать бинарник
go build -o nids ./cmd/ids
# Запустить (sudo обязателен для live-захвата)
sudo ./nids
# API доступен на http://0.0.0.0:8080
Конфигурация загружается из configs/config.yaml. Альтернативный путь:
sudo ./nids /path/to/custom-config.yaml
3. Фронтенд (dev-режим)
cd frontend
bun install
bun run dev
# Панель доступна на http://localhost:3000
4. Фронтенд (production-сборка)
cd frontend
bun run generate
# Статические файлы в frontend/.output/public/
Настройка интерфейса
Узнать имя сетевого интерфейса:
ip link show
# или
sudo tcpdump -D
Обновить в configs/config.yaml:
capture:
default_interface: "enp3s0" # ← ваш интерфейс
Права доступа
Live-захват требует доступа к raw sockets. Варианты:
Вариант 1 (рекомендуется для разработки):
sudo ./nids
Вариант 2 — capabilities (без sudo):
sudo setcap cap_net_raw,cap_net_admin=eip ./nids
./nids
Вариант 3 — только PCAP анализ (без специальных прав):
Загружайте готовые .pcap файлы через веб-панель, бэкенд можно запускать без sudo.