Netstat Cat Xueshi Qiao
winget install --id=XueshiQiao.NetstatCat -e Netstat Cat is a desktop application for monitoring active TCP and UDP connections with advanced filtering, process identification, and live refresh.
winget install --id=XueshiQiao.NetstatCat -e Netstat Cat is a desktop application for monitoring active TCP and UDP connections with advanced filtering, process identification, and live refresh.
> A powerful network monitoring tool with real-time connection tracking and advanced filtering capabilities
[English] [中文]
Netstat Cat is a lightweight desktop application built with Tauri v2 and Rust, providing a user-friendly interface for monitoring network connections on macOS and Windows. It serves as a graphical replacement for the command-line netstat tool, making it easier to monitor network activity and identify which applications are using specific ports.
Security & Privacy - Pure local operation with no network connections or data transmission
Real-time Network Monitoring - Live display of active TCP/UDP connections
Process Identification - Shows which processes own each network connection
Advanced Filtering System - Search by process name, PID, port ranges, or semantic queries like process=chrome && lport>1000 See filtering guide
Virtualized Table Performance - Efficiently handles large numbers of connections using React Virtuoso
Lazy Process Resolution - Only fetches full executable paths when hovering over processes
LRU Caching - Intelligent caching for process paths to avoid repeated system calls
Modern UI - Frameless window with dark/light theme toggle
Auto-refresh Mode - Configurable live monitoring (2-second intervals)
Light theme on macOS
Dark theme on macOS
Advanced query filtering on macOS
Light theme on Windows
Dark theme on Windows
brew install --cask xueshiqiao/tap/netstat-cat
Download from GitHub Releases: https://github.com/XueshiQiao/PastePaw/releases
# Clone the repository
git clone https://github.com/XueshiQiao/netstat-cat.git
cd netstat-cat
# Install dependencies
npm install
# Start Tauri development server (compiles Rust backend + starts Vite)
npm run tauri:dev
# Run type checking
npm run typecheck
# Run linting
npm run lint
# Build for current platform
npm run tauri:build
chrome, 8080)* for pattern matching (e.g., *.exe)80-443process=chrome && lport>1000See filters_en.md for complete filtering documentation.
Recommended: VSCode + ESLint + Prettier
netstat-cat/
├── src/ # React frontend
│ ├── App.tsx # Main UI component
│ ├── main.tsx # Entry point
│ ├── assets/ # CSS and images
│ └── utils/ # Query parser, process cache
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── lib.rs # Tauri app setup & command registration
│ │ ├── netstat.rs # Network socket fetching logic
│ │ └── process_info.rs # Data structures
│ ├── Cargo.toml
│ └── tauri.conf.json # Tauri configuration
├── index.html
├── vite.config.ts
└── resources/ # Icons and entitlements
npm run tauri:dev - Start Tauri development modenpm run tauri:build - Build for productionnpm run typecheck - Run TypeScript type checkingnpm run lint - Run ESLintnpm run format - Format code with PrettierThis project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.