Написать пост

Антибот-системы. Как они работают и можно ли их обойти?

Антибот-системы — это технологии, которые помогают защитить веб-сайты от автоматического вмешательства, например, от спама или DDoS-атак. Но автоматическое взаимодействие с сайтом не всегда несет вред: например, иногда боты нужны для тестирования безопасности, построения поискового индекса или сбора данных из открытых источников. Для того, чтобы выполнять такие задачи, необходимы инструменты, которые позволяют избегать блокировки антибот-системами.

Реклама. Рекламодатель: ООО «Финвин технолоджис» УНП 193103836, erid: LjN8KARWp

Чтобы понять, как можно обойти антибот, сначала нужно разобраться, какие виды защиты существуют и как они устроены.

Как антибот выявляет ботов?

Антибот собирает большой объем разноплановой информации о каждом посетителе сайта. Эта информация анализируется, и если какие-то из параметров выглядят как не характерные для пользователя-человека, то подозрительного визитера блокируют или отправляют решать капчу и доказывать свое гуманоидное происхождение.

Информацию собирают обычно на трех уровнях: сетевом, поведенческом и на уровне браузерного отпечатка.

  • На сетевом уровне антибот анализирует запросы, проверяет заспамленность IP-адреса и заголовки пакетов. Тот, чей IP-адрес фигурирует в “черных списках”, принадлежит дата-центрам, относится к сети Tor, или выглядит подозрительно по другим параметрам, может получить капчу. Вы могли сталкиваться с таким в обычной жизни, когда при использовании IP-адреса, выданного вам каким-нибудь бесплатным VPN, Google выдавал вам капчу.
  • На уровне браузерного отпечатка антибот собирает информацию о браузере и устройстве, на основе которого создается фингерпринт устройства. В этот фингерпринт обычно входит тип, версия, языки браузера, разрешение экрана, размеры окна, аппаратные шумы, системные шрифты; медиа-устройства и многое другое.
  • На поведенческом уровне некоторые продвинутые системы изучают, насколько действия пользователя совпадают с поведением обычных посетителей сайта.

Существует много антибот-систем, детали функционирования каждой из которых могут сильно отличаться и меняться со временем. Среди популярных решений можно назвать:

  • Akamai
  • Cloudflare
  • Datadome
  • Incapsula
  • Casada
  • Perimeterx

Понимание того, какая именно антибот-система защищает сайт, может быть полезным для того, чтобы выбрать лучшую тактику обхода. Часто в профильных ветках форумов и Discord-каналах целые разделы посвящены методам обхода конкретных антибот-систем. Например, такую информацию можно найти на The Web Scraping Club.

Определить, какая именно антибот-система работает на сайте, можно, например, с помощью расширения Wappalyzer.

Как обойти антибот?

Чтобы система не смогла обнаружить автоматизацию, нужно обеспечить достаточный уровень маскировки на каждом из уровней. Сделать это можно несколькими способами:

  • использовать самописные решения и поддерживать инфраструктуру самостоятельно;
  • воспользоваться платными сервисами вроде Apify, Scrapingbee, Browserless или Surfsky;
  • комбинировать качественные прокси, капча-решатели и антидетект-браузеры;
  • использовать стандартные браузеры в хедлесс-режиме с undetect-патчами;
  • еще много вариантов разной степени сложности.

Маскировка на сетевом уровне

Чтобы бот был защищен на сетевом уровне, необходимо использовать качественные прокси. Конечно, какие-то простые задачи можно выполнить с одного, вашего собственного IP-адреса — но в этом случае вы вряд ли сможете собрать какой-то существенный объем данных. Чтобы отправлять десятки тысяч запросов на регулярной основе, вам понадобятся хорошие резидентские или мобильные прокси, которые не были засвечены в черных списках.

Антибот-системы. Как они работают и можно ли их обойти? 1

Параметры, на которые стоит обратить внимание при выборе прокси:

  • Есть ли IP-адрес в спам-базах. Это можно узнать с помощью чекеров вроде PixelScan, или проверив адрес по базе iplists.firehol.org
  • Есть ли утечка по DNS. При проверке с помощью любого подходящего чекера типа DNS Leak Test в списке серверов не должно быть вашего настоящего.
  • Правильный ли тип провайдера прокси. Менее подозрительные будут принадлежать интернет-провайдерам.

Более подробно о том, как проверить качество прокси, можно узнать здесь.

Также для веб-скрейпинга полезны ротационные прокси. Они дают много IP-адресов, а не один. Это уменьшает шанс, что бот, собирающий информацию, будет заблокирован, так как сайту сложнее найти закономерности в запросах. Ротационные прокси распределяют запросы между многими IP, снижая риск блокировки из-за большого количества запросов с одного IP.

Маскировка фингерпринта

Для подмены браузерного отпечатка отлично подойдут антидетект-браузеры. Наиболее качественные из них, такие как Octo Browser, подменяют отпечаток на уровне браузерного ядра и позволяют создавать большое количество браузерных профилей, каждый из которых будет выглядеть как отдельный пользователь.

Антибот-системы. Как они работают и можно ли их обойти? 2

Скрейпить данные с помощью антидетект-браузера можно с помощью любой удобной библиотеки для браузерной автоматизации. Можно создавать нужное количество профилей с настройками отпечатков, прокси, кук без необходимости открытия клиента и в последующем их использовать как в режиме автоматизации, так и в ручном режиме.

Антибот-системы. Как они работают и можно ли их обойти? 3

Работа с помощью антидетект-браузера не намного сложнее, чем через обычный браузер в headless-режиме. В Octo Browser есть подробная документация с детальными инструкциями по подключению к API для всех популярных языков программирования.

Антибот-системы. Как они работают и можно ли их обойти? 4

Профессиональные антидетект-браузеры позволяют удобно работать с большим количеством браузерных профилей, подключать прокси и с помощью продвинутой системы подмены цифрового отпечатка получать доступ к данным, которые недоступны при обычном скрейпинге.

Имитация действий настоящих пользователей

Для обхода антибот-систем также необходимо эмулировать действия реальных пользователей: задержки, имитация движений курсора, ритмичное нажатие клавиш, случайные паузы и нерегулярные паттерны поведения. Также очень часто требуется авторизация, нажатие кнопок «Читать дальше», переход по ссылкам, отправка форм, прокручивание ленты и так далее.

Имитировать действий пользователя можно, например, с помощью популярного опенсорсного решения для браузерной автоматизации Selenium, однако есть и другие варианты, такие как MechanicalSoup, Nightmare JS и др.

Чтобы скрейпинг выглядел для антибота более естественно, рекомендуется добавлять к запросам временную задержку с нерегулярным интервалом.

Выводы

Антибот-системы защищают веб-сайты от автоматического вмешательства, анализируя сетевую, браузерную и поведенческую информацию пользователя. Для обхода антибот-систем необходимо обеспечить маскировку на каждом из этих уровней.

  • На сетевом уровне можно использовать качественные прокси, особенно ротационные.
  • Для подмены браузерного отпечатка подойдут антидетект-браузеры, такие как Octo Browser.

Для имитации действий настоящих пользователей можно использовать инструменты для браузерной автоматизации, такие как Selenium, добавляя временные задержки и нерегулярные паттерны поведения.

Следите за новыми постами
Следите за новыми постами по любимым темам
546 открытий4К показов