Модератор: вероятно, при создании данной статьи использовался ИИ. Объёмы и профиль использования известны только автору.
Пошаговый разбор того, как ТСПУ анализирует трафик от первого SYN до поведенческого ML. С конкретными числами, реальными алгоритмами и объяснением почему одни протоколы умирают на первом байте, а другие живут месяцами.
Большинство объяснений про DPI звучат так: «система смотрит на пакеты и блокирует плохие». Примерно как объяснить работу компилятора словами «берёт код и делает программу» формально не ложь, но понять из этого что-либо невозможно.
Ниже то, что реально происходит с пакетом от момента выхода с твоего устройства до момента, когда ТСПУ принимает решение. Пошагово, с числами.
Нулевой момент: SYN-пакет
Ты нажимаешь Enter. Браузер или прокси-клиент отправляет TCP SYN на удалённый сервер.
В пакете: IP-заголовок (твой IP, IP назначения, TTL, протокол) и TCP-заголовок (порты, флаг SYN, sequence number, размер окна, TCP-опции). Данных приложения нет вообще — это просто «хочу соединиться».
ТСПУ на этом этапе уже смотрит, но не блокирует. Создаёт запись в таблице соединений: IP источника, IP назначения, порт, время начала. По наблюдениям сообщества ntc.party (для входа возможно потребуются танцы с бубном), первые пять пакетов соединения проходят без активного вмешательства — система собирает данные.
Пакеты 1–5: сбор контекста
За первые пять пакетов ТСПУ собирает базовый профиль соединения. Три вещи интересуют её здесь больше всего.
TTL. Windows отправляет TTL=128, Linux — 64, некоторые устройства — 255. Пакет с TTL=63 прошёл через один хоп от отправителя, TTL=62 через два. Это даёт приблизительную топологию между тобой и сервером. Нужно это для одного: детекции fake-пакетов. Zapret и аналогичные инструменты отправляют поддельные пакеты с намеренно заниженным TTL чтобы они доехали до ТСПУ, но не доехали до реального сервера. ТСПУ научилась это видеть.
TCP-опции. В SYN-пакете: MSS, Window Scale, SACK, Timestamps. Их набор и порядок — отдельный fingerprint. Linux-ядро отправляет один набор, Windows другой, iOS третий. Если заявленная ОС и реальный набор опций не совпадают — аномалия.
Размер первого пакета данных. Если первый содержательный пакет после рукопожатия короче 83 байт — подозрительно. TLS ClientHello намного длиннее. Очень короткий первый пакет: либо кастомный протокол, либо намеренное разбиение для обхода DPI.
Байты 0–5: протокольный маркер
Первые несколько байт данных приложения — самая быстрая проверка. Буквально memcmp() против таблицы паттернов.
TLS ClientHello начинается строго так:
16 03 01 xx xx 01 00 xx xx xx 03 03...
0x16 — Content Type: Handshake. 0x03 0x01 — TLS-версия (legacy-поле, всегда 1.0). 0x01 — Handshake Type: ClientHello. 0x03 0x03 — TLS 1.3 внутри ClientHello.
OpenVPN начинается иначе. Shadowsocks без обфускации выглядит как статистически случайные байты — что само по себе маркер. WireGuard имеет характерный UDP-заголовок. SSH начинается с SSH-2.0-.
Работает за микросекунды, стоит почти ничего, убивает OpenVPN, чистый WireGuard, SSH-туннели и старые Shadowsocks. VLESS с TLS эту проверку проходит — первые байты идентичны любому HTTPS.
Байты 6–300: TLS ClientHello и JA3
ClientHello — самый информативный пакет для детектора. Он содержит список cipher suites, список TLS-расширений с их содержимым, поддерживаемые elliptic curves, форматы точек, SNI в открытом виде, ALPN и GREASE-значения (если это настоящий Chrome).
Из всего этого вычисляется JA3-хэш:
JA3 = MD5( SSLVersion, Ciphers, # без GREASE-значений Extensions, # без GREASE, без padding (21) EllipticCurves, EllipticCurvePointFormats )
TLS Fingerprinting with JA3 and JA3S - Salesforce Engineering Blog — рекомендую ознакомиться. Реальный Chrome 120 на Windows 11 даёт конкретный хэш. Go-стандартная crypto/tls без uTLS — другой. Этот хэш известен и внесён в базы детекции.

JA4 — более новая версия (FoxIO, 2023): менее чувствителен к порядку расширений, разделяет клиентскую и серверную части, даёт более стабильный отпечаток. DPI-системы переходят на него.
SNI в ClientHello — открытый текст даже в TLS 1.3. Если SNI = icloud.com, а IP назначения принадлежит нидерландскому хостингу — несоответствие видно сразу.
ALPN — протокол приложения. Настоящий браузер предлагает h2 и http/1.1. Прокси-клиент без правильной настройки иногда не включает ALPN вообще — и это тоже аномалия.
Байты 300–3000: ServerHello и сертификат
Сервер отвечает ServerHello, потом Certificate. В сертификате три вещи интересны детектору.
Common Name и Subject Alternative Names. SNI в ClientHello говорил icloud.com значит сертификат должен быть Apple. Если пришёл Let's Encrypt на случайный домен — не совпадает.
Certificate Transparency Logs. Все публичные TLS-сертификаты логируются в CT Logs. Существует ли этот сертификат? Выпущен ли на этот домен? Для самоподписанных ответ «нет».
ASN сервера против ожидаемого ASN домена. Apple держит серверы в AS714. Microsoft в AS8075. Сертификат говорит «я Microsoft», а пакеты приходят из AS24940 (Hetzner) — детектируемое несоответствие. Reality закрывает эту проблему полностью: TLS-сессия завершается на настоящем сервере Apple или Microsoft, сертификат настоящий, ASN совпадает.
Байты 3000–16 000: первые данные приложения
После завершения TLS-рукопожатия начинается зашифрованный трафик приложения. Содержимое недоступно. Но анализ продолжается — по метаданным потока.
Размеры пакетов. У браузерного HTTPS-трафика характерное распределение: HTTP-запросы маленькие (заголовки, GET), HTTP-ответы большие (контент). Асимметричный паттерн с пиками вокруг конкретных значений. Туннель с видео внутри — все пакеты близко к MTU (1400–1500 байт), равномерно. Туннель с интерактивным трафиком — мелкие пакеты в обоих направлениях. Ни то ни другое не похоже на браузерный HTTP.
Межпакетные интервалы. Браузер делает паузы: загрузил HTML — парсит, загружает CSS — парсит, загружает JS. Паузы десятки-сотни миллисекунд, с характерным распределением. VLESS-туннель под нагрузкой гонит данные непрерывно.
Соотношение входящего и исходящего. При обычном браузинге исходящий трафик намного меньше входящего, типичное соотношение 1:10 или 1:20. Туннель, по которому пользователь активно что-то отправляет, нарушает это соотношение.
Продолжительность соединения. Реальный браузер открывает HTTPS, загружает страницу, держит несколько минут через keep-alive, закрывает. VLESS держит соединение открытым часами. Persistent connection к «iCloud» без единого характерного iCloud API-запроса — аномалия.
После 16 КБ: поведенческий ML
К этому моменту собрано достаточно для ML-классификатора.
Классификатор смотрит на ритм пакетов: реальный пользователь читает статью — загрузил страницу, затих на минуту, прокрутил, снова всплеск. Туннель под нагрузкой: равномерный поток без пауз.
На энтропию данных: зашифрованные данные высокоэнтропийны, но степень равномерности энтропии между пакетами у разных протоколов отличается. Туннель с несколькими слоями шифрования даёт другой энтропийный профиль, чем обычный HTTPS.
На паттерны мультиплексирования: HTTP/2 мультиплексирует несколько стримов в одно соединение. У реального браузера несколько параллельных стримов разного размера и разной продолжительности. Туннель, который гонит весь пользовательский трафик в один HTTP/2-поток, выглядит иначе.

Точность ML-классификаторов в лабораторных условиях достигает 95–99% для Shadowsocks и VMess. В продакшне ниже, ложные срабатывания дорого стоят. Но тренд понятен: система обучается непрерывно на реальном трафике.
Как блокировка срабатывает технически
Три метода, каждый со своим поведением.
TCP RST injection. ТСПУ вставляет в поток RST-пакет. Обе стороны получают сигнал «соединение разорвано» и закрывают его. Быстро и дёшево. Обходится через проверку sequence numbers — RST с неправильным числом клиент игнорирует.
Дроп пакетов. Пакет не доходит до назначения без уведомления сторон. Соединение зависает, потом таймаут. Сложнее обойти, потому что нет явного сигнала.
Замедление. Трафик намеренно throttle-ится: задержки, потери. Именно так работало замедление Twitter и YouTube — не блокировка, а деградация до состояния где пользоваться невозможно.
Как это знание применять
Каждая защита закрывает конкретный слой:
fingerprint: chrome в Xray — закрывает JA3-детекцию на уровне байт 6–300
Reality — закрывает несоответствие сертификата и ASN
XHTTP — закрывает поведенческую детекцию через нормализацию паттерна трафика
xPaddingBytes — нормализует распределение размеров пакетов
Правильный SNI-донор — закрывает IP/ASN несоответствие
Ни один инструмент в одиночку все слои не закрывает.
Неудобная деталь
Активный DPI стоит в разрыве сети и обрабатывает каждый пакет в реальном времени. Это даёт добавочный latency — на практике 1–5ms для большинства соединений. Для обычного пользователя незаметно, но статистически измеримо.
Есть инструменты, которые детектируют ТСПУ именно по этому признаку: отправляют специально сформированные пакеты и смотрят, изменился ли паттерн задержек. Работает.
¹ Редакция напоминает: изучение принципов работы DPI является потенциально опасным занятием, так как приводит к пониманию того, как именно устроена система стоимостью 20+ млрд рублей из федерального бюджета. Эти знания могут вызвать нежелательные побочные эффекты: критическое мышление, технический суверенитет и стойкое ощущение что деньги потрачены как-то не туда. Проконсультируйтесь с Роскомнадзором перед применением.
Если есть идеи для разбора, нашёл ошибку
или хочешь предложить тему — пиши на
aleksandr@murzin.digital Отвечаю.
Комментарии (45)

Belkogoth
14.03.2026 07:13Проконсультируйтесь с Роскомнадзором перед применением
Напомнило старый анекдот про "Министерство обороны СССР предупреждает: курение опасно для вашего здоровья" =))))

