PacketWarden is a fast, beautifully designed, and cross-platform network packet sniffer built with Rust. It features a rich, Wireshark-inspired Graphical User Interface (GUI) powered by the iced framework.
- Live Packet Capture: Monitor network traffic in real-time.
- Deep Packet Inspection: Parse and analyze Ethernet, IPv4, TCP, UDP, TLS/SSL, ARP, and OSPF frames.
- Wireshark Aesthetics: Polished interface with protocol-based row coloring (e.g., UDP in light blue, TCP in gray, OSPF in yellow) and a side visual packet map.
- Display Filters: Instantly filter captured packets by protocol, source, destination, or info strings.
- Detailed Packet Analysis: Expandable, tree-like detail views for packet headers and layered protocols.
- Hex Dump Viewer: View the raw byte-level content of packets aligned with standard hexadecimal offset and ASCII representation.
PacketWarden relies on libpcap to capture packets from your network interfaces.
- macOS / Linux:
libpcapis usually pre-installed. - Windows: You will need to install Npcap (make sure to install it in "WinPcap API-compatible Mode").
-
Clone the repository (if you haven't already):
-
Run the application: Because packet sniffing requires elevated system privileges, you must run the application with administrative or root access.
On macOS/Linux:
sudo cargo run
On Windows (run your terminal as Administrator):
cargo run
To distribute the application, you can build a highly optimized release binary.
-
Build the release binary:
cargo build --release
The compiled executable will be located at
target/release/packetwarden(orpacketwarden.exeon Windows). -
Packaging for Windows (
.exe):- The
.exegenerated intarget/release/packetwarden.exeis a standalone executable. You can simply share this file. - For a full installer setup, consider using tools like Inno Setup.
- The
-
Packaging for macOS (
.appand.dmg):- Install
cargo-bundleto package the binary into a native macOS app bundle:cargo install cargo-bundle cargo bundle --release
- Your
.appwill be created intarget/release/bundle/osx/. - To create a
.dmg, you can use the built-in macOShdiutilor tools likecreate-dmg:brew install create-dmg create-dmg "PacketWarden.dmg" "target/release/bundle/osx/PacketWarden.app"
- Install
- Rust
- Iced (GUI Framework)
- pnet (Networking/Packet parsing)
- pcap (Packet capture bindings)
MIT License