Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
web-traffic-generator — Быстрый и грязный генератор "органического" HTTP/S трафика. | Kitploit
Инструменты/GitHubGitHub/ecapuano/web-traffic-generator
Оборонительные ИнструментыУтилиты общего назначенияСкриптинг и автоматизация
GitHubecapuano/web-traffic-generator

web-traffic-generator

Быстрый и грязный генератор "органического" HTTP/S трафика.

Репозиторий
56 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

web-traffic-generator

Быстрый и грязный генератор "органического" HTTP/S трафика.

О программе

Простой (плохо написанный) скрипт на Python, который бесцельно "бродит" по интернету, начиная с предопределённых ROOT_URLS и случайным образом "кликая" по ссылкам на страницах, пока не будет достигнута предопределённая MAX_DEPTH.

Я создал это как генератор шума для использования в симуляции реагирования на инциденты / защиты сети. Единственная проблема в том, что в моей симуляционной среде используются несколько устройств IDS/IPS/NGFW, которые не пропускают и не регистрируют простые TCP-повторы готового трафика. Мне нужен был трафик максимально органичный, имитирующий реальных пользователей, просматривающих веб-страницы.

Протестировано на Ubuntu 14.04 и 16.04 minimal, но должно работать на любой системе с установленным Python.

asciicast

Как это работает

Всё просто до невозможности...

Сначала задайте несколько параметров в начале скрипта...

  • MAX_DEPTH = 10, MIN_DEPTH = 5 Начиная с каждого корневого URL (например: www.yahoo.com), наш генератор будет переходить на глубину, случайно выбранную между MIN_DEPTH и MAX_DEPTH.

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

  • MIN_WAIT = 5 Минимальное ожидание 5 секунд между запросами... Будьте осторожны с быстрыми запросами, так как это обычно раздражает веб-серверы.

  • MAX_WAIT = 10 Думаю, суть ясна.

  • DEBUG = False Логгер для бедных. Установите True для подробного вывода в реальном времени в консоль для отладки или разработки. Позже добавлю нормальное логирование (может быть).

  • ROOT_URLS = [url1,url2,url3] Список корневых URL, с которых начинается просмотр. Выбираются случайно.

  • blacklist = [".gif", "intent/tweet", "badlink", и т.д...] Чёрный список строк, с которыми мы сравниваем каждую ссылку. Если ссылка содержит любую из этих строк, она отбрасывается. Полезно для избежания недружественных генератору трафика элементов, таких как ссылки "Твитнуть это!" или ссылки на файлы изображений.

  • userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3).......' Вы угадали — это user-agent, который наш безголовый браузер передаёт веб-серверу. Можете оставить по умолчанию, но можете и изменить. Настоятельно рекомендую использовать распространённый/валидный, иначе вас быстро ограничат по скорости.

Зависимости

Единственное, что вам нужно и возможно у вас нет — это requests. Установите с помощью

root@kitploit:~
sudo pip install requests

Использование

Сначала создайте файл конфигурации:

root@kitploit:~
cp config.py.template config.py

Запустите генератор:

root@kitploit:~
python gen.py

Устранение неполадок и отладка

Чтобы узнать больше подробностей о том, что происходит под капотом, измените переменную Debug в config.py с False на True. Это даст следующий вывод...

root@kitploit:~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Traffic generator started
Diving between 3 and 10 links deep into 489 different root URLs,
Waiting between 5 and 10 seconds between requests.
This script will run indefinitely. Ctrl+C to stop.
Randomly selecting one of 489 URLs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Recursively browsing [https://arstechnica.com] ~~~ [depth = 7]
  Requesting page...
  Page size: 77.6KB
  Data meter: 77.6KB
  Good requests: 1
  Bad reqeusts: 0
  Scraping page for links
  Found 171 valid links
  Pausing for 7 seconds...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Recursively browsing [https://arstechnica.com/author/jon-brodkin/] ~~~ [depth = 6]
  Requesting page...
  Page size: 75.7KB
  Data meter: 153.3KB
  Good requests: 2
  Bad reqeusts: 0
  Scraping page for links
  Found 168 valid links
  Pausing for 9 seconds...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Recursively browsing [https://arstechnica.com/information-technology/2020/01/directv-races-to-decommission-broken-boeing-satellite-before-it-explodes/] ~~~ [depth = 5]
  Requesting page...
  Page size: 43.8KB
  Data meter: 197.1KB
  Good requests: 3
  Bad reqeusts: 0
  Scraping page for links
  Found 32 valid links
  Pausing for 8 seconds...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Recursively browsing [https://www.facebook.com/sharer.php?u=https%3A%2F%2Farstechnica.com%2F%3Fpost_type%3Dpost%26p%3D1647915] ~~~ [depth = 4]
  Requesting page...
  Page size: 64.2KB
  Data meter: 261.2KB
  Good requests: 4
  Bad reqeusts: 0
  Scraping page for links
  Found 0 valid links
  Stopping and blacklisting: no links

Последний URL показывает хороший пример того, когда конкретный URL вызывает ошибку. Мы просто добавляем его в наш массив config.blacklist в памяти и продолжаем просмотр. Это предотвращает возврат известного плохого URL в очередь.

Скачать инструмент