Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Hodometer — 一个单文件原生 Windows 托盘应用程序(C、Win32、无运行时),可精确显示哪个程序正在向哪个主机发送和接收字节。 | Kitploit
工具/GitHubGitHub/gary23w/hodometer
防御工具数据包嗅探与分析网络取证取证分析信息收集事件响应DNS 分析日志分析
GitHubgary23w/hodometer

Hodometer

一个单文件原生 Windows 托盘应用程序(C、Win32、无运行时),可精确显示哪个程序正在向哪个主机发送和接收字节。

查看仓库
1371天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

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 不再阻塞其他客户端;最多可同时运行四个 pcapng 捕获,每个进程一个;conns 可分页浏览每个流,并可筛选活动流或自某个时间戳以来被触及的流;监视器可以只请求解码的握手信息而非每一帧;flowinfo 事件在解码的瞬间宣告每个流的 SNI、ALPN、HTTP 请求或 TLS 版本;每个连接可监视 64 个进程;inspect 报告文件的 SHA-256 并缓存签名检查结果。

演示

将你的 AI 变成真正的系统哨兵 — 观看 Hodometer 演示

观看或下载 72 秒演示 · 英文字幕

真实的 Hodometer 录像通过进程检查、数据包捕获和经过验证的防火墙阻止来跟踪一次受控上传。Sentinel 片段是明确标注的模拟 AI 调查,其评分和试运行行为由仓库代码计算得出。已发布的视频中移除了个人详细信息和不相关的进程。

功能

  • 精确的每进程流量。 实时读取内核网络 ETW 提供程序(与资源监视器使用的来源相同):每个进程发送和接收的字节数,包含名称、完整路径以及接收字节最多的远程 address:port。本地和局域网流量默认隐藏(切换按钮,或 local on)。
  • 主机名。 从 DNS 客户端 ETW 提供程序实时获取(每个程序实际解析的名称),并以普通 DNS PTR 查询作为回退。显示在表格和每个事件中(host)。
  • 里程表和迷你图。 用于字节 OUT 和 IN 的滚动数字计数器,带实时速率,以及五分钟图表。
  • 进程表 按当前速率排序,每个进程在内存中保留 24 小时的每分钟历史(history),并追加到 history.jsonl。
  • 终止或阻止。 选择一行:终止所选进程(或 Delete 键、右键单击),阻止程序(防火墙) 为该程序的路径添加入站和出站 Windows 防火墙阻止规则;从右键菜单取消阻止。该应用拒绝终止 Windows 无法离开的进程以及自身。
  • 审计保持器。 每 30 秒检查一次 筛选平台连接 审计子类别(即 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。最多可打开八个检查器窗口;每个窗口跟随一个 pid。

  • 标头。 名称、pid、运行中/已退出/已阻塞、Authenticode 签名者(嵌入签名,或覆盖该文件的 Windows 目录;"未签名"和"签名不受信任"会被特别标注)、路径、命令行、用户和完整性级别、父进程、启动时间、子进程、线程、句柄;CPU %、内存(工作集和私有内存)、磁盘读/写速率、GPU %(任务管理器使用的每进程 "GPU Engine" 计数器)、CPU 时间;出/入字节数及速率、活动连接、重传字节数、失败的连接尝试、观察到的数据包;仅针对此进程的两分钟速率图。
  • 连接。 该进程的每个 TCP 连接和 UDP 流:远程主机(DNS 名称,否则为 TLS SNI,否则为地址)、端口、协议、状态(connecting / established / closed / failed,或 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 中打开。最多可同时运行四个捕获(每个进程一个,或每个进程各一个);标头显示此进程的捕获,并在其他捕获正在运行时注明。复制 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 可更改),如果客户端放弃则自行关闭。 一分钟内超过十次连接尝试会暂停提示五分钟(所有未知项均被拒绝)。 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 移除。

Socket 协议

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 个客户端。

事件:

evwhenfields
auth连接时以及做出决策时status:pending、allowed(+remembered)、denied、asking、abandoned、suspended
hello一旦被允许version、port
tick每秒t、tx_mbps、rx_mbps、tx_total、rx_total、audit、etw、procs[](前 25 个活跃进程:pid、name、tx_bps、rx_bps、tx_total、rx_total、remote、host、blocked、vm、conns、retx、fails、path)
spike突发超过阈值(保持 10 秒)kind、tx_mbps、rx_mbps、top[]
conn每个出站连接(Security 5156)pid、app、path(NT 设备路径)、dst、host、port、proto
flow被监视的 pid:连接生命周期pid、kind(connect、established +connect_ms、closed +tx/rx、failed +error、retransmit +bytes、reconnect)、proto、lport、remote、port、host
flowinfo被监视的 pid:某个流的身份刚刚被解码(每个流一次;最多两次)与 conns 条目相同的字段:pid、proto、lport、remote、port、host、state、sni、alpn、tls、quic、http、字节数、RTT……在带有 SNI 或 ALPN 的 TLS 或 QUIC ClientHello 上发送,在第一个明文 HTTP 请求上发送,以及在未看到 ClientHello 时的 TLS ServerHello 上发送(没有 SNI 的 TLS 流)。不需要 packets,也不计入数据包预算
pkt被监视的 pid 配合 packets(每一帧)或 handshakes(仅解码为 TLS ClientHello/ServerHello、DNS 查询/应答、HTTP 请求/响应或已解码 QUIC hello 的帧):每个客户端最多 200 次/秒pid、t、dir、proto、lport、remote、port、host、len、flags、info(解码结果)
trace被监视的 pid:进程事件kind(start 带 ppid/image、stop 带 exit_code、image = DLL 加载)
capture一个 pcapng 已关闭path、pid、packets、bytes、active(仍在运行的捕获)
killed、blocked、unblocked已执行的操作pid / path、by
intruder某个程序被拒绝三次path、denials、firewall_blocked
audit策略被更改或修复enabled、action
client某个客户端被断开status、why
snap窗口捕获完成path、ok、window(main 或 inspector)

命令:

下载工具