NetworkX is a lightweight yet powerful network packet analyzer with an intuitive graphical interface. It provides real-time capture, analysis, and visualization of network traffic.
- Live packet capture with BPF filtering
- Detailed packet inspection
- Protocol statistics
- IP address analysis
- DNS query monitoring
- HTTP transaction tracking
- Save and load PCAP files
- Export statistics to CSV/JSON
- Dark mode support
- Python 3.6 or higher
- Scapy library
- Tkinter (included with most Python distributions)
-
Clone the repository:
git clone https://github.com/yourusername/networkx.git cd networkx -
Install dependencies:
pip install -r requirements.txt
Run the application:
python app.py
- Select a network interface from the dropdown menu
- Optionally set a BPF filter (click the "?" button for help)
- Click "Start Capture" to begin capturing packets
- Click "Stop Capture" to stop
- Packets Tab: View and inspect captured packets
- Statistics Tab: View protocol and IP address statistics
- DNS Tab: Monitor DNS queries and responses
- HTTP Tab: Track HTTP requests and responses
- Open PCAP: Load packets from a PCAP file
- Save PCAP: Save captured packets to a PCAP file
- Export Statistics: Export data to CSV or JSON format
networkx/
├── app.py # Main entry point
├── requirements.txt # Dependencies
├── README.md # Project documentation
├── core/ # Core functionality
│ ├── __init__.py
│ ├── packet_capture.py # Packet capture and processing
│ ├── packet_analyzer.py # Packet analysis and statistics
│ └── constants.py # Shared constants (ports, colors, etc.)
├── ui/ # User interface components
│ ├── __init__.py
│ ├── main_window.py # Main application window
│ ├── packet_view.py # Packet list and details view
│ ├── statistics_view.py # Statistics views
│ ├── http_view.py # HTTP requests/responses view
│ ├── dns_view.py # DNS queries/responses view
│ └── dialogs.py # Helper dialogs (filter helper, about)
└── utils/ # Utility functions
├── __init__.py
├── formatting.py # Formatting utilities
├── pcap_handler.py # PCAP file operations
└── export.py # Export functionality
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Scapy for packet manipulation
- Uses Python's Tkinter for the user interface