v0.13.0

domcyrus/rustnetv0.13.0Oct 4, 2025by github-actions[bot]

AI Summary

Windows process identification is fully implemented using the IP Helper API, and privilege detection is added to prevent insufficient permissions. Packet length calculation is also corrected.

Key Highlights

  • Windows Process Identification via IP Helper API
  • Privilege Detection and Pre-flight Checks
  • Packet Length Calculation Fix (IP headers)

New Features

  • Windows Process Identification
  • Privilege Detection
  • Packet Length Calculation Fix

Full Release Notes

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

## What's Changed
* fix: use actual packet length from IP headers instead of captured length by @domcyrus in https://github.com/domcyrus/rustnet/pull/35
* Feat/privilege detection by @domcyrus in https://github.com/domcyrus/rustnet/pull/31
* feat: implement Windows process identification via IP Helper API by @domcyrus in https://github.com/domcyrus/rustnet/pull/37


**Full Changelog**: https://github.com/domcyrus/rustnet/compare/v0.12.1...v0.13.0