A comprehensive wireless penetration testing tool that provides a web-based dashboard for network reconnaissance, deauthentication attacks, and packet capture analysis.
mod2Branch for the nextVersion and fork from Here.mainThe latest stable version.designFor the latest UI/UX updates in progress.
- Web Dashboard: Clean, intuitive interface accessible via browser
- Network Scanning: Discover and analyze nearby wireless networks
- Deauthentication Attacks: Targeted deauth packet injection
- Packet Capture: Real-time packet sniffing and analysis
- Portable Design: Works on Raspberry Pi or any Linux system
- Auto-startup: Automatically launches on boot (Pi configuration)
- Raspberry Pi 4 (2GB+ RAM recommended)
- MicroSD card (16GB+)
- USB WiFi adapter with monitor mode support (e.g., Alfa AWUS036ACS)
- Power supply/power bank
- Optional: Small display for headless operation
- Any Linux computer/laptop
- USB WiFi adapter with monitor mode support
- Built-in WiFi can be used but external adapter recommended
Ensure your WiFi adapter supports monitor mode and packet injection:
- Alfa AWUS036ACS (Recommended)
- Alfa AWUS036ACH
- Panda PAU09
- TP-Link AC600 T2U Plus
- Any adapter with Realtek RTL8812AU/RTL8811AU chipset
Update your system:
sudo apt update && sudo apt upgrade -yInstall required packages:
sudo apt install -y python3 python3-pip git aircrack-ng hostapd dhcp-helper bridge-utilsInstall Python dependencies:
pip3 install flask flask-socketio scapy psutil threading subprocessgit clone https://github.com/yourusername/portable-pentesting-device.git
cd portable-pentesting-device- Enable SSH and configure headless setup (optional):
sudo systemctl enable ssh
sudo systemctl start ssh- Set up auto-start service:
sudo cp pentesting-device.service /etc/systemd/system/
sudo systemctl enable pentesting-device.service
sudo systemctl daemon-reload- Configure network interfaces:
sudo cp interfaces /etc/dhcpcd.conf.backup
# Edit /etc/dhcpcd.conf to configure static IP if needed- Install additional dependencies if needed:
# For Ubuntu/Debian
sudo apt install -y wireless-tools wpasupplicant
# For Arch Linux
sudo pacman -S wireless_tools wpa_supplicant
# For CentOS/RHEL
sudo yum install -y wireless-tools wpa_supplicant- Set up permissions:
sudo usermod -a -G netdev $USER
# Logout and login again for changes to take effectIdentify your wireless adapter:
iwconfig
# or
ip link showEdit config.py and update the interface name:
WIFI_INTERFACE = "wlan1" # Replace with your adapter nameThe application will automatically set monitor mode, but you can manually test:
sudo airmon-ng start wlan1
# Your interface might become wlan1monEdit config.py for custom settings:
# Dashboard settings
DASHBOARD_HOST = "0.0.0.0" # Listen on all interfaces
DASHBOARD_PORT = 8080
DEBUG_MODE = False
# Security settings
REQUIRE_AUTH = True # Set to False for open access
DEFAULT_PASSWORD = "pentesting123" # Change this!cd portable-pentesting-device
sudo python3 app.pysudo systemctl start pentesting-device
sudo systemctl status pentesting-device # Check status- Find the device IP address:
hostname -I
# or
ip addr show- Open web browser and navigate to:
http://[DEVICE_IP]:8080
Example: http://192.168.1.100:8080
- For Raspberry Pi headless setup, you can also try:
http://raspberrypi.local:8080
- Network Scan: Click "Scan Networks" to discover nearby WiFi networks
- Select Target: Choose a network from the discovered list
- Deauth Attack: Click "Start Deauth" to begin deauthentication
- Packet Capture: Use "Start Capture" to begin packet sniffing
- View Results: Monitor real-time results in the dashboard
portable-pentesting-device/
βββ app.py # Main application
βββ config.py # Configuration settings
βββ static/
β βββ css/
β β βββ style.css # Dashboard styling
β βββ js/
β βββ main.js # Frontend JavaScript
βββ templates/
β βββ index.html # Web interface template
βββ utils/
β βββ network_scanner.py # Network scanning utilities
β βββ deauth_attack.py # Deauthentication attack tools
β βββ packet_capture.py # Packet capture functionality
βββ logs/ # Application logs
βββ captures/ # Captured packets storage
βββ pentesting-device.service # Systemd service file
βββ README.md # This file
"No wireless interface found"
- Check if your WiFi adapter is connected and recognized:
lsusb - Verify driver installation:
dmesg | grep -i wifi - Try different USB port
"Permission denied"
- Run with sudo:
sudo python3 app.py - Check user permissions:
groups $USER
"Monitor mode not supported"
- Verify your adapter supports monitor mode
- Install proper drivers for your chipset
- Try:
sudo airmon-ng check killbefore starting
Dashboard not accessible
- Check if service is running:
sudo systemctl status pentesting-device - Verify firewall settings:
sudo ufw status - Check IP address:
hostname -I
Raspberry Pi won't start automatically
- Check service status:
sudo systemctl status pentesting-device - View logs:
sudo journalctl -u pentesting-device -f - Verify service file permissions
For Raspberry Pi:
- Use Class 10 SD card or better
- Ensure adequate power supply (2.5A+)
- Consider active cooling for extended use
For Linux PC:
- Close unnecessary applications
- Use dedicated USB 3.0 port for WiFi adapter
- Monitor CPU and memory usage
- Only use on networks you own or have explicit permission to test
- Ensure compliance with local laws and regulations
- Change default passwords before deployment
- Use in controlled environments
- Monitor for unintended network disruption
- Fork the repository
- Create a feature branch from
mod2branch - Make your changes
- Test thoroughly
- Submit a pull request
Add custom pentesting modules in the modules/ directory following the existing pattern.
This project is intended for educational purposes. Users are responsible for compliance with applicable laws.
For issues and questions:
- Check the troubleshooting section
- Review system logs:
sudo journalctl -u pentesting-device - Open an issue on GitHub with system details and error logs
- Initial release
- Basic network scanning
- Deauthentication attacks
- Web dashboard interface
- Raspberry Pi auto-startup support