Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
httpstat — curlをラップしてHTTPリクエストのタイミング内訳(DNS、TCP、TLS、サーバー処理)を可視化するCLIツール。構造化JSON出力とSLO閾値チェックにより、ネットワークパフォーマンス診断を実現します。 | Kitploit
ツール/GitHubGitHub/reorx/httpstat
汎用ユーティリティスクリプトと自動化ネットワークセキュリティ
GitHubreorx/httpstat

httpstat

curlをラップしてHTTPリクエストのタイミング内訳(DNS、TCP、TLS、サーバー処理)を可視化するCLIツール。構造化JSON出力とSLO閾値チェックにより、ネットワークパフォーマンス診断を実現します。

リポジトリを見る
6.2k3834ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

httpstat

screenshot

httpstat は curl(1) の統計情報を美しく明瞭に可視化します。

これは 単一ファイル🌟 の Python スクリプトで、依存関係はなく👏、Python 3🍻 に対応しています。

特徴

  • 美しいターミナル出力 — DNS、TCP、TLS、サーバー処理、コンテンツ転送のタイミング詳細
  • 構造化 JSON 出力 — 安定した v1 スキーマで機械処理向けの --format json / jsonl
  • SLO しきい値チェック — --slo total=500,connect=100 が違反時に終了コード 4 を返す
  • 結果をファイルに保存 — 複数ステップのワークフロー向け --save path.json
  • NO_COLOR 対応 — NO_COLOR 規約に従う
  • エージェントスキル — エージェント支援による HTTP パフォーマンス診断のための組み込み スキル

インストール

httpstat を入手する方法は 3 つあります:

  • スクリプトを直接ダウンロード: wget https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py

  • pip 経由: pip install httpstat

  • homebrew 経由 (macOS のみ): brew install httpstat

Windows ユーザーは @davecheney の Go 版 をおすすめします。→ ダウンロードリンク

スキル

httpstat にはエージェント スキル が付属しており、AI コーディングアシスタント (Claude Code、Cursor など) に httpstat を使用した HTTP パフォーマンス診断方法(自動インストール、ボトルネック特定、実践的な修正提案)を教えます。

スキルをプロジェクトにインストール:

root@kitploit:~
npx skills add reorx/httpstat

インストール後、「この API が遅いのはなぜ?」や「このエンドポイントのレイテンシをデバッグして」などの質問をすると、エージェントが自動的に httpstat を使用します。

使い方

簡単に:

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

pip または brew でインストールした場合、httpstat をコマンドとして使用できます:

root@kitploit:~
httpstat httpbin.org/get

cURL オプション

httpstat は cURL のラッパーであるため、URL の後に cURL がサポートする任意のオプションを渡せます(ただし -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
}

コンパクトな単一行 JSON には --format jsonl を使用(ログパイプラインに便利)。

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

    デフォルトでは httpstat は本文を一時ファイルに保存します。この機能を無効にするには false に設定します。デフォルトは です。

便利なように、これらの環境変数を .zshrc または .bashrc にエクスポートできます。 例:

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

関連プロジェクト

さまざまな言語での実装を紹介します:

  • Go: davecheney/httpstat

    これは httpstat の Go 版で、純粋な Go で書かれており、外部プログラムに依存しません。堅牢なバイナリ実行がお好みならこちらを選んでください(実際私もそうです)。

  • Go (ライブラリ): tcnksm/go-httpstat

    CLI ツールであることに加えて、このプロジェクトは Go コード内の HTTP リクエストのレイテンシをデバッグするためのライブラリとしても使用されます。非常に思慮深く便利です。詳細はこの記事をご覧ください。

  • Bash: b4b4r07/httpstat

    これは当初私がまさにやりたかったことですが、bash スキルに自信がなく断念しました。よくできました!

  • Node: yosuke-furukawa/httpstat

    b4b4r07 が彼の記事で言及しています。HTTP クライアントとしても使用できます。

  • PHP: talhasch/php-httpstat

    @talhasch による PHP 実装

httpstat の一部のコードブロックは私の他のプロジェクトからコピーされています。ご覧ください:

  • reorx/python-terminal-color ターミナル色表示のためのドロップイン単一ファイルライブラリ。

  • reorx/getenv 型付き環境変数定義。

ツールをダウンロード
true
  • HTTPSTAT_CURL_BIN

    使用する cURL バイナリのパスを指定します。デフォルトは現在のシェルの $PATH にある curl です。

    この例では brew インストールされた cURL を使用して 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 は http2 機能を有効にするために nghttp2 と共にコンパイルされている必要があります。 (#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