Skip to content

ChronoCoders/rustshark

Repository files navigation

Rustshark

Modern network protocol analyzer built with Rust for maximum performance and reliability.

License: MIT Platform

🚀 Overview

Rustshark is a production-ready network protocol analyzer that provides deep packet inspection, protocol decoding, and powerful filtering capabilities. Built from the ground up in Rust, it offers Wireshark-compatible functionality with modern architecture and zero-compromise quality standards.

Current Status: v1.0.0 - Production Release (Windows x64)

✨ Features

Core Capabilities

  • Live Packet Capture - Capture from any network interface with BPF filtering
  • PCAP Import/Export - Full Wireshark compatibility for offline analysis
  • 50+ Protocol Parsers - Ethernet, IPv4, IPv6, TCP, UDP, ICMP, HTTP, DNS, TLS, and more
  • Triple-Pane UI - Packet list, protocol detail tree, hex dump viewer
  • DuckDB Storage - High-performance database handles millions of packets

Analysis Tools

  • Display Filters - Wireshark-style syntax with protocol, IP, and port filtering
    • Examples: tcp, ip.src == 192.168.1.1, tcp.port == 443 && ip.addr == 10.0.0.1
  • BPF Capture Filters - Kernel-level filtering for maximum performance
    • Examples: tcp and port 443, host 192.168.1.1 and not icmp
  • Search Functionality - Find packets by text, hex pattern, or protocol fields
  • Follow TCP Stream - Reassemble and display bidirectional conversations
  • Capture Statistics - Protocol distribution, top talkers, packet rates

Data Export

  • PCAP Export - Save filtered or complete captures for Wireshark
  • CSV Export - For Excel, pandas, R analysis
  • JSON Export - For APIs, scripts, and automation

Performance

  • ✅ Validated with 1,000,000+ packet captures
  • ✅ Sub-second query performance on 100k+ packets
  • ✅ Zero memory leaks in stress testing
  • ✅ Production-grade code quality (zero compiler warnings)

📦 Installation

Windows (Portable)

Requirements:

  • Windows 10 or Windows 11 (x64)
  • Administrator privileges (for packet capture)
  • Npcap (recommended) or WinPcap

Steps:

  1. Download the latest release: rustshark-1.0.0-portable-windows-x64.zip
  2. Extract to any folder
  3. Run rustshark.exe
  4. Install Npcap if prompted
  5. Start capturing!

Linux & macOS

Linux (.deb/.rpm) and macOS support planned for v1.1.0. Stay tuned!

🎯 Quick Start

Live Capture

  1. Launch Rustshark with administrator privileges
  2. Select Network Interface from the dropdown
  3. (Optional) Set Capture Filter
    • Enter BPF filter: tcp and port 443 (HTTPS only)
    • Or leave blank to capture everything
  4. Click "Start Capture"
  5. Analyze Packets in real-time

Offline Analysis

  1. Click "Import PCAP"
  2. Select .pcap file from Wireshark or tcpdump
  3. Apply Display Filters to narrow results
    • Example: tcp.port == 80 (HTTP traffic)
  4. Search Packets using text or hex patterns
  5. Export Results to CSV/JSON for further analysis

Follow TCP Stream

  1. Capture or import TCP traffic
  2. Select any packet from a TCP conversation
  3. Click "Follow TCP Stream"
  4. View reassembled bidirectional data
    • ASCII text for HTTP, FTP, SMTP
    • Hex dump for binary protocols

📊 Screenshots

+--------------------------------------------------+
|  Rustshark - Modern Network Protocol Analyzer    |
+--------------------------------------------------+
| Interface: Ethernet   Filter: tcp.port == 443    |
| [Start] [Stop] [Import] [Export] [Statistics]    | 
+--------------------------------------------------+
| Packet List (100+ packets)                       |
| #  Time        Protocol  Source -> Destination   |
| 1  0.000000    TCP       192.168.1.100:54321 ->  |
| 2  0.001234    TCP       10.0.0.1:443 -> ...     |
+--------------------------------------------------+
| Protocol Detail Tree                             |
| ▼ Ethernet II                                    |
| ▼ Internet Protocol Version 4                    |
| ▼ Transmission Control Protocol                  |
+--------------------------------------------------+
| Hex Dump                                         |
| 0000   45 00 00 3c 1c 46 40 00 40 06 b1 e6       | 
+--------------------------------------------------+

🛠️ Building from Source

Prerequisites

  • Rust 1.75+ (rustup.rs)
  • Windows: Visual Studio Build Tools 2019+
  • Linux: build-essential, libpcap-dev
  • macOS: Xcode Command Line Tools

Build Steps

# Clone repository
git clone https://github.com/ChronoCoders/rustshark.git
cd rustshark

# Build release binary
cargo build --release -p rustshark

# Binary location
# Windows: target/release/rustshark.exe
# Linux/macOS: target/release/rustshark

# Run tests
cargo test --workspace --release

# Run performance benchmarks
cargo bench

Development Build

# Debug build (faster compilation, slower runtime)
cargo build -p rustshark

# Run with logging
RUST_LOG=debug cargo run -p rustshark

📚 Documentation

User Guides

Developer Docs

🔧 System Requirements

Minimum

  • OS: Windows 10 x64 (1903+)
  • RAM: 4GB
  • Disk: 500MB
  • Network: Any adapter supported by Npcap

Recommended

  • OS: Windows 11 x64
  • RAM: 8GB+ (for large captures)
  • Disk: 2GB+ (for capture storage)
  • Network: Gigabit Ethernet adapter

🗺️ Roadmap

v1.1.0 (Q2 2026)

  • Linux support (.deb/.rpm packages)
  • macOS support (DMG installer)
  • 100+ protocol parsers
  • Advanced statistics with charts
  • Name resolution (DNS, MAC vendors)
  • Packet colorization rules

v2.0.0 (Q3 2026)

  • 500+ protocol parsers
  • TLS decryption (with private keys)
  • VoIP analysis (RTP, SIP)
  • Expert information system
  • Command-line tool (rustshark-cli)
  • Plugin architecture

v3.0.0 (Q4 2026)

  • AI-powered anomaly detection
  • Distributed capture (multi-sensor)
  • Cloud storage integration
  • Real-time alerting
  • SIEM integration

🤝 Contributing

Contributions are welcome! Please read our Contributing Guide for details on:

  • Code of Conduct
  • Development workflow
  • Submitting pull requests
  • Coding standards

Quick Links:

📄 License

MIT License - Copyright (c) 2024-2026 Distributed Systems Labs, LLC

See LICENSE for full text.

🙏 Acknowledgments

  • Wireshark Team - Inspiration and protocol reference
  • Rust Community - Excellent ecosystem and tooling
  • DuckDB Team - High-performance embedded database
  • Dioxus Team - Modern Rust UI framework
  • All Contributors - Thank you for your support!

📞 Support

🔗 Links


Built with ❤️ by Distributed Systems Labs, LLC

"Honest network analysis. Production-ready quality. Zero compromises."

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published