neodavinchi
14.03.2026 07:13Любопытно, как на текущий момент работает механизм детекции в ситуации, когда сначала идёт нормальный трафик, а следом за ним (скажем, через полминуты, на тот же IP и порт) - "ненормальный".
Есть ли данные?

rendov
14.03.2026 07:13Это мне так повезло или ТСПУ у всех работает только на исходящие соединения? Просто уже как год у меня настроена амнезия на каком-то дешевом американском vps, и которая первая соединяется с моим белым статическим ip на роутере. Все летает без ограничений. Ради интереса попробовал сделать просто curl файла напрямую с этого же vps и после 16 кб скачка замерла. А если сделать curl с этого зарубежного vps до моего роутера, то все прекрасно скачивает. Т.е. RU -> USA рубится, а USA -> RU нет. Если что провод билайн мск.

GoblinHero
14.03.2026 07:13Есть такое. У меня вообще обычный reverse wireguard отлично работает.

cyberscoper Автор
14.03.2026 07:13У меня у самого внутри страны у знакомых самый простой wireguard, чувствует себя отлично.

mbait
14.03.2026 07:13Что такое "reverse wireguard"? Как вы вообще себе это представляете в p2p протоколе?

0ka
14.03.2026 07:13Это когда первый пакет не от тебя, а к тебе, DPI на тспу реагирует по разному

