Анализ логов показывает: User-Agent сам по себе редко «сдает» запрос, но в связке с Accept-Language, экраном, touch-сигналами и TCP-параметрами он строит довольно устойчивый профиль. Если UA заявляет Android, а заголовки, TLS-отпечаток и поведение браузера живут как десктоп — фильтр это видит без гадания на кофейной гуще.
Разберем техническую составляющую реализации. Минимум, который нужно проверять: • согласованность UA и viewport • соответствие devicePixelRatio, touch support и orientation • совпадение часового пояса, языка и гео • TLS fingerprint: JA3/JA4, порядок шифров, ALPN • поведение JS-объектов: navigator, WebGL, media devices. Один «кривой» параметр еще терпим, но два-три расхождения уже собирают метку.
На мобильных отпечатках чаще всего ломаются на прокси-цепочке: IP из одной страны, а мобильные хедеры и локаль из другой; device model есть, а сенсоры пустые; UA Android, но canvas и WebGL слишком «стерильные». Анализ логов показывает и более грубый сигнал — одинаковый отпечаток на пачке сессий, где должен быть разброс по устройствам, разрешениям и сетевым характеристикам.
Проверка цепочки прохождения запроса должна быть последовательной: сначала сеть, потом HTTP-заголовки, затем JS-фингерпринт, и только после этого поведение страницы. Конфиг готов, можно деплоить только тогда, когда профиль не разваливается на первом серверном сравнении. Иначе у вас не мобильный трафик, а симуляция на честном слове.
Клоакинг: разборы
@cloaking_lab_arb
User-Agent и мобильный fingerprint: где палится трафик даже без JS
Этот пост опубликован в Telegram-канале Клоакинг: разборы. Подписаться можно по ссылке: @cloaking_lab_arb.