BashadvanceddevopsAI generated

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

  1. 01

    Implement single-port connectivity checks

    ~1.5h

    Use Bash's /dev/tcp/host/port pseudo-device with timeout to test if a port is open.

  2. 02

    Support host and port range expansion

    ~2h

    Parse host ranges and port ranges/lists from CLI arguments into an iteration list.

  3. 03

    Parallelize scanning with a worker limit

    ~2.5h

    Use xargs -P or background jobs with a concurrency cap to scan many host:port pairs efficiently.

  4. 04

    Add banner grabbing for open ports

    ~2h

    For open ports, attempt to read an initial response banner to identify the running service.

  5. 05

    Produce a structured results report

    ~1.5h

    Output results as a sorted table and optionally as CSV/JSON for downstream tooling.

Ready to build this?

Get a GitHub repo and start building. Your AI reviewer checks each step as you go.

~9.5h · 5 steps

Tech stack

/dev/tcptimeoutxargs