Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
httpstat — CLI 도구로, curl을 감싸서 HTTP 요청 시간 분해(DNS, TCP, TLS, 서버 처리)를 시각화하고, 구조화된 JSON 출력과 SLO 임계값 검사를 통해 네트워크 성능 진단을 수행합니다. | Kitploit
도구/GitHubGitHub/reorx/httpstat
General Purpose UtilitiesScripting & AutomationNetwork Security
GitHubreorx/httpstat

httpstat

CLI 도구로, curl을 감싸서 HTTP 요청 시간 분해(DNS, TCP, TLS, 서버 처리)를 시각화하고, 구조화된 JSON 출력과 SLO 임계값 검사를 통해 네트워크 성능 진단을 수행합니다.

저장소 보기
6.2k383185개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

httpstat

스크린샷

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 사용자는 @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
}

--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

    기본적으로 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