1v4mp1r3/async-port-scanner-lab

GitHub: 1v4mp1r3/async-port-scanner-lab

使用 Go 编写的授权实验室 TCP 端口扫描器,内置白名单安全防护、速率限制与报告生成功能。

Stars: 0 | Forks: 0

# 异步端口扫描器实验 `labscan` 是一个使用 Go 编写的实验室授权 TCP connect 扫描器。它可以规划目标、执行白名单限制、限制并发和连接速率、根据需要获取被动 banner,并生成 JSON/HTML 报告。 该项目在不使用 Python 的情况下实现了 Notion 规范 **"Асинхронный Port Scanner для лабораторий"**。 ## 功能 - 支持 IP、主机名和 CIDR 的 TCP connect 扫描。 - 内置针对回环地址和 RFC1918 实验范围的安全白名单。 - 提供 `--allow-cidr` 参数,用于支持自身拥有的外部网段。 - 全局速率控制与 worker-pool 并发数限制。 - 可选的 banner 获取功能,具有有限的读取大小和超时限制。 - 生成 JSON 和静态 HTML 报告。 - 提供包含本地服务的 Docker Compose 实验环境。 - 包含针对解析器、安全防护、目标规划、扫描和报告的单元测试。 ## 安装 ``` go build -o bin/labscan.exe ./cmd/labscan ``` ## 快速开始 试运行计划: ``` go run ./cmd/labscan --target 127.0.0.1 --ports 80,443,8000-8010 --dry-run ``` 扫描本地服务并生成报告: ``` go run ./cmd/labscan ` --target 127.0.0.1 ` --ports 80,443,8000-8010 ` --concurrency 64 ` --rate 200 ` --timeout 800ms ` --banner ` --json scan-report.json ` --html scan-report.html ``` 扫描自身拥有的外部网段: ``` go run ./cmd/labscan ` --target 203.0.113.10 ` --allow-cidr 203.0.113.0/24 ` --ports 80,443 ` --json scan-report.json ``` ## CLI ``` --target IP, hostname, or CIDR. Repeat or comma-separate values. --targets-file File with one target per line. --ports Ports expression, e.g. 22,80,8000-8010. --concurrency Maximum concurrent TCP connection attempts. --rate Global connection attempts per second. 0 disables pacing. --timeout TCP connect timeout. --banner Read passive banners from open services. --probe Optional probe bytes before banner read. --json JSON report path. --html HTML report path. --allow-cidr Additional authorized CIDR. --max-hosts Maximum hosts expanded from CIDR targets. --dry-run Print authorized plan without scanning. ``` ## 安全范围 请仅针对您拥有或获得明确授权测试的系统使用此工具。默认情况下,`labscan` 仅允许扫描回环地址和私有实验网段: - `127.0.0.0/8` - `::1/128` - `10.0.0.0/8` - `172.16.0.0/12` - `192.168.0.0/16` 公共目标必须通过明确的 `--allow-cidr` 指定,从而确保工作流是有意为之且可审计的。 ## 开发 ``` go test ./... go test -bench=. ./internal/scanner go build ./cmd/labscan ``` ## 项目结构 ``` cmd/labscan CLI entry point internal/ports Port expression parser internal/safety Allowlist guardrails internal/targets Target resolver and CIDR planner internal/scanner TCP scanner and result classifier internal/report JSON/HTML report writers examples/ Docker Compose lab docs/ Architecture and demo notes ```
标签:Docker Compose, EVTX分析, Go, Ruby工具, TCP协议, 异步并发, 插件系统, 数据统计, 日志审计, 版权保护, 端口扫描, 网络扫描器, 请求拦截