A multi-threaded network scanner built in Python for discovering open ports on target hosts. Designed for security professionals, network administrators, and educational purposes.
- 🚪 Port Scanning: Check for open ports on target hosts
- ⚡ Multi-threaded: Concurrent scanning for improved performance
- 🎯 Flexible Port Selection: Scan specific ports or port ranges
- 📊 Service Detection: Identify services running on open ports
- Python 3.7 or higher
# Clone the repository
git clone https://github.com/Yarwood-cmd/network-scanner.git
cd network-scanner
# Run the scanner
python scanner.py --helpScan default common ports:
python scanner.py -t 192.168.1.1Scan specific ports:
python scanner.py -t 192.168.1.1 -p 80,443,8080Scan a port range:
python scanner.py -t 192.168.1.1 -p 1-1024============================================================
Python Network Scanner v1.0
Author: Paul Yarwood
For educational purposes only
============================================================
Scanning 192.168.1.1...
Started at: 2025-12-22 15:30:45
------------------------------------------------------------
Port 22 (ssh ) - OPEN
Port 80 (http ) - OPEN
Port 443 (https ) - OPEN
------------------------------------------------------------
Completed at: 2025-12-22 15:30:47
Found 3 open port(s)
- Uses Python's
socketlibrary for TCP connections - Multi-threaded with
concurrent.futures.ThreadPoolExecutor - Configurable timeout for network responsiveness
- Service name detection via
getservbyport()
- ✅ Use on your own systems or networks
- ✅ Use with explicit written permission
- ❌ Do NOT scan networks without authorization
Legal Disclaimer: Unauthorized network scanning may be illegal in your jurisdiction. Always obtain proper authorization before scanning.
- Network programming with sockets
- Multi-threaded application design
- Command-line interface development
- Security tool development
Paul Yarwood
Computer Information Systems Student
Texas A&M University-Commerce
- GitHub: @Yarwood-cmd
MIT License - See LICENSE file for details.