Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
httpstat — Strumento CLI che avvolge curl per visualizzare la suddivisione dei tempi delle richieste HTTP (DNS, TCP, TLS, elaborazione server) con output JSON strutturato e controllo delle soglie SLO per la diagnostica delle prestazioni di rete. | Kitploit
Strumenti/GitHubGitHub/reorx/httpstat
Utilità GenericheScripting e AutomazioneSicurezza di Rete
GitHubreorx/httpstat

httpstat

Strumento CLI che avvolge curl per visualizzare la suddivisione dei tempi delle richieste HTTP (DNS, TCP, TLS, elaborazione server) con output JSON strutturato e controllo delle soglie SLO per la diagnostica delle prestazioni di rete.

Vedi Repository
6.2k3834 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

httpstat

schermata

httpstat visualizza le statistiche di curl(1) in modo bello e chiaro.

È uno script Python a file unico🌟 che non ha dipendenze👏 ed è compatibile con Python 3🍻.

Caratteristiche

  • Bell'output nel terminale — suddivisione dei tempi di DNS, TCP, TLS, elaborazione del server e trasferimento del contenuto
  • Output JSON strutturato — --format json / jsonl per il consumo da parte di macchine con uno schema stabile v1
  • Controllo delle soglie SLO — --slo total=500,connect=100 esce con codice 4 in caso di violazione
  • Salva i risultati su file — --save path.json per flussi di lavoro a più passaggi
  • Supporto NO_COLOR — rispetta la convenzione NO_COLOR
  • Abilità agente — skill incorporata per la diagnostica delle prestazioni HTTP assistita da agenti

Installazione

Ci sono tre modi per ottenere httpstat:

  • Scarica lo script direttamente: wget https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py

  • Tramite pip: pip install httpstat

  • Tramite homebrew (solo macOS): brew install httpstat

Per utenti Windows, si consiglia la versione Go di @davecheney. → link di download

Skill

httpstat include una skill per agenti che insegna agli assistenti di codifica AI (Claude Code, Cursor, ecc.) come usare httpstat per la diagnostica delle prestazioni HTTP — installazione automatica, identificazione dei colli di bottiglia e suggerimenti di correzione attuabili.

Installa la skill nel tuo progetto:

root@kitploit:~
npx skills add reorx/httpstat

Una volta installata, il tuo agente userà automaticamente httpstat quando fai domande come "perché questa API è lenta?" o "diagnostica la latenza di questo endpoint".

Utilizzo

Semplicemente:

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

Se installato tramite pip o brew, puoi usare httpstat come comando:

root@kitploit:~
httpstat httpbin.org/get

Opzioni cURL

Poiché httpstat è un wrapper di cURL, puoi passare qualsiasi opzione supportata da cURL dopo l'url (tranne -w, -D, -o, -s, -S già usate da httpstat):

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

Output Strutturato

Usa --format (-f) per ottenere output leggibile da macchina:

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
}

Usa --format jsonl per JSON compatto su singola riga (utile per pipeline di log).

Soglie SLO

Controlla i tempi di risposta rispetto alle soglie. Esce con codice 4 in caso di violazione:

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

Chiavi supportate: total, connect, ttfb (time to first byte), dns, tls.

In modalità formattata, le violazioni vengono stampate in rosso alla fine dell'output. In modalità JSON, le violazioni appaiono nel campo slo:

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

Salva Risultati

Scrive l'output JSON strutturato su un file (funziona con qualsiasi --format):

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

Variabili d'Ambiente

httpstat ha una serie di variabili d'ambiente per controllarne il comportamento. Ecco alcuni esempi d'uso, puoi anche eseguire httpstat --help per vedere la spiegazione completa.

  • HTTPSTAT_SHOW_BODY

    Imposta a true per mostrare il corpo della risposta nell'output, nota che la lunghezza del corpo è limitata a 1023 byte, verrà troncato se supera. Il valore predefinito è false.

  • HTTPSTAT_SHOW_IP

    Per impostazione predefinita httpstat mostra l'indirizzo IP/porta remoto e locale. Imposta a false per disabilitare questa funzione. Il valore predefinito è true.

  • HTTPSTAT_SHOW_SPEED

    Imposta a true per mostrare la velocità di download e upload. Il valore predefinito è 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

Per comodità, puoi esportare queste variabili d'ambiente nel tuo .zshrc o .bashrc, esempio:

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

Progetti Correlati

Ecco alcune implementazioni in vari linguaggi:

  • Go: davecheney/httpstat

    Questa è l'alternativa Go di httpstat, è scritta in Go puro e non dipende da programmi esterni. Sceglila se ti piacciono le esecuzioni binarie solide (in realtà è così).

  • Go (libreria): tcnksm/go-httpstat

    Oltre ad essere uno strumento da riga di comando, questo progetto è usato come libreria per aiutare a diagnosticare la latenza delle richieste HTTP in codice Go, molto pensato e utile, vedi di più in questo articolo

  • Bash: b4b4r07/httpstat

    Questo è esattamente ciò che volevo fare all'inizio, ma ho rinunciato per non essere sicuro delle mie capacità in bash, buon lavoro!

  • Node: yosuke-furukawa/httpstat

    b4b4r07 lo ha menzionato nel suo articolo, potrebbe essere usato anche come client HTTP.

  • PHP: talhasch/php-httpstat

    L'implementazione PHP di @talhasch

Alcuni blocchi di codice in httpstat sono copiati da altri miei progetti, dai un'occhiata:

  • reorx/python-terminal-color Libreria a file unico per stampare colori nel terminale.

  • reorx/getenv Definizione di variabili d'ambiente con tipo.

Scarica lo strumento

Per impostazione predefinita httpstat memorizza il corpo in un file temporaneo, imposta a false per disabilitare questa funzione. Il valore predefinito è true

  • HTTPSTAT_CURL_BIN

    Indica il percorso del binario cURL da usare. Il valore predefinito è curl dal $PATH della shell corrente.

    Questo esempio usa cURL installato tramite brew per effettuare richieste 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 deve essere compilato con nghttp2 per abilitare la funzionalità http2 (#12).

  • HTTPSTAT_METRICS_ONLY

    Se impostato a true, httpstat restituirà solo le metriche in formato json, questo è utile se vuoi analizzare i dati invece di leggerli.

    Nota: Questo è mantenuto per compatibilità all'indietro. Preferisci --format json.

  • HTTPSTAT_DEBUG

    Imposta a true per vedere i log di debug. Il valore predefinito è false

  • NO_COLOR

    Quando impostata (a qualsiasi valore), disabilita tutto l'output colorato. Vedi no-color.org per la convenzione.

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