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

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

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

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

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

Категории

Все категории
Loading categories
httpstat — CLI-инструмент, оборачивающий curl для визуализации временных разбивок HTTP-запросов (DNS, TCP, TLS, обработка сервером) со структурированным выводом JSON и проверкой порогов SLO для диагностики производительности сети. | Kitploit
Инструменты/GitHubGitHub/reorx/httpstat
Утилиты общего назначенияСкриптинг и автоматизацияСетевая безопасность
GitHubreorx/httpstat

httpstat

CLI-инструмент, оборачивающий curl для визуализации временных разбивок HTTP-запросов (DNS, TCP, TLS, обработка сервером) со структурированным выводом JSON и проверкой порогов SLO для диагностики производительности сети.

Репозиторий
6.2k3834 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

httpstat

screenshot

httpstat визуализирует статистику curl(1) красиво и наглядно.

Это однофайловый🌟 Python-скрипт, который не требует зависимостей👏 и совместим с Python 3🍻.

Возможности

  • Красивый вывод в терминал — разбивка времени по этапам DNS, TCP, TLS, обработки сервером и передачи контента
  • Структурированный вывод JSON — --format json / jsonl для машинной обработки со стабильной схемой v1
  • Проверка порогов SLO — --slo total=500,connect=100 завершается с кодом 4 при нарушении
  • Сохранение результатов в файл — --save path.json для многошаговых процессов
  • Поддержка NO_COLOR — соблюдает соглашение NO_COLOR
  • Навык для агента — встроенный навык для диагностики производительности HTTP с помощью агента

Установка

Есть три способа получить httpstat:

  • Загрузите скрипт напрямую: wget https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py
  • Через pip: pip install httpstat
  • Через homebrew (только macOS): brew install httpstat

Для пользователей Windows рекомендуется Go-версия от @davecheney. → ссылка для загрузки

Навыки

httpstat поставляется с навыком для агента, который обучает ИИ-ассистентов программирования (Claude Code, Cursor и др.) использовать httpstat для диагностики производительности HTTP — автоматическая установка, определение узких мест и предложения по исправлению.

Установите навык в свой проект:

root@kitploit:~
npx skills add reorx/httpstat

После установки ваш агент будет автоматически использовать httpstat, когда вы задаёте вопросы вроде «почему этот API медленный?» или «отладить задержку этой конечной точки».

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

Просто:

root@kitploit:~
python httpstat.py httpbin.org/get

Если установлено через pip или brew, вы можете использовать httpstat как команду:

root@kitploit:~
httpstat httpbin.org/get

Параметры cURL

Поскольку httpstat является обёрткой над cURL, вы можете передавать любые поддерживаемые cURL опции после URL (кроме -w, -D, -o, -s, -S, которые уже используются httpstat):

root@kitploit:~
httpstat httpbin.org/post -X POST --data-urlencode "a=b" -v

Структурированный вывод

Используйте --format (-f) для получения машиночитаемого вывода:

root@kitploit:~
httpstat httpbin.org/get --format json
root@kitploit:~
{
  "schema_version": 1,
  "url": "httpbin.org/get",
  "ok": true,
  "exit_code": 0,
  "response": {
    "status_line": "HTTP/2 200",
    "status_code": 200,
    "remote_ip": "...",
    "remote_port": "443",
    "headers": {"Content-Type": "application/json", "Server": "nginx", "...": "..."}
  },
  "timings_ms": {
    "dns": 5, "connect": 10, "tls": 15,
    "server": 50, "transfer": 20, "total": 100,
    "namelookup": 5, "initial_connect": 15,
    "pretransfer": 30, "starttransfer": 80
  },
  "speed": { "download_kbs": 1234.5, "upload_kbs": 0.0 },
  "slo": null
}

Используйте --format jsonl для компактного однострочного JSON (полезно для лог-конвейеров).

Пороги SLO

Проверка времени ответа на соответствие порогам. Завершается с кодом 4 при нарушении:

root@kitploit:~
httpstat httpbin.org/get --slo total=500,connect=100,ttfb=200

Поддерживаемые ключи: total, connect, ttfb (время до первого байта), dns, tls.

