Детектим мобильные прокси (или прошитый модем, например Huawei 3372-153)
-
Рынок по продаже мобильных прокси просто переполнен предложениями. Везде (например на специализированных форумах) можно встретить такие заголовки:
⚡ Мобильные прокси, разные ГЕО США, РФ, Европа. Низкие цены⚡
Когда переходишь на сайт к такому очередному мамкину бизнесмену, то уже на заглавной странице тебе ездят по ушам какие мобильные самые лучшие, якобы их невозможно спалить, что на одном ip сидит тысячи людей, такие прокси просто нельзя заблокировать и остальное бла-бла-бла и т.д.
Типичный такой опус выглядит так:
А теперь перейдем к делу, что же не так со всеми этими мобильными прокси. Большинство из этих авторов такие мобильные прокси поднимают либо на телефонах, либо на модемах, что-то типо Huawei 3372-153, кто немного поумнее осилил ep-06, Fibocom или другое устройство с агрегацией, но это не важно.
Эй, ну и что. В чем детект то?
Если не вдаваться в дебри, есть такое волшебная абвиатура, называется TTL. Сама аббревиатура расшифровывается как Time To Live – «время жизни IP-пакета». Это набор данных, который передается от пользователя к серверу и обратно, но тебе не нужно лезть в эти дебри, просто запомни, что по умолчанию этот параметр у Windows равен 128. Это число можно поменять в настройках Windows, но сколько людей так делает? 0.001%?
Причем тут мобильные прокси то?
Выше я уже упоминал, что такие прокси поднимают либо на модемах, либо на телефонах Android. По умолчанию на Android системе TTL равен 64, но и в модемах продавцы мобильных прокси тоже ставят 64 TTL. Итого у тех и других он равен почти всегда 64
Зачем они так это делают?
Те, кто не поднимал сам прокси, наверно не поймут. Дело в том, что операторы связи имеют зачастую 2 тарифа для Sim-карт. Один для модема, второй для смартфона. Тариф для смартфона дешевле по стоимости модемного тарифа, но зачастую операторы детектят на своей стороне 128 TTL, что приводит к различного рода ограничениям Sim-карт (например режут скорость, или вообще блокируют трафик и просят заплатить, чтобы использовать интернет на компьютере). Поэтому владельцы модемов (продавцы мобильных прокси) просто в целях экономии платы за тариф ставят 64 TTL, не парясь какую свинью они подложили, тем кто в дальнейшем будет использовать Windows отпечатки.
Как это выглядит на стороне модема
Я ничо не понял, какая разница между 128 и 64. Разве это не пофигу?
Помните выше я говорил, что значение TTL по умолчанию равно у Windows 128? А в вашем потоке с мобильным прокси и отпечатком Windows оно будет 64. Это несоответствие можно обнаружить при помощи проверки отпечатка стека TCP/IP Fingerprint. Вам нужно загрузить php скрипт на свой сервер, получить сигнатуру, выдернуть нужное значение, сопоставить это с юзером который вошёл на ваш сайт. Как это сделать, в дебри я вдавятся не буду, гайдов полно в интернете. Дополнительно нужно получить IP адрес посетителя, а затем узнать принадлежит ли этот IP диапазону мобильных сетей. У себя я это уже сделал
Стоп, стоп, стоп. Что тут не то
Согласен, что на первый взгляд могут возкинуть очевидные вопросы:
1)Что если человек купил уже прошитый модем или сам прошил модем с встроенным 64 TTL и вышел через него в интернет со своего пк/ноутбка с OS Windows?. Например так делают люди, где нет проводного интернета или юридические лица в целях экономии на тарифе интернета, для которых они стоят не малых денег и т.д.
2)Что если человек сам руками в Windows поменял значение 128 на 64?Да, я согласен с этим, но знаете в чем дело? Большинство пользователей не знают о прошитых модемах, они не сидят на спец. форумах типо 4pda, они в душе не чаят что такое TTL. А тех кто так делает (пункт один или два выше), то процент среди всех юзеров равен ну может 1, ну с натяжкой 2%. Остальные 98% посетителей с 64 TTL с OS Windows это боты с покупными или собственными мобильными прокси.
Я ничо не понял, как это может спалить мой многопоточный бот?
Представь ситуацию, ты такой довольный купил мобильные прокси, затем получил отпечаток Windows в BAS и пошёл фармить. Во всех твоих потоках 64 TTL, что является нетипичным значением для Windows, более того сама платформа Windows является редкой для мобильных прокси. Встретив такого посетителя (c 64 TTL + Windows), ему можно спокойно навесить навесить дополнительную проверку, например Canvas, WebGL, наличие монитора, видяхи, хотя эти проверки не дают 100% результат, но в нашем случае это пофигу. Помните выше я говорил, что доля таких нетипичных юзеров равна около 2%? Так вот из этих двух процентов ложно отсечь какую жалкую долю в виде сотых процентах вообще не критично, такому юзеру вы можете сверху наложить любой дебафф - например показать кастомную легкую капчу, бот гуляющий по сети с 64 TTL её просто не пройдет, а человек использующий выше пункты 1 и 2 пройдет.
Как вариант некоторые умельцы зарабатывают на таких ботах гулящих по сети - отправляют на мобильные подписки, там достаточно сделать 1 клик и на Sim карту в модеме или телефоне прилетает мобильная подписка :) Но уже совершенно другая история 😏Ничоси! А что делать?
Использовать Android отпечатки. Android платформа это очевидная платформа для мобильных прокси, она не вызовет подозрений, но тут такое дело.... Вся сигнатура тоже должна отдавать отпечаток TCP/IP Fingerprint Android, но поскольку ты скорее всего купил прокси поднятые на Windows с 64 TTL, то тебе также можно навесить доп. проверки и доп. дебафы в виде редиректа на ссылку с мобильной подпиской 😏 Всё что выше я написал в таком случае работает и для такого "Android" юзера тоже.
Использовать модемные тарифы. Правильные мобильные прокси, не должны ставить фиксированный TTL, а подменять его лету в завимости от OS отпечатка браузера. Для Android 64 TTL и отпечаток Android. Для Windows 128 TTL и отпечаток Windows.