NetworkMapper is a Python-based network port scanner with both a modern dark-themed GUI and a command-line interface. It uses the python-nmap library to scan specific ports on a given target and retrieve information such as state, service name, and version.
- Modern GUI (Tkinter)
- CLI-based port scanning
- Displays open ports, service names, and versions
- Custom port selection via command-line arguments
- Scan results are saved to a .txt file
- Python 3.8 or higher
- Nmap installed on the system
- Required Python packages:
python-nmappyfiglettkinter(usually comes with Python, but may requiretkpackage on some systems)
First, make sure Nmap is installed on your system:
- Debian/Ubuntu:
sudo apt install nmap tk
- macOS:
brew install nmap
- Windows: Download and install from https://nmap.org/download.html
Then install Python dependencies:
pip install -r requirements.txtpython main.py- The GUI features a dark theme for comfortable use.
- You can start and stop scans using the provided buttons.
python modules/run_cli.py [target] -p [ports]Scan a range of ports:
python modules/run_cli.py 192.168.1.1 -p 1-1000Scan specific ports:
python modules/run_cli.py example.com -p 22,80,443.
├── modules/ # All models are here
│ ├── gui.py # GUI application
│ ├── greeting.py # Contains banner and usage text
│ ├── scanner.py # Handles port scanning logic
│ ├── run_cli.py # CLI entry point script
│ └── __pycache__/ # Ignored compiled Python files
├── main.py # Main entry point (launches GUI)
├── requirements.txt # Python dependencies
├── .gitignore # Git ignore rules
└── __pycache__/ # Ignored compiled Python files
- Backend
- GUI
- Advanced scan options
- Export results

