Skip to content

feat(subnet-scanner): add async TCP port scanner in Rust#3

Merged
flaviomilan merged 2 commits intomainfrom
feat/subnet-scanner
Feb 27, 2026
Merged

feat(subnet-scanner): add async TCP port scanner in Rust#3
flaviomilan merged 2 commits intomainfrom
feat/subnet-scanner

Conversation

@flaviomilan
Copy link
Copy Markdown
Owner

subnet-scanner

Fast asynchronous TCP port scanner built with Rust + Tokio.

Features

  • Tokio-powered async scanner with configurable concurrency (default: 500)
  • CIDR subnet expansion (/16 to /32)
  • Uses sectools-common for IP validation and port parsing
  • clap-based CLI: --target, --ports, --timeout, --concurrency, --output
  • 8 unit tests for CIDR expansion logic

Changes

  • New tool: tools/subnet-scanner/ (Rust binary crate)
  • Updated Cargo.toml workspace members
  • Updated release workflow to detect Rust tools in tools/ (checks for Cargo.toml)
  • Updated rust.yml paths, Makefile, README.md

Validation

  • cargo test --workspace: 10 tests pass (2 common + 8 scanner)
  • cargo clippy: 0 warnings
  • cargo fmt --check: clean
  • Go build: unaffected (subnet-scanner correctly skipped)
  • All git hooks pass (pre-commit, pre-push)

- Tokio-powered async scanner with configurable concurrency (default: 500)
- CIDR subnet expansion (supports /16 to /32)
- Uses sectools-common for IP validation and port parsing
- clap-based CLI with --target, --ports, --timeout, --concurrency, --output
- 8 unit tests for CIDR expansion logic
- Updated release workflow to detect Rust tools in tools/ directory
- Updated rust.yml, Makefile, README with subnet-scanner
@flaviomilan flaviomilan self-assigned this Feb 27, 2026
- Add Cargo.toml check to skip non-Go tools in build loop
- Narrow Go workflow trigger paths to specific Go tools
@flaviomilan flaviomilan merged commit 1ae9c2f into main Feb 27, 2026
12 checks passed
@flaviomilan flaviomilan deleted the feat/subnet-scanner branch February 27, 2026 00:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant