Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Hodometer — 정확히 어떤 프로그램이 어느 호스트로 바이트를 보내고 받는지 보여주는 단일 파일 네이티브 Windows 트레이 애플리케이션(C, Win32, 런타임 없음)입니다. | Kitploit
도구/GitHubGitHub/gary23w/hodometer
Defensive ToolsPacket Sniffing & AnalysisNetwork ForensicsForensicsInformation GatheringIncident ResponseDNS AnalysisLog Analysis
GitHubgary23w/hodometer

Hodometer

정확히 어떤 프로그램이 어느 호스트로 바이트를 보내고 받는지 보여주는 단일 파일 네이티브 Windows 트레이 애플리케이션(C, Win32, 런타임 없음)입니다.

저장소 보기
1431일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Hodometer 1.3

런타임이 필요 없는 단일 파일 네이티브 Windows 트레이 애플리케이션(C, Win32)으로, 어떤 프로그램이 어느 호스트로 바이트를 보내고 받는지 정확히 보여주고, Windows 연결 감사를 켜진 상태로 유지하며, 사용자 또는 AI 에이전트가 즉석에서 프로세스를 종료하거나 프로그램을 차단할 수 있게 하고, 명시적으로 허용한 프로그램만 사용할 수 있는 localhost 소켓을 통해 모든 것을 스트리밍합니다.

1.2에서는 Inspector가 추가되었습니다. 하나의 프로세스를 확대하여 그 연결(상태, RTT, 재전송, 연결 시간), 와이어에서 디코딩된 패킷(TLS SNI/ALPN, QUIC, DNS, HTTP), 프로세스 프로필(CPU, 메모리, 디스크, GPU, 사용자, 명령줄, 서명자) 및 타임라인(연결, 실패, 자식 프로세스, DLL 로드)을 확인할 수 있으며, pcapng 내보내기를 지원합니다. 이 모든 것은 Windows 자체의 커널 공급자와 ndiscap.sys에서 나오며, 설치할 드라이버는 없습니다.

1.3에서는 소켓이 동시에 여러 에이전트에 적합해졌습니다(SENTINEL.md의 Sentinel 설계). 명령이 워커 스레드에서 실행되므로 한 클라이언트의 느린 inspect가 더 이상 다른 클라이언트를 지연시키지 않습니다. 최대 4개의 pcapng 캡처가 동시에 실행되며, 프로세스당 하나입니다. conns는 모든 흐름을 페이지 단위로 넘기며 활성 흐름 또는 타임스탬프 이후로 접촉된 흐름으로 필터링할 수 있습니다. 감시자는 모든 프레임 대신 디코딩된 핸드셰이크만 요청할 수 있습니다. flowinfo 이벤트는 각 흐름의 SNI, ALPN, HTTP 요청 또는 TLS 버전이 디코딩되는 순간 이를 알립니다. 각 연결은 64개의 프로세스를 감시할 수 있습니다. inspect는 파일의 SHA-256을 보고하고 서명 검사를 캐시합니다.

데모

AI를 실제 시스템 센티넬로 바꾸세요 — Hodometer 데모 시청

72초 데모 시청 또는 다운로드 · 영어 자막

실제 Hodometer 영상은 프로세스 검사, 패킷 캡처, 검증된 방화벽 차단을 거치는 통제된 업로드를 따라갑니다. Sentinel 부분은 명확히 라벨이 표시된 시뮬레이션 AI 조사이며, 점수와 드라이런 동작은 저장소 코드로 계산됩니다. 게시된 영상에서는 개인 정보와 무관한 프로세스가 제거되었습니다.

기능

  • 정확한 프로세스별 트래픽. 커널 네트워크 ETW 공급자를 실시간으로 읽습니다(리소스 모니터가 사용하는 것과 동일한 소스). 프로세스별 송수신 바이트와 함께 이름, 전체 경로, 가장 많은 바이트를 주고받은 원격 address:port를 표시합니다. 로컬 및 LAN 트래픽은 기본적으로 숨겨집니다(토글 버튼 또는 local on).
  • 호스트 이름. DNS 클라이언트 ETW 공급자로부터 실시간으로 학습하며(각 프로그램이 실제로 확인한 이름), 일반 DNS PTR 조회를 대체 수단으로 사용합니다. 표와 모든 이벤트에 표시됩니다(host).
  • 오도미터와 스파크라인. 바이트 OUT 및 IN에 대한 롤링 숫자 카운터와 실시간 속도, 그리고 5분 그래프.
  • 프로세스 표는 현재 속도로 정렬되며, 프로세스별 24시간 분 단위 기록이 메모리에 저장되고(history) history.jsonl에 추가됩니다.
  • 종료 또는 차단. 행을 선택하세요: 선택한 프로세스 종료(또는 Delete 키, 마우스 오른쪽 버튼), 프로그램 차단(방화벽) 은 해당 프로그램 경로에 대한 인바운드 및 아웃바운드 Windows 방화벽 차단 규칙을 추가합니다. 마우스 오른쪽 버튼 메뉴에서 차단을 해제할 수 있습니다. 이 앱은 Windows가 없으면 살 수 없는 프로세스와 자기 자신은 종료하지 않습니다.
  • 감사 유지 관리자. 30초마다 Filtering Platform Connection 감사 하위 범주를 확인합니다 (auditpol /set /subcategory:"Filtering Platform Connection" /success:enable /failure:enable이 켜는 것). 꺼져 있으면 다시 켜고, 기록하고, 연결된 에이전트에 알립니다. 버튼으로 즉시 실행할 수도 있습니다.
  • 연결 이벤트. 감사가 켜져 있으면 Windows는 모든 연결에 대해 보안 이벤트 5156을 기록합니다. 앱은 각 아웃바운드 비로컬 연결을 프로그램 경로, 대상, 호스트 이름, 포트와 함께 conn 이벤트로 전달합니다.
  • 스파이크. 업로드가 0.75 MB/s를 초과하거나 다운로드가 1.5 MB/s를 초과하면(설정 가능) spike 이벤트가 발생하고, hodometer.log에 한 줄이 기록되며, 트레이 알림이 표시됩니다(최대 5분에 한 번).
  • 트레이. 아이콘을 왼쪽 클릭하면 창을 표시하거나 숨깁니다. 오른쪽 클릭하면 일시 중지, 감사 복구, 신뢰할 수 있는 프로그램 잊기, 로그 폴더, README, 종료가 있습니다. 닫거나 최소화하면 트레이로 숨겨지며, 종료는 트레이 메뉴에 있습니다.

검사기(프로세스 확대)

행을 더블 클릭하거나, 선택한 프로세스 검사를 누르거나, 마우스 오른쪽 버튼 메뉴를 사용하거나, 소켓을 통해 inspect <pid> show를 보내세요. 최대 8개의 검사기 창을 열 수 있으며, 각 창은 하나의 pid를 따릅니다.

  • 헤더. 이름, pid, 실행 중/종료됨/차단됨, Authenticode 서명자(포함된 서명 또는 해당 파일을 포함하는 Windows 카탈로그, "서명 없음"과 "서명을 신뢰할 수 없음"은 별도로 표시됨), 경로, 명령줄, 사용자 및 무결성 수준, 부모, 시작 시간, 자식, 스레드, 핸들; CPU %, 메모리(작업 집합 및 전용), 디스크 읽기/쓰기 속도, GPU % (작업 관리자가 사용하는 프로세스별 "GPU 엔진" 카운터), CPU 시간; 송신/수신 바이트 및 속도, 활성 연결, 재전송된 바이트, 실패한 연결 시도, 관찰된 패킷; 이 프로세스만을 위한 2분 속도 그래프.
  • 연결. 프로세스의 모든 TCP 연결 및 UDP 흐름: 원격 호스트(DNS 이름, 없으면 TLS SNI, 없으면 주소), 포트, 프로토콜, 상태(연결 중 / 설정됨 / 닫힘 / 실패, 또는 udp / quic), 각 방향의 속도 및 총량, 재전송된 바이트 및 패킷, 평활화된 및 최소 RTT, 로컬 포트, 경과 시간, 그리고 SNI, ALPN, TLS 버전, HTTP 요청, QUIC 버전, 연결 시간, 재연결, 타임아웃 및 혼잡 신호, MSS를 담은 정보 열. 수명 주기 및 재전송은 Kernel-Network 공급자(이벤트 12-17 및 그 IPv6 쌍둥이)에서 가져오며, 상태는 TCP 테이블에서 시드되고, RTT 및 재전송 카운터는 TCP ESTATS에서 가져옵니다(검사되는 동안 연결별로 활성화됨).
  • 패킷. 프로세스 프레임의 실시간 목록: 시간, 방향, 프로토콜, 원격, 길이, TCP 플래그 및 한 줄 디코드: SNI 및 ALPN이 포함된 TLS ClientHello(세그먼트에 걸쳐 재조립됨), 협상된 버전이 포함된 ServerHello, TLS 레코드 유형, 평문 HTTP 요청 줄 및 Host 헤더, DNS 쿼리 및 응답, QUIC 버전 및 패킷 유형. QUIC v1의 경우 클라이언트 Initial이 복호화되므로(키는 연결 id만으로 파생됨, RFC 9001 5.2), HTTP/3 연결에서도 SNI 및 ALPN이 표시되며, Chrome이 ClientHello를 여러 순서가 뒤바뀐 CRYPTO 프래그먼트에 분산시키는 경우에도 마찬가지입니다. 페이로드는 암호화된 상태로 유지되며, 핸드셰이크 너머의 내용은 읽지 않습니다.
  • 타임라인. 연결 / 설정됨(연결 지연 시간 포함) / 닫힘 / 실패(Winsock 오류 포함) / 재전송 버스트, TLS hello, DNS 쿼리, HTTP 요청, QUIC hello, 검사된 프로세스가 시작한 자식 프로세스, 검사 중 이미지(DLL) 로드, 프로세스 종료, 완료된 캡처.
  • 30초 캡처 → pcapng. 이 프로세스의 프레임만 exe 옆의 capture_<name>_<pid>_<time>.pcapng에 기록하며, Wireshark에서 열립니다. 최대 4개의 캡처(프로세스당 하나, 또는 모든 프로세스에 대해 하나)를 동시에 실행할 수 있으며, 헤더에는 이 프로세스의 캡처가 표시되고 다른 캡처가 실행 중일 때 이를 알려줍니다. JSON 복사는 전체 Inspector 상태를 클립보드에 넣습니다(inspect 응답). 종료 및 차단은 이 프로세스에 작동합니다.

작동 방식: 프레임은 Windows 자체의 ndiscap.sys(netsh trace 뒤에 있는 Microsoft-Windows-NDIS-PacketCapture 공급자)에서 두 번째 ETW 세션인 HodometerZoom을 통해 가져오며, 이 세션은 Inspector가 열려 있거나, 소켓 클라이언트가 감시 중이거나, 캡처가 실행 중일 때만(추가로 30초 유예 기간) 실행됩니다. 프레임에는 프로세스 id가 없으며, Hodometer는 커널 네트워크 이벤트로부터 구축한 연결 테이블에 대해 로컬 및 원격 주소와 포트를 대조하여 프레임을 귀속시킵니다. 이것이 pktmon과 Wireshark가 할 수 없는 프로세스별 패킷 처리를 가능하게 하는 방법입니다. SNI에서 학습한 이름은 DNS가 아무것도 밝혀내지 못한 경우(예: DNS over HTTPS를 사용하는 브라우저) 기본 테이블의 호스트 열도 채웁니다.

누가 연결할 수 있는가: 프롬프트