В красивом режиме нарушения выводятся красным в конце вывода. В режиме JSON нарушения отображаются в поле slo:

root@kitploit:~
{
  "slo": {
    "pass": false,
    "violations": [
      { "key": "total", "threshold_ms": 500, "actual_ms": 823 }
    ]
  }
}

Сохранение результатов

Запись структурированного вывода JSON в файл (работает с любым --format):

root@kitploit:~
httpstat httpbin.org/get --save result.json
httpstat httpbin.org/get --format json --save result.json

Переменные окружения

httpstat имеет набор переменных окружения для управления поведением. Вот несколько примеров использования, также вы можете запустить httpstat --help для полного объяснения.

  • HTTPSTAT_SHOW_BODY

    Установите true, чтобы показывать тело ответа в выводе; обратите внимание, что длина тела ограничена 1023 байтами, при превышении будет обрезано. По умолчанию false.

  • HTTPSTAT_SHOW_IP

    По умолчанию httpstat показывает удалённый и локальный IP/порт. Установите false, чтобы отключить эту функцию. По умолчанию true.

  • HTTPSTAT_SHOW_SPEED

    Установите true, чтобы показывать скорость загрузки и выгрузки. По умолчанию false.

    root@kitploit:~
    HTTPSTAT_SHOW_SPEED=true httpstat http://cachefly.cachefly.net/10mb.test
    
    ...
    speed_download: 3193.3 KiB/s, speed_upload: 0.0 KiB/s
    
  • HTTPSTAT_SAVE_BODY

Для удобства вы можете экспортировать эти переменные окружения в вашем .zshrc или .bashrc, пример:

root@kitploit:~
export HTTPSTAT_SHOW_IP=false
export HTTPSTAT_SHOW_SPEED=true
export HTTPSTAT_SAVE_BODY=false

Связанные проекты

Вот несколько реализаций на разных языках:

  • Go: davecheney/httpstat

    Это Go-альтернатива httpstat, написана на чистом Go и не требует внешних программ. Выбирайте, если любите надёжные бинарные исполняемые файлы (я, честно говоря, тоже).

  • Go (библиотека): tcnksm/go-httpstat

    Помимо CLI-инструмента, этот проект используется как библиотека для отладки задержки HTTP-запросов в коде Go; очень продуманно и полезно, подробнее в этой статье

  • Bash: b4b4r07/httpstat

    Это именно то, что я хотел сделать в самом начале, но отказался из-за неуверенности в своём навыке bash; отличная работа!

  • Node: yosuke-furukawa/httpstat

    b4b4r07 упомянул это в своей статье; также может использоваться как HTTP-клиент.

  • PHP: talhasch/php-httpstat

    Реализация на PHP от @talhasch

Некоторые блоки кода в httpstat скопированы из других моих проектов, взгляните:

  • reorx/python-terminal-color Готовая к использованию однофайловая библиотека для печати цветов в терминале.
  • reorx/getenv Определение переменных окружения с типом.
Скачать инструмент

По умолчанию httpstat сохраняет тело во временный файл, установите false, чтобы отключить. По умолчанию true.

  • HTTPSTAT_CURL_BIN

    Укажите путь к бинарному файлу cURL. По умолчанию используется curl из текущего $PATH оболочки.

    Этот пример использует cURL, установленный через brew, для выполнения запроса HTTP2:

    root@kitploit:~
    HTTPSTAT_CURL_BIN=/usr/local/Cellar/curl/7.50.3/bin/curl httpstat https://http2.akamai.com/ --http2
    
    HTTP/2 200
    ...
    

    cURL должен быть скомпилирован с nghttp2 для включения функции http2 (#12).

  • HTTPSTAT_METRICS_ONLY

    Если установлено true, httpstat будет выводить только метрики в формате json; это полезно, если вы хотите анализировать данные, а не читать их.

    Примечание: Это сохранено для обратной совместимости. Рекомендуется использовать --format json.

  • HTTPSTAT_DEBUG

    Установите true для просмотра отладочных логов. По умолчанию false.

  • NO_COLOR

    При установке (в любое значение) отключает весь цветной вывод. См. no-color.org для соглашения.

    root@kitploit:~
    NO_COLOR=1 httpstat httpbin.org/get