From ed543746a0b3254a74d08ca9efaeefc464382012 Mon Sep 17 00:00:00 2001 From: Marco Cadetg Date: Sat, 4 Oct 2025 16:54:04 +0200 Subject: [PATCH] Release v0.13.0 - Windows process identification via IP Helper API - Privilege detection with platform-specific guidance - Fix packet length calculation for large packets --- CHANGELOG.md | 27 ++++++++++++++++++++++++++- Cargo.lock | 2 +- Cargo.toml | 2 +- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cb7ea3e..a4fb5d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.13.0] - 2025-10-04 + +### Added +- **Windows Process Identification**: Implemented full process lookup using Windows IP Helper API + - Uses GetExtendedTcpTable and GetExtendedUdpTable for connection-to-process mapping + - Resolves process names via OpenProcess and QueryFullProcessImageNameW + - Supports both TCP/UDP and IPv4/IPv6 connections + - Implements time-based caching with 2-second TTL for performance + - Migrated from winapi to windows crate (v0.59) for better maintainability +- **Privilege Detection**: Pre-flight privilege checking before network interface access + - Detects insufficient privileges on Linux, macOS, and Windows + - Provides platform-specific instructions (sudo, setcap, Docker flags) + - Shows errors before TUI initialization for better visibility + - Detects container environments with Docker-specific guidance + +### Fixed +- **Packet Length Calculation**: Use actual packet length from IP headers instead of captured length + - Extracts Total Length field from IP headers for accurate byte counting + - Fixes severe undercounting for large packets (NFS, jumbo frames) + - Resolves issues with snaplen-limited capture buffers + +### Changed +- **Documentation**: Updated ROADMAP.md and README.md with Windows process identification status and Arch Linux installation instructions + ## [0.12.1] - 2025-10-02 ### Changed @@ -196,7 +220,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Configurable refresh intervals and filtering options - Optional logging with multiple log levels -[Unreleased]: https://github.com/domcyrus/rustnet/compare/v0.12.1...HEAD +[Unreleased]: https://github.com/domcyrus/rustnet/compare/v0.13.0...HEAD +[0.13.0]: https://github.com/domcyrus/rustnet/compare/v0.12.1...v0.13.0 [0.12.1]: https://github.com/domcyrus/rustnet/compare/v0.12.0...v0.12.1 [0.12.0]: https://github.com/domcyrus/rustnet/compare/v0.11.0...v0.12.0 [0.11.0]: https://github.com/domcyrus/rustnet/compare/v0.10.0...v0.11.0 diff --git a/Cargo.lock b/Cargo.lock index 28d058d..c9bfa43 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1876,7 +1876,7 @@ dependencies = [ [[package]] name = "rustnet-monitor" -version = "0.12.1" +version = "0.13.0" dependencies = [ "aes", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index f21d312..39d25df 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rustnet-monitor" -version = "0.12.1" +version = "0.13.0" authors = ["domcyrus"] edition = "2024" rust-version = "1.88.0" # Let-chains require Rust 1.88.0+