모든 새 소켓 클라이언트는 소유 프로세스(TCP 테이블을 통해), 실행 파일 경로 및 파일의 SHA-256으로 식별됩니다. 해당 프로그램이 이미 신뢰되지 않는 한, 표준 Windows 작업 대화 상자가 나타납니다(방패 아이콘, 세 개의 명령 링크 버튼):

  • 항상 허용: 경로와 해시로 trusted.jsonl에 기억되며, 파일이 변경되면 다시 묻습니다.
  • 한 번 허용: 이 연결에만 적용됩니다.
  • 거부: 지금 거부되고 다음 10분 동안 조용히 거부됩니다. 동일한 프로그램에 대한 세 번의 거부는 방화벽 규칙으로 해당 프로그램의 네트워크 액세스를 차단하고 intruder 이벤트 및 트레이 경고를 발생시킵니다.

대화 상자는 60초 후 자동으로 거부되며(--auth-timeout N으로 변경 가능), 클라이언트가 포기하면 스스로 닫힙니다. 1분 이내에 연결 시도가 10회를 초과하면 5분 동안 프롬프트가 중단됩니다(알 수 없는 모든 것은 거부됨). Hodometer는 관리자 권한으로 실행되므로 Windows의 무결성 격리(UIPI)가 비관리자 프로그램이 대화 상자를 직접 클릭하는 것을 막습니다. 클라이언트가 허용되기 전까지는 {"ev":"auth","status":"pending"}만 수신하며 해당 명령은 거부됩니다. pardon <substring>은 프로그램의 거부 기록과 해당 프로그램이 받은 방화벽 차단을 해제합니다.

설치 / 실행

  • build.ps1은 MinGW-w64(WinLibs gcc + windres)로 Hodometer.exe를 빌드하며, ws2_32, iphlpapi, dnsapi, advapi32, shell32, user32, gdi32, comctl32, ole32, psapi, pdh, wintrust, crypt32, bcrypt를 정적으로 링크합니다. build.ps1 -Out Hodometer-new.exe는 Hodometer.exe가 실행 중일 때(실행 중인 exe는 잠김) 다른 이름으로 빌드합니다.
  • install.ps1(관리자 권한으로 한 번 실행)은 로그온 작업 Hodometer(관리자 권한, UAC 프롬프트 없음)를 등록하고, 해당 작업을 시작하는 바탕 화면 바로 가기를 만들고, 이전 스크립트 감시자를 폐기한 뒤 앱을 시작합니다.
  • 옵션: --port N(기본값 48201), --tx MBPS, --rx MBPS, --auth-timeout SECONDS, --show, --local, --no-audit-auto.
  • 제거: Unregister-ScheduledTask -TaskName Hodometer -Confirm:$false를 실행하고 폴더와 바로 가기를 삭제합니다. 생성된 방화벽 규칙은 Hodometer block: ...으로 명명되며 Windows 방화벽에서 또는 unblock으로 제거할 수 있습니다.

소켓 프로토콜

TCP 127.0.0.1:48201, 줄바꿈으로 구분된 JSON. 연결한 뒤 auth가 allowed를 반환할 때까지 기다린 후(사용자가 프롬프트를 클릭), 이벤트를 읽고 명령을 일반 단어 또는 JSON({"cmd":"kill","pid":123}, {"cmd":"block","path":"..."})으로 작성합니다. 명령은 네 개의 작업자 스레드에서 실행됩니다. 서로 다른 클라이언트는 병렬로 처리되며, 각 클라이언트의 명령은 보낸 순서대로 한 번에 하나씩 실행되므로 응답은 명령 순서대로 돌아옵니다(이벤트는 뒤섞이며, 응답은 reply 필드로 매칭). 모든 클라이언트에 걸쳐 128개를 초과하는 명령이 대기 중인 클라이언트는 {"reply":"error","error":"command queue full, try again"}을 받습니다. 최대 32개 클라이언트.

이벤트:

도구 다운로드