A comprehensive network diagnostics tool for Linux that provides advanced network analysis, monitoring, and troubleshooting capabilities.
- Features
- Prerequisites
- Installation
- Usage
- Options
- Examples
- Data Structure
- Advanced Features
- Security Note
- Contributing
- License
- Advanced ping testing with detailed statistics
- Multi-type port scanning (SYN, UDP, Connect, FIN, XMAS, NULL)
- Comprehensive DNS resolution with multiple record types
- Network speed testing with server selection
- Traceroute analysis
- Advanced SSL certificate checking
- Network interface monitoring and statistics
- Real-time packet analysis and sniffing
- WHOIS information lookup
- Detailed network interface information
- Colored output for better readability
- Report generation and export
- Concurrent operations support
- Detailed logging
- Python 3.6 or higher
- Linux operating system
- Root privileges for some operations (like port scanning and packet sniffing)
- Required system packages:
sudo apt-get install python3-scapy sudo apt-get install traceroute
- Clone this repository or download the files:
git clone <repository-url> cd <repository-directory>
- Install the required dependencies:
pip install -r requirements.txt
The tool can be used with various command-line arguments:
python network_diagnostics.py [options]--host <hostname>: Target host to diagnose (e.g., example.com or 192.168.1.1)--domain <domain>: Domain for DNS lookup and SSL certificate check--interface <interface>: Network interface to monitor (e.g., eth0, wlan0)--speed: Run network speed test--scan-type <type>: Port scan type (SYN, UDP, Connect, FIN, XMAS, NULL)--duration <seconds>: Duration for interface monitoring (default: 10)--all: Run all available diagnostics--output <file>: Save the report to a file
-
Run all diagnostics on a specific host with custom scan type:
python network_diagnostics.py --host example.com --scan-type SYN,UDP --all
-
Monitor network interface and analyze packets:
python network_diagnostics.py --interface eth0 --duration 30
-
Check domain information and SSL certificate:
python network_diagnostics.py --domain example.com --output report.txt
-
Run speed test and save results:
python network_diagnostics.py --speed --output speed_report.txt
- Real-time monitoring of network interface statistics
- Packet counts and byte statistics
- Interface status and MTU information
- Capture and analyze network packets
- Source and destination IP tracking
- Protocol analysis
- Packet size statistics
- Multiple scan types support
- Comprehensive port range scanning
- Service detection
- OS fingerprinting
- Detailed certificate information
- Expiration date checking
- Issuer and subject information
- Certificate extensions analysis
Some features of this tool (like port scanning and packet sniffing) require root privileges and should be used responsibly and only on networks you have permission to test. Always ensure you have proper authorization before performing network diagnostics.
Contributions are welcome! If you would like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push your changes to your forked repository.
- Submit a pull request detailing your changes.
This project is licensed under the MIT License - see the LICENSE file for details.