README.md

# portr

> Archived as of June 2022. rustscan, naabu and nmap's ncat have all
> grown friendly interfaces, and there's no reason for this to exist
> any more. I'm keeping it up because the tests are still a fine
> example of table-driven Go and I point students at them.
>
> See ARCHIVE_NOTICE.md for the specifics.

A tiny concurrent TCP port scanner with a tview TUI. No raw sockets,
no SYN scans, just `net.Dial` in a worker pool. About 400 lines, easy
to read in one sitting.

## Build

    go build -o portr .

## Use

    portr 1.1.1.1
    portr scanme.nmap.org -p 1-1024
    portr 192.168.1.0/24 -p 22,80,443 --concurrency 256

Run with `--no-tui` for a plain stdout listing you can pipe to other
tools.

## Options

    -p, --ports         port list or range, e.g. "1-1024" or "22,80,443"
        --concurrency   worker pool size (default 128)
        --timeout       per-connect timeout (default 500ms)
        --no-tui        don't launch the TUI, print results as they arrive

## Why it's archived

- nmap is older than me and works better than this ever did
- rustscan has the same "fast first pass" idea and the extensions
  actually matter
- I don't use TUI scanners any more; I use a text file full of
  known-good targets

## Alternatives

- nmap
- rustscan
- naabu (from projectdiscovery)

## License

Apache-2.0. See LICENSE.