Skip to content

A professional Qt6-based network packet analyzer with real-time capture and nmap integration for device discovery.

License

Notifications You must be signed in to change notification settings

lcoronelr/PacketAnalyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔍 PacketAnalyzer

A sleek, nice network packet capture and analysis tool with real-time scanning capabilities


Main Interface

🌟 Features

📡 Network Capture

  • Real-time packet monitoring with libpcap
  • 🔌 Auto-detect network interfaces (WiFi/Ethernet)
  • 📊 Live packet analysis with protocol detection
  • 💾 Export capabilities (JSON/TXT formats)

🌐 Network Discovery

  • 🗺️ Fast nmap integration for device scanning
  • 🏷️ MAC address detection with vendor info
  • 🎯 Smart network range detection (172.16.x.x support)
  • 📋 Clean, organized results display

🚀 Installation

Prerequisites

# Ubuntu/Debian
sudo apt update && sudo apt install qt6-base-dev libqt6widgets6 libpcap-dev nmap

# Arch Linux
sudo pacman -S qt6-base libpcap nmap

# Fedora/RHEL
sudo dnf install qt6-qtbase-devel libpcap-devel nmap

Quick Setup

git clone https://github.com/Nytso2/PacketAnalyzer.git
cd PacketAnalyzer
qmake6 && make
sudo ./PacketAnalyzer  # Root required for packet capture

⚙️ Network Configuration

Most users won't need to edit anything - the tool auto-detects your network. But if network scanning doesn't find devices, you may need to adjust these lines:

📍 Location: main.cpp around line 450-460

// In the scanNetwork() function - edit if needed:

if (localIP.startsWith("172.16.")) {
    networkRange = "172.16.0.0/23";  // ← Change this number if needed
} else if (localIP.startsWith("192.168.")) {
    QStringList parts = localIP.split('.');
    networkRange = parts[0] + "." + parts[1] + "." + parts[2] + ".0/24";  // ← Usually fine
} else if (localIP.startsWith("10.")) {
    networkRange = "10.0.0.0/8";     // ← Change this number if needed
} else {
    // Fallback for other networks
    QStringList parts = localIP.split('.');
    networkRange = parts[0] + "." + parts[1] + "." + parts[2] + ".0/24";
}

🔍 How to Check Your Network:

ip route | grep default

📝 Only Edit If:

  • Network scan finds 0 devices but you know there are devices You're on a corporate network with custom IP ranges Your router uses non-standard subnets

Requirements

  • Qt 6.0+ - Modern C++ GUI framework
  • libpcap - Low-level packet capture
  • nmap - Network discovery tool
  • Linux/Windows - Cross-platform support
  • Root/Admin - Required for packet capture

License

  • This project is licensed under the MIT License - see the LICENSE file for details.

NOTICE

  • This tool is designed for educational purposes and authorized network analysis only. Users must ensure compliance with all applicable laws and regulations.

About

A professional Qt6-based network packet analyzer with real-time capture and nmap integration for device discovery.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published