Go-http-client / Go Scrapers
Go-http-client / Go Scrapers — Стандартный HTTP-клиент языка Go. В логах чаще всего означает массовый сканер, уязвимостный эксплойт или высокоскоростной парсер.
- 1 Общие сведения и назначение бота
- 2 Сигнатуры User-Agent и сетевой профиль
- 3 Создаваемая нагрузка и последствия для сайта
- 4 Влияние на поисковые позиции и рекламу
- 5 Проверка визитов бота в журналах сервера
- 6 Рекомендация по обработке трафика
- 7 Способы ручной блокировки (Nginx, .htaccess, Cloudflare)
- 8 Причины неэффективности стандартных методов
- 9 Автоматическая нейтрализация в AntiBotCore
- 10 Часто задаваемые вопросы (FAQ)
- 11 Похожие боты и краулеры
1. Общие сведения и назначение бота
Go-http-client — идентификатор встроенного HTTP-клиента стандартной библиотеки языка Go. Go-программы известны своей исключительной производительностью в конкурентных задачах: типичный Go-сканер способен делать тысячи запросов в секунду с минимальной нагрузкой на атакующую машину. В практике веб-безопасности Go-http-client в логах почти всегда означает сканер уязвимостей, массовый грабер данных, брутфорс-инструмент или разведчик инфраструктуры. colly — популярный Go-краулерный фреймворк, иногда используемый легитимно для парсинга.
Оператором и разработчиком бота выступает Различные (Go-приложения и сканеры). Основная функциональная задача робота — систематический сбор данных, анализ гиперссылок и выкачивание текстовой информации со страниц сайтов. В зависимости от используемых скриптов бот может запрашивать как статические HTML-файлы, так и инициировать рендеринг тяжелых динамических страниц.
2. Сигнатуры User-Agent и сетевой профиль
В журналах веб-сервера (access.log) бот обычно идентифицирует себя следующими сигнатурами в заголовке User-Agent:
Go-http-client/1.1
Go-http-client/2.0
Go 1.1 package http
fasthttp
colly - https://github.com/gocolly/colly
3. Создаваемая нагрузка и последствия для сайта
Нерегулируемая активность краулера может приводить к ощутимым проблемам как для технической инфраструктуры, так и для бизнес-показателей проекта:
- Сканирование уязвимостей с тысячами запросов в секунду
- Брутфорс форм авторизации и API-эндпоинтов
- Массовый парсинг с минимальными задержками — сотни тысяч запросов в час
- Поиск открытых директорий, конфигурационных файлов (.env, wp-config.php)
- DDoS-подготовка: разведка медленных эндпоинтов
Когда робот генерирует десятки параллельных запросов в секунду, каждый такой запрос инициирует запуск интерпретатора PHP, подключение к СУБД MySQL и генерацию HTML-страницы. На виртуальных хостингах это мгновенно исчерпывает лимиты тарифного плана (CPU, оперативная память, процессы PHP-FPM), из-за чего реальные посетители сталкиваются с медленной загрузкой или ошибками 502/504 Bad Gateway.
4. Влияние на поисковые позиции и рекламу
5. Проверка визитов бота в журналах сервера
Чтобы узнать, заходит ли данный робот на ваш сайт прямо сейчас и как часто он сканирует разделы, достаточно выполнить команду в консоли веб-сервера:
grep -E '^Go-http-client|Go 1\.' /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -20
Примечание: если у вас обычный виртуальный хостинг без доступа по SSH (Beget, TimeWeb, Reg.ru, cPanel), откройте панель управления, найдите раздел «Журнал посещений» (или «Свежие логи») и воспользуйтесь поиском по названию бота или строке его User-Agent.
6. Рекомендация по обработке трафика
7. Способы ручной блокировки
Если вы хотите заблокировать робота на уровне веб-сервера вручную, используйте следующие директивы конфигурации:
# Блокировка Go-сканеров:
if ($http_user_agent ~* '^Go-http-client|^Go 1\.[0-9]|^fasthttp') {
return 403;
}
# Аварийный rate-limit:
limit_req_zone $binary_remote_addr zone=gobot:10m rate=10r/s;
limit_req zone=gobot burst=20 nodelay;
Директива return 444; в Nginx закрывает сетевое TCP-соединение без передачи байтов ответа, экономя оперативную память и процессор сервера.
# Заблокировать Go-http-client:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} "Go-http-client" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Go 1\.[0-9]" [NC]
RewriteRule .* - [F,L]
</IfModule>
Вставьте указанный блок в начало файла .htaccess в корневой папке вашего сайта.
(http.user_agent contains "Go-http-client / Go Scrapers")
Создайте Custom Rule в панели Cloudflare: Security → WAF → Custom Rules с действием Block.
# robots.txt бесполезен — Go-сканеры его игнорируют
Добавьте правило в файл robots.txt в корневом каталоге домена.
8. Причины неэффективности стандартных методов
Ограничения классических правил:
Go-http-client не является веб-краулером и игнорирует robots.txt по умолчанию.
В реальных условиях блокировка по User-Agent и директивы robots.txt защищают сайт лишь от примитивных скриптов. Продвинутые краулеры и парсеры обходят эти фильтры за счет трех факторов:
- Подмена заголовков (спуфинг): бот отправляет User-Agent популярного десктопного браузера, из-за чего веб-сервер принимает его за обычного посетителя.
- Ротация IP-адресов: запросы распределяются через сотни тысяч резидентных и мобильных прокси, делая блокировку по статическим IP неэффективной.
- Headless-движки (Chromium, Puppeteer): эмуляторы полноценно исполняют JavaScript, проходя большинство поверхностных проверок.
9. Автоматическая нейтрализация в AntiBotCore
10. Часто задаваемые вопросы (FAQ)
11. Похожие сетевые боты и краулеры
Боты со схожим поведением или относящиеся к категории «Парсеры контента»:
GuzzleHttp — стандартный PHP HTTP-клиент. В логах означает автоматизированный PHP-скрипт, чаще всего парсер цен, контента или спам-бот.
Сверх-агрессивный краулер ByteDance (TikTok). Массово выкачивает контент сайтов, вызывая 100% нагрузку на CPU сервера.
Официальный краулер компании OpenAI. Выкачивает страницы для обучения моделей GPT-4, GPT-5 и поисковика SearchGPT.