svcscan-0.1.0 is not a library.
svcscan 🔎
Simple, fast-enough async TCP port scanner + banner/HTTP grabber in pure Rust.
- Reads a
.txtof hosts/URLs/IPs (one per line), likehosts.txt/new_list.txt - Resolves hostnames, de-duplicates IPs
- Scans all 65,535 TCP ports per host (async connect)
- Grabs TCP banners and HTTP(S) info (status, server, headers, capped body excerpt)
- Writes navigable, append-safe results (check the file while it runs) + summary with emojis ✨
- No external scanner binaries required (no
masscan/nmap/zmapdependency)
Authorized security testing / inventory only. Scan hosts you own or have permission to assess.
Install
Or build from source:
Usage
INPUT.txt— hosts/URLs/IPs (one per line). Examples:http://203.0.113.10:7777/example.com198.51.100.5:8080
OUTPUT— optional; default:result_<unix_timestamp>.txtin the current directory--verbose, -v— debug logs to stderr (result file stays clean)--concurrency— max concurrent port probes (default500)--timeout-ms— connect/read timeout in ms (default1200)
Example
Output
- Appended per-host blocks as scans complete: open ports,
banner,httpstatus/server/headers/body excerpt - Final
📊 SUMMARYwith per-host open counts - Progress spinner/emoji status on stderr
Notes
- TCP connect scan (accurate, no root required). Full 65k scans take time on filtered hosts (timeouts dominate); tune
--concurrency/--timeout-msfor your network. - HTTP probing tries HTTP/HTTPS and accepts invalid certs for fingerprinting; body/headers are capped.
- v0.1.0 is intentionally simple/minimal.
License
MIT