mbait
14.03.2026 07:13И как это выглядит в конфиге? Если не учитывать маршрутизацию, то конфиги клиента и сервера различаются только IP адресом.

rendov
14.03.2026 07:13Конфиг зарубежного VPS
[Interface] PrivateKey = ZAGRAN_VPS_PRIVKEY #_PublicKey = ZAGRAN_VPS_PUBKEY Address = 10.10.10.1/24 ListenPort = 11111 PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE [Peer] PublicKey = RU_VPS_PUBKEY AllowedIPs = 10.10.10.2/32 Endpoint = ru-vps-ip:22222 PersistentKeepalive = 35Конфиг российского VPS или домашнего роутера/сервера с белым IP
[Interface] PrivateKey = RU_VPS_PRIVKEY #PublicKey = RU_VPS_PUBKEY Address = 10.10.10.2/32 ListenPort = 22222 [Peer] PublicKey = ZAGRAN_VPS_PUBKEY AllowedIPs = 0.0.0.0/0Примерно так выглядит - на зарубежном VPS эндпоинтом стоит российский ip. И когда udp пакеты от зарубежного WG впервые прилетают на ру-ip, видать создается псевдосессия с запоминанием пары ip:port, но при этом т.к. соединение не инициировано ру-стороной, его даже не проверяют и сессия живет спокойно себе. И мне кажется, PersistentKeepalive надо обязательно указывать и поменьше ставить, чтобы udp псевдосессия не забывалась в черной коробочке, но это лишь мои догадки.

Destructive
14.03.2026 07:13Снова вы со своим сгенерированным текстом. В прошлой статье вас уже поймали за руку, почему здесь в тегах нигде не указано, что это нейростатья?
По наблюдениям сообщества ntc.party
Вы если ссылаетесь на какой-то источник, то будьте добры прилагать ссылку на конкретный топик / сообщение в нём. А так это просто пустой пруф без пруфа.
Кроме того, вы обещали делать русифицированные нейрокартинки, но слово своё не сдержали.
@moderatorможно закрепить за постами данного автора тег "нейросеть"? Здесь уже был подробный разбор почему это так.

cyberscoper Автор
14.03.2026 07:13Вы из «секты» свидетелей пришествие нейросетей – не осуждаю вас, флаг в руки.
Русификация картинок? Да говорил, но к вашему сожалению существует такая вещь как отложенные посты, когда материал «выходит по таймеру» (условно 16 марта 2026 года)
Статьи пишу там как и накидываю темы и материал. Структуризация не запрещена, у меня нет желания читать комментарии «что за несвязный бред»
Вы всегда можете отключить мои посты/статьи ,достаточно лишь «кликнуть» скрыть данного автора.
Пока что не понимаю, почему если вы настолько прошарены и я везде «пустослов», у вас нет никаких статей – ну покажите же мне пример.
https://ntc.party/t/обсуждение-блокировка-vpn-протоколов-на-тспу-05082023-xxxxxxxx/5239/368?page=19

Destructive
14.03.2026 07:13Вы из «секты» свидетелей пришествие нейросетей
Пишите так, будто я не прав.
Да говорил, но к вашему сожалению существует такая вещь как отложенные посты, когда материал «выходит по таймеру»
Вы ловко редактировали прошлую статью. Отредактировать картинки возможности у вас конечно же нет?
Вы всегда можете отключить мои посты/статьи ,достаточно лишь «кликнуть» скрыть данного автора.
Я не должен отключать подобный нейрослоп точечно, для этого есть соответствующие теги, которые я от вас и требую. Это вопрос банального уважения к читателям хабра.
Пока что не понимаю, почему если вы настолько прошарены и я везде «пустослов», у вас нет никаких статей – ну покажите же мне пример.
В отличии от вас, я не занимаюсь тем, в чём не разбираюсь. Вам уже раскладывали технические косяки более компетентные люди. А для того, чтобы распознать нейросеть, мне нет необходимости выкладывать собственные статьи. Могу приложить пример качественных статей без нейслопа, если у вас поиск не работает.

cyberscoper Автор
14.03.2026 07:13Пишите так, будто я не прав.
Это не отменяет факта что у вас ведётся охота, что вы приходите под каждой статьей что то доказывать.
Вы ловко редактировали прошлую статью. Отредактировать картинки возможности у вас конечно же нет?
Мне писали о конкретных ошибках, я их исправлял.
Я не должен отключать подобный нейрослоп точечно, для этого есть соответствующие теги, которые я от вас и требую. Это вопрос банального уважения к читателям хабра.
Я вам уже все расписал и удивляюсь настойчивости. Пользователей я уважаю.
Вы тут не обсуждать технические моменты статьи а , а за реакцией и мои вниманием, бумбурума я уже тегнул.Отредактировать картинки возможности у вас конечно же нет?
Я писал «Будущие статьи будут с русифицированными схемами.» и это не означает что я буду в «попыхах» заниматься тем что менять во всех статьях картинки, лишь бы угодить вам.
https://habr.com/ru/articles/1009628/ – сюда тоже зайдите и напишите что нейрослоп. твщ тролль
Добавлю:
Почему вы не ответили на:
Статьи пишу сам как и накидываю темы и материал. Структуризация не запрещена, у меня нет желания читать комментарии «что за несвязный бред»

Destructive
14.03.2026 07:13Это не отменяет факта что у вас ведётся охота, что вы приходите под каждой статьей что то доказывать.
Очередное враньё, которое легко опровергается, если посмотреть комментарии в моём профиле.
У меня отсортированы посты по лучшим за сутки. 2+2 надеюсь сложите, и поймёте почему я наткнулся на вас дважды.
бумбурума я уже тегнул.
И на что вы этим рассчитываете?

cyberscoper Автор
14.03.2026 07:13Ответьте, пожалуйста — не надо это игнорировать уже второй раз.
Статьи пишу сам как и накидываю темы и материал. Структуризация не запрещена, у меня нет желания читать комментарии «что за несвязный бред»
Вы упускаете то что вам выгодно, в целом это и было с первых секунд понятно.
Тегнул его я чтобы он увидел, вы тэгнули мёртвый аккаунт.
Хоть с математикой у вас лучше, рад.
Всё еще не понятно почему мы не обсуждаем саму тему статьи. Пишите буруму, я во всяком против толпы «ии детекторов»далеко не пройду.

0ka
14.03.2026 07:13У меня ни одной положительной эмоции после того как увидел ваш мусор про якобы работу тспу, я писал и на почту и в комменты про полный бред который вы сгенерили - ответа небыло! Была бы возможность - забанил бы

Ewoke
14.03.2026 07:13Быть может тогда написать статью-опровержение, и рассказать, как на самом деле работает ТСПУ? Критикуя-предлагай.

keinohrhasen_pitersky
14.03.2026 07:13Вы хотите предложений по, простите, работе ТСПУ? Здесь? В РКН вроде собрались лучшие умы и за десятки ярдов в год пилят систему. Зачем им бесплатные предложения от авторов постов на Хабре?)))

trojan-tj
14.03.2026 07:13Поддерживаю.
Аналогично, в который раз уже вижу хайповый кликбейтный заголовок, начинаю читать, кровь из глаз от откровенного бессмысленного нейромусора. А потом вижу ник автора, киберскопер, он постоянно льет это сюда. Для меня Хабр - это святое, а постить сюда такой хлам - неуважение к его постоянным читателям. Искренне не понимаю, кто плюсует это и способствует подъему статьи вверх

Grakov
14.03.2026 07:13Очередной нейрослоп на хайповой теме с откровенными домыслами и пережёвыванием не связанной с реальной работой ТСПУ информацией. Не надоело ещё?
И ведь каждый раз такие мусорные статьи откуда-то получают положительный рейтинг

Hint
14.03.2026 07:13Очередная бредовая статья от LLM с тем же автором. Каким образом reality решает проблему соответствия домена и ASN прокси? Как вообще такое доходит до топа, куда модераторы смотрят?

cyberscoper Автор
14.03.2026 07:13Каким образом reality решает проблему соответствия домена и ASN прокси?
Немного уточню: Reality закрывает именно активное зондирование. Зондировщик без shortId получает настоящий ответ от донора, он видит условных Microsoft или Apple с их же ASN,никакого несоответствия нет. Но если кто-то уже знает IP твоего VPS и пассивно наблюдает трафик и несоответствие между IP Hetzner и SNI эпла никуда не девается. Это реальное ограничение, да не расписал в статье – мой косяк.
и хватит уже «детектировать» генеративный интеллект там где его нет.
@Boomburum
Hint
14.03.2026 07:13Цитата из "вашей" статьи:
ASN сервера против ожидаемого ASN домена. Apple держит серверы в AS714. Microsoft в AS8075. Сертификат говорит «я Microsoft», а пакеты приходят из AS24940 (Hetzner) — детектируемое несоответствие. Reality закрывает эту проблему полностью: TLS-сессия завершается на настоящем сервере Apple или Microsoft, сертификат настоящий, ASN совпадает.
ASN сервера из-за Reality никак не меняется. Остается ASN Hetzner, а сертификат Apple, как в первой части абзаца. Сами себе противоречите.

ki11j0y
14.03.2026 07:13Так как и в прошлой статье, vless+xhttp+reality и xtls-rprx-vision вместе, как? Не нужно ссылаться на vlessenc, он не включает xtls-rprx-vision. Есть вброс но проверять его ни кто не стал, gpt chat несёт тоже подобное.

0ka
14.03.2026 07:13Хватит уже прямо врать. Половина статьи выдумка. Никаких ML на тспу нет и не ожидается.

Ewoke
14.03.2026 07:13Хабр торт!
Напомнило статьи про детект гипервизоров, там тоже по аномалиям тайминга условно можно детектировать, исполняется ли твоя малварь под визором или нет.

