Боты6 мин чтения·13 августа 2026 г.

Agent в логах: почему это не бот, а слово

Разбираем, почему токен «Agent» нельзя фильтровать как обычного бота — это подстрока, совпадающая с огромным числом легитимных UA-строк и других ботов. Показываем правильный способ расследовать конкретный всплеск через полные строки UA вместо шаблонного grep и robots.txt правила.

TVTrafficVeil TeamЭксперты по защите веб-трафика
Уникальная иллюстрация бота Agent: легитимный прочие краулеры и сервисы

Если фильтровать access.log по agent, часто всплывает целый пласт машинных хитов — но здесь важнее всего не «кто это», а технический факт, который меняет весь подход: токен agent — это не различающее имя бота, а слово, которое буквально входит в название HTTP-заголовка User-Agent и встречается в подавляющем большинстве реальных строк UA (браузеров, ботов, приложений). Прежде чем применять любую политику allow/deny по этому токену, нужно понимать, что стандартный поиск и правило robots.txt для него работают не так, как для остальных ботов в этой энциклопедии.

1. Что такое Agent — и почему это не обычный бот-токен

«Agent» — не уникальный идентификатор конкретного оператора, а фрагмент, который естественным образом присутствует в огромном количестве строк User-Agent: в самом названии заголовка, в словах вроде «user agent», «HTTP agent», в названиях множества легитимных и вредоносных ботов (например, уже в соседнем списке «не путать» есть AgentReadinessScanner — и обычный grep -i "agent" совпадёт и с ним тоже). Это делает токен принципиально непригодным для точечной фильтрации: правило по нему либо ничего не поймает избирательно, либо, наоборот, случайно затронет огромный и разнородный пласт трафика, включая часть легитимных пользователей и ботов, к которым политика вообще не должна была применяться.

