SysRecon
A Python-based CLI TCP port scanner built to deepen my understanding of socket-level communication, network reconnaissance, and command-line development.
Overview
SysRecon is a Python CLI TCP scanner designed for basic network reconnaissance. The tool allows users to scan individual ports or custom port ranges and classifies connection attempts as OPEN, CLOSED, TIMEOUT, or ERROR.
Problem & Application
Recently, I performed a home lab assessment and wanted a deeper understanding of the TCP ports I was scanning. Relying solely on existing tools made it harder to understand what was happening at the socket and connection level.
I built SysRecon to address that gap by creating a TCP scanner from the ground up. The project allowed me to explore how TCP connections behave while strengthening my Python fundamentals and understanding of network reconnaissance.
SysRecon could also be applied directly to the reconnaissance
phase of my previous cybersecurity lab by providing an
additional method of identifying and validating exposed TCP
ports alongside tools such as Nmap and ss.
Objectives
- Build a functional TCP scanner from the ground up
- Develop practical experience with Python socket programming
- Practice command-line argument handling and input validation
- Apply the tool in a controlled laboratory environment
- Validate scanner results against Nmap
Features
- TCP port scanning
- Hostname and IPv4 resolution
- Individual port selection with
--ports - Custom ranges with
--start-portand--end-port - Verbose output with
--verbose - OPEN, CLOSED, TIMEOUT, and ERROR classification
- Port range validation
- Color-coded terminal output
- Graceful error handling
Validation
SysRecon was tested in an isolated VM environment consisting of an attacker and target machine. A TCP service was intentionally exposed on the target machine and scanned using both SysRecon and Nmap with the same target and port configuration.
Both tools successfully identified the intentionally exposed TCP port, providing an independent validation of SysRecon's scanning behavior.
Tools & Technologies
Limitations
- TCP scanning only
- Sequential scanning
- No UDP scanning
- No service or version detection
- No operating system detection
- No CIDR or subnet scanning
- No result export
- Fixed 1-second connection timeout
V2 — Coming Soon...
- Concurrent port scanning
- UDP scanning
- Service and version detection
- JSON/CSV result export
- Configurable timeouts
- CIDR/subnet scanning
- Automated testing