You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Evgeny 2d9fbd9911 1 4 days ago
..
IMPLEMENTATION.md +etcpmon 1 month ago
Makefile gr restore v2 1 month ago
README.md +etcpmon 1 month ago
build.bat +etcpmon 1 month ago
build.sh gui + small fixes 1 month ago
clean.bat +etcpmon 1 month ago
etcpmon_client.c 1 3 weeks ago
etcpmon_client.h monitor to new protocol 3 weeks ago
etcpmon_graph.c график 1 month ago
etcpmon_graph.h восстановление морды (частичное) 1 month ago
etcpmon_gui.c 1 4 days ago
etcpmon_gui.h 1 4 days ago
etcpmon_main.c +etcpmon 1 month ago
etcpmon_protocol.h 1 4 days ago

README.md

ETCP Monitor

Windows GUI утилита для мониторинга ETCP подключений uTun в реальном времени.

Описание

ETCP Monitor - это Windows GUI приложение, которое подключается к работающему экземпляру uTun и отображает статистику ETCP подключений в реальном времени с периодом обновления 100мс.

Архитектура

Протокол управления (бинарный)

Формат сообщения: [2 байта: размер] [1 байт: тип] [payload...]

Команды клиента:

  • 0x01 - запрос списка подключений
  • 0x02 - выбор подключения по peer_node_id
  • 0x03 - запрос метрик выбранного подключения
  • 0x04 - отключение

Ответы сервера:

  • 0x81 - список подключений
  • 0x82 - метрики ETCP + линки + TUN
  • 0xFF - ошибка

Файлы

Общие (протокол):

  • etcpmon_protocol.h - определения структур и констант протокола

Сервер (utun):

  • src/control_server.h - интерфейс control server
  • src/control_server.c - реализация TCP сервера

Клиент (Windows GUI):

  • etcpmon_client.h/c - сетевая часть (Winsock)
  • etcpmon_gui.h/c - GUI (WinAPI)
  • etcpmon_main.c - точка входа

Сборка

Клиент (Windows) - Рекомендуемый способ

Используя MSYS2 UCRT64 (рекомендуется):

cd tools\etcpmon
build.bat

Это автоматически запустит MSYS2 UCRT64 shell и выполнит сборку.

Требования:

  • Установленный MSYS2 (обычно в C:\msys64)
  • Или переменная окружения MSYS2_ROOT с путем к MSYS2

Альтернативные способы:

# Через MSYS2 напрямую
cd tools/etcpmon
bash build.sh

# Через Makefile (если установлен make для Windows)
make -f Makefile.mingw

Очистка:

clean.bat

Сервер (utun)

Control server интегрирован в utun. Сборка стандартная:

./configure
make

Настройка

Конфигурация uTun

Добавьте в utun.conf:

control_ip=127.0.0.1
control_port=9090

Использование

  1. Запустите uTun с настроенным control socket
  2. Запустите etcpmon.exe
  3. Введите IP и порт control сервера
  4. Нажмите "Connect"
  5. Выберите подключение из списка для просмотра метрик

Отображаемые метрики

ETCP Connection:

  • RTT Last/Avg10/Avg100 (микросекунды)
  • Jitter (микросекунды)
  • Bytes Sent (всего)
  • Retransmissions (число)
  • ACK received (число)
  • Unacked bytes (текущие)
  • Links count (число линков)

TUN Interface:

  • Bytes Read/Written
  • Packets Read/Written
  • Read/Write Errors
  • Status (UP/DOWN)
  • Encrypt/Decrypt Errors
  • Send/Receive Errors
  • Total Encrypted/Decrypted Bytes
  • Bandwidth (Kbps)
  • NAT Changes Count

Период обновления

100 мс (10 обновлений в секунду)

Безопасность

  • Поддержка нескольких одновременных клиентов
  • Отдельный TCP сокет (не путать с ETCP UDP)
  • Рекомендуется использовать localhost (127.0.0.1) для локального мониторинга

Лицензия

См. основной LICENSE файл проекта uTun.