Название Agent
User-Agent / паттерн agent — подстрока, которая совпадает с огромным числом различных реальных UA-строк, а не уникальный идентификатор
Оператор Не установлен и не может быть установлен по одному токену — под «agent» может скрываться кто угодно
Роль Неопределима по токену — не путайте наличие подстроки «agent» в UA с наличием конкретного, названного в честь неё сервиса
Документация / ориентир Отсутствует по определению — нет компании или продукта с названием ровно «Agent», к которому можно было бы адресовать вопрос
Список IP ❌ Не может существовать для такого общего токена
robots.txt Правило User-agent: agent в robots.txt не соответствует ни одному стандарту именования реальных ботов — таких токенов не бывает, поэтому эффект от подобного правила непредсказуем и, вероятно, никем не будет распознан как адресованный именно ему
Пометка TrafficVeil По сводке — 156 срабатываний за март–июнь 2026 (около #145 по объёму в общем бот-трафике), с пиком в мае (~122) и нулями в марте и июне; но это, вероятнее всего, сумма множества разных, никак не связанных друг с другом совпадений подстроки, а не активность одного «бота Agent»

2. Зачем «Agent» встречается в access.log

Правильный вопрос — не «зачем бот Agent приходит на сайт», а «что именно совпало с этой подстрокой». Кандидаты: часть строки настоящего браузера или мобильного приложения (многие корректно оформленные UA содержат слово user agent целиком или частично в комментариях), реальные боты с более длинным именем, включающим «agent» (AgentReadinessScanner и подобные), скрипты на базе HTTP-библиотек с UA по умолчанию вроде «Java/1.8 (agent)» или похожих, и, наконец, действительно узкоспециализированные клиенты, которые по какой-то причине идентифицируют себя буквально одним этим словом — что само по себе большая редкость и повод для отдельной проверки, а не типовой случай.

  • Какие зоны чаще трогает: зависит от того, что именно совпало — обобщать по одному токену бессмысленно;
  • Что ищет: неопределимо без разбора полной строки UA каждого конкретного хита;
  • Чем отличается от браузерного пользователя: не всегда отличается вообще — часть совпадений может быть обычными пользователями с нестандартным, но легитимным UA.

Приведённая в исходных данных динамика (0 в марте, 34 в апреле, 122 в мае, 0 в июне) сама по себе подсказывает, что это не стабильно работающий сервис с постоянным паттерном, а, вероятнее всего, разовый всплеск от одного конкретного источника в мае — возможно, вообще не связанного с остальными редкими совпадениями в другие месяцы.

3. Нагрузка и риски именно для «Agent»

156 срабатываний за четыре месяца (#145 по объёму в сводке) — само по себе немного, и это ожидаемо для токена, который скорее собирает редкие случайные совпадения, чем отражает активность одного постоянного источника. Главный риск здесь не нагрузка, а неправильное управленческое решение: если применить широкое правило по слову agent, велик шанс случайно задеть легитимный трафик, который к маю никак не относится и с майским всплеском не связан.

Не уверены, кто ходит по вашему сайту?

Подключите домен и посмотрите живую ленту: кто пришёл, с какой сети, что запрашивал и по какому правилу был пропущен или заблокирован.

Посмотреть свой трафик

4. Как на самом деле искать это в логах

Не применяйте здесь тот же шаблон grep, что и для остальных ботов в этой энциклопедии — общий поиск по подстроке agent даст практически бесполезную по объёму и разнородную выдачу. Правильный подход — сузить именно до майского всплеска и посмотреть полные строки UA целиком.

# НЕ используйте одиночный grep -i "agent" — он совпадёт с огромным числом посторонних строк.
# Вместо этого выгрузите полные UA-строки и оцените, что реально совпадает:
awk -F'"' '{print $6}' /var/log/nginx/access.log | grep -i "agent" | sort | uniq -c | sort -rn | head -50

# Сфокусируйтесь на майском окне, где зафиксирован основной всплеск (~122 хита)
awk -v start="01/May/2026" -v end="31/May/2026" '$4 >= "["start && $4 <= "["end"]"' /var/log/nginx/access.log | grep -i "agent" | awk -F'"' '{print $6}' | sort | uniq -c | sort -rn

# После того как выделите конкретную полную строку UA — ищите уже по ней, не по голому слову agent
grep -F "ТОЧНАЯ_СТРОКА_UA_ИЗ_ПРЕДЫДУЩЕГО_ШАГА" /var/log/nginx/access.log

Верификация. Для этого токена верификация — не про IP или ASN, а про то, чтобы вообще выяснить, с какой конкретно полной строкой UA вы имеете дело. Только после того как вы вычленили точную, длинную, специфическую строку (а не голое слово agent), к ней уже можно применять обычные методы: whois по IP, обратный DNS, сопоставление с известными семействами ботов.

IP="1.2.3.4"
whois -h whois.cymru.com " -v $IP"
dig +short -x "$IP"

5. robots.txt для «Agent» — почему стандартное правило не работает

# Такое правило технически валидно, но практически бессмысленно:
# ни один настоящий бот не называет себя в robots.txt ровно "agent"
User-agent: agent
Disallow: /

Важно: не тратьте время на универсальное правило по этому токену. Вместо этого сначала выясните через полную строку UA (см. раздел 4), с чем вы реально имеете дело, и уже тогда пишите точное правило под конкретное, длинное имя реального бота или клиента.

6. Блокировка вручную и через TrafficVeil

Nginx

# Регулярное выражение по одному слову "agent" крайне рискованно —
# оно способно случайно заблокировать легитимных пользователей и полезные боты.
# Сузьте правило до конкретной, найденной в разделе 4 полной строки UA:
if ($http_user_agent ~* "ТОЧНАЯ_СТРОКА_UA") {
    return 403;
}

TrafficVeil

  • Не создавайте в TrafficVeil правило по голому токену agent — сначала откройте карточку конкретных хитов за май 2026 года и посмотрите полные UA;
  • Заведите правило под ту конкретную строку, которая реально стоит за всплеском, а не под общее слово;
  • После изменения обязательно сверьте, что легитимные посетители и известные боты (включая соседей вроде AgentReadinessScanner) не попали под блокировку случайно.

7. Рекомендации: что делать с «Agent»

  • Не применяйте политику allow/deny к голому слову agent — это не идентификатор конкретного оператора;
  • Сначала расследуйте майский всплеск (~122 хита) через полные строки UA — вероятно, за ним стоит один конкретный, куда более длинный и специфический UA;
  • Заведите отдельную, точную запись под найденный реальный токен, если он окажется отдельным ботом, достойным собственной статьи;
  • Категорически не используйте User-agent: * с широкими намерениями «заблокировать всё похожее на agent» — так можно случайно закрыть доступ Googlebot, YandexBot и любому боту, чьё полное имя содержит это слово;
  • Что будет при неверном широком блоке: непредсказуемая потеря легитимного трафika, включая часть настоящих пользователей и полезных ботов.

8. С кем не путать «Agent»

Бот / сосед Кластер UA Комментарий
AgentReadinessScanner Прочие краулеры и сервисы agentreadinessscanner реальный, отдельно именованный бот — содержит подстроку agent, но это другой, самостоятельный токен
2ip Bot Прочие краулеры и сервисы 2ip bot легитимный, отдельный токен
AccessStatus Прочие краулеры и сервисы accessstatus легитимный
AddThis.com Прочие краулеры и сервисы addthis.com легитимный
AlertSite Прочие краулеры и сервисы alertsite легитимный

9. Стратегия allow/deny для «Agent»

Ситуация Действие
Токен встретился в сводке как «agent» Не применять правило напрямую — сначала выявить полную строку UA
После разбора нашёлся конкретный реальный бот Завести отдельное точное правило под его настоящее имя, не под слово agent
После разбора оказался легитимный браузер/приложение Не блокировать вовсе — это не бот-трафик
Нужно не задеть соседей вроде AgentReadinessScanner Всегда использовать точное совпадение по полному токену, никогда — по голому «agent»
Соблазн использовать широкое regex-правило Избегать — риск случайно заблокировать легитимный трафик выше пользы от блокировки

Частые вопросы

Почему нельзя просто заблокировать всё с «agent» в User-Agent?
Потому что это слово естественно входит в название самого заголовка User-Agent и в огромное число легитимных строк браузеров, приложений и других ботов — широкое правило заблокирует много лишнего.
Значит ли пик в 122 запроса в мае, что появился новый бот?
Не обязательно один бот — вероятнее, это разрозненные совпадения подстроки от разных источников, и точную картину даст только разбор полных строк UA за этот период.
Как тогда правильно исследовать такой всплеск?
Выгрузить полные строки User-Agent за период всплеска, сгруппировать их и найти конкретную, длинную и специфическую строку, которая реально стоит за ростом трафика.
Сработает ли правило User-agent: agent в robots.txt?
Нет, ни один реальный бот не называет себя ровно «agent» в robots.txt, поэтому такое правило почти наверняка не будет распознано ни одним настоящим краулером.
Что делать после того, как нашлась конкретная полная строка UA?
Заводить точное правило именно под неё — в robots.txt, nginx или TrafficVeil — а не под голое слово agent.
Может ли AgentReadinessScanner случайно попасть под блокировку по слову agent?
Да, именно поэтому в статье это подчёркнуто отдельно — это реальный самостоятельный бот, чьё имя тоже содержит подстроку agent, и widespread-правило неизбежно заденет и его.
#Agent#ложные срабатывания#анализ логов#User-Agent#robots.txt#TrafficVeil
TV
TrafficVeil Team

Команда TrafficVeil разрабатывает инструменты защиты сайтов от ботов, DDoS и веб-атак. Разборы ботов пишем по логам подключённых доменов и открытым данным операторов.

Похожие статьи

Ещё материалы из раздела «Боты» — те же вопросы, другие агенты.

Проверьте защиту своего сайта

Подключение занимает несколько минут. Начните с анализа трафика и включайте блокировки после проверки логов.

Тарифа на трафик нет. Платите за людей, а не за тех, кого отбили: боты, атаки и всё, что срезали фильтры, в счёт не идут. Тариф — число доменов и глубина настроек.

TrafficVeil