0ka
14.03.2026 07:13В статье все что после половины придумано ллм
Никаких ML на тспу нет и не ожидается

Ewoke
14.03.2026 07:13Полагаю, Вы недооцениваете сколько чудесных вещей можно сделать за деньги. Поживем-увидим. Жалко, что это за наши деньги делается.
Автору поста плюс хотя бы за то, что попытался приоткрыть капот того, что происходит уровнем ниже обычных постов про блокировки.

BigBro
14.03.2026 07:13Очередной «нейро-франкенштейн» из ntc.party, GitHub-репозиториев и, вепроятно, каких-то других источников. Только LLM могут так ловко связывать термины (JA3, TLS и т.п.) при полном отсутствии понимания как механизмов их работы, так и фундаментальных законов физики сетей. Даже искусственно имплантированые просторечия вроде «танцы с бубном» или «ты нажимаешь Enter» не скроют того факта, что живой человек не мог бы допустить те детские ошибки, которые есть в этой порятнке.

Grad6
14.03.2026 07:13У когонить есть реальный опыт регистрации впн в компании? Не хотелось бы, чтобы в компании внезапно пропал интернет в случае включения белых списков. Тем более на несколько дней, как делают уже сейчас.

Ewoke
14.03.2026 07:13Не подскажут. Тут свидетели нейрослопа, у них свой мир. Присоединюсь к вопросу. Как теперь работать, когда половина инета, включая привычные коммуникации, отрезана?
Без заумностей и отправления гуглить, пожалуйста.

Maikl747
14.03.2026 07:13Непонятен в статье один момент... А зачем глушить SSH ?

cyberscoper Автор
14.03.2026 07:13В него иногда заворачивают впн, но не часто.

Maikl747
14.03.2026 07:13И поэтому надо глушить весь SSH ? Это же порушит админку серверов

cyberscoper Автор
14.03.2026 07:13На самом деле, замечал что его тушат при большом трафике.
Но а если при стандартных скоростях и обему трафика — все в порядке.
Ну а вы тоже попробуйте обратный туннель через ssh, рабочая тема.

LF69ssop
14.03.2026 07:13Работает за микросекунды, стоит почти ничего, убивает OpenVPN, чистый WireGuard, SSH-туннели и старые Shadowsocks.
Из текста совершенно не понятно причем тут ssh туннели. Поднят туннель задолго до этого самого запроса, признак протокола у них совершенно нормальный.

gfgx
14.03.2026 07:13А почему именно 83 байта? Интересна история развития, как появилось, где впервые применилось, по любому много исследовательских статей в научном сообществе по анализу трафика. У меня ВПС внутри РФ. Через него нет никаких блокировок и замедлений. Но вот если пытаюсь зайти на чатгпт или сайт сименса, то меня блочат уже оттуда, так как ip российский.

gotch
14.03.2026 07:13В прошлой статье обсуждали, еще раз повторим. xHTTP в "некоторых проводных сетях" детектируется моментально и блокируется, в отличие от vision. Перспективы его сомнительны.
Belkogoth
Интересно, а почему всех интересует только имитация паттернов обычного веб-серфинга при маскировке траффика? Там же действительно ленивый характер использования, профиль получается в виде эдакой ШИМ с низкой скважностью))) А если паттерн, к примеру, шифрованного потока с камеры\регистратора в облако от производителя?) Поток стабильнее и плотнее. Вроде как видеонаблюдение у многих поставщиков работает без проблем. Даже не через региональные облака.
cyberscoper Автор
Смотрите интересным вектором будет не имитировать видеонаблюдение, а в теории туннелировать траффик через настоящий клиент берём к примеру Reolink или Hikvision клиент, поднимаешь «камеру» которая стримит на твой сервер, внутри стрима несёшь данные и сеть видит настоящий Hikvision-трафик к настоящему IP Hikvision потому что первый хоп действительно туда идёт.
но я сейчас задумался надо тем что, мы не будем контролировать конечную точку ибо p2p будет подключаться к dev.hik-connect.com:8555, через их relay-сервер строится туннель до клиентского приложения. И так же сам протокол Hikvision SADP недостаточно задокументирован.
и учитывая это, уж будто проще траффик спрятать под WebRTC видеозвонок.
AVikont
Какая вероятность того, что международные звонки останутся бесплатными и не ограниченными?