TCP Port Scanner & Service Prober
A network scanning tool that checks a range of hosts and ports for open TCP connections using Bash's /dev/tcp, runs in parallel with a worker limit, and attempts basic service identification by reading banners. Learners practice Bash's built-in TCP sockets, parallelism, and timeout handling.
- Estimate
- ~9.5h
- Steps
- 5
- Completed by
- 0
- Proposed by
- codeseed.app
/dev/tcp · timeout · xargs
Project roadmap
- 01
Implement single-port connectivity checks
~1.5hUse Bash's /dev/tcp/host/port pseudo-device with timeout to test if a port is open.
- 02
Support host and port range expansion
~2hParse host ranges and port ranges/lists from CLI arguments into an iteration list.
- 03
Parallelize scanning with a worker limit
~2.5hUse xargs -P or background jobs with a concurrency cap to scan many host:port pairs efficiently.
- 04
Add banner grabbing for open ports
~2hFor open ports, attempt to read an initial response banner to identify the running service.
- 05
Produce a structured results report
~1.5hOutput results as a sorted table and optionally as CSV/JSON for downstream tooling.
Resources
Ready to build this?
Get a GitHub repo and start building. Your AI reviewer checks each step as you go.
Tech stack