Как правильно подойти к вопросу: какая сигнатура у протокола TURN?
Ссылка скопирована
Сейчас ситуация такая: мне нужно узнать сигнатуру протокола, чтобы вычленять трафик voip, идущий к ретрансляторам.
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопроскомментарий
Вам также может быть интересно
VPN
Как правильно настроить vless для Android TV?
1 ответ
Pyrogram
Как правильно зарегистрировать юзер бота в Telegram?
1 ответ
печатные-платы
Как заставить запускаться программу M3.exe от компании Hanxing AOI в инспекционной машине на Windows 7 Pro?
1 ответ
code-review
Нужен ли код-ревью React/TypeScript проекта?
1 ответ

У TURN нет “сигнатуры” в смысле одной строки, по которой его всегда можно надёжно определить как HTTP header или magic bytes. TURN построен поверх STUN и использует STUN-сообщения с определёнными методами: Allocate, Refresh, CreatePermission, ChannelBind и т.п. Поэтому определять TURN нужно по STUN-формату пакетов и типам сообщений.
STUN/TURN-сообщение начинается с заголовка 20 байт. В нём есть message type, message length, magic cookie
0x2112A442и transaction id. Magic cookie — хороший признак STUN-пакета, но не говорит, что это именно TURN, потому что STUN и TURN используют одну базовую структуру.0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0 0| STUN Message Type | Message Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Magic Cookie | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Transaction ID (96 bits) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Для TURN смотрите message methods: Allocate request, Refresh request, CreatePermission, ChannelBind. Если видите Allocate — это уже TURN-сценарий, а не простой STUN binding check.
Также учитывайте транспорт: TURN может работать по UDP, TCP и TLS. TURN over TLS может быть на 5349 и внешне похож на TLS-соединение, пока не расшифруете содержимое. По одному порту определять ненадёжно.
Итог: ищите не “строковую сигнатуру”, а STUN magic cookie и TURN-specific message types. Для DPI/логов корректнее говорить: STUN packet detected, затем классифицировать как TURN по Allocate/CreatePermission/ChannelBind.