Th3prof3ss0r/goscanner-high-performance-Go-port-scanner

GitHub: Th3prof3ss0r/goscanner-high-performance-Go-port-scanner

一款用 Go 编写的高性能端口扫描器,支持 TCP/SYN/UDP 多种扫描模式、服务版本检测和多种输出格式,解决快速大规模端口发现和资产清点的需求。

Stars: 0 | Forks: 0

# 🔍 GoScanner — 高性能 Go 端口扫描器 ![Go Version](https://img.shields.io/badge/Go-1.21+-00ADD8?logo=go&logoColor=white) ![License](https://img.shields.io/badge/license-MIT-brightgreen) ![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux%20%7C%20macOS-blue) ![Version](https://img.shields.io/badge/version-1.0.0-orange) 用 Go 编写的高性能端口扫描器,灵感源自 Nmap。支持 TCP Connect、SYN Stealth、UDP、版本/Banner 检测、CIDR 网络扫描以及多种格式的输出。 ## ✨ 功能特性 - ⚡ **高性能** — 采用并发 worker 和 token bucket 进行速率限制 - 🔌 **TCP Connect 扫描**(默认)和 **SYN Stealth 扫描**(需要 root/sudo 权限) - 📡 **UDP 扫描** 与 TCP 并行执行 - 🧠 **版本/服务检测** 通过 banner grabbing (`-sV`) - 🖥️ **OS 指纹识别** (`-O`) - 🌐 **支持 CIDR**、IP 范围、主机名和目标列表 (`-iL`) - 📊 **多种输出格式**:`table`、`json`、`xml`、`csv` - 🔢 **内置 Top N 端口** (`--top-ports`) - 🌍 **IPv6 支持** (`-6`) ## 🚀 安装说明 ### 前置条件 - [Go 1.21+](https://golang.org/dl/) ### 从源码编译 ```bash git clone https://github.com/Th3prof3ss0r/goscanner-high-performance-Go-port-scanner.git cd goscanner-high-performance-Go-port-scanner go build -o goscanner . ``` **Windows:** ```bash go build -o goscanner.exe . ``` ## 📖 使用方法 ```bash goscanner [flags] <目标> [目标 ...] ``` ### 目标规范 | 格式 | 示例 | |---------|---------| | 单个 IP | `192.168.1.1` | | CIDR 块 | `192.168.1.0/24` | | IP 范围 | `192.168.1.1-254` | | 主机名 | `example.com` | | 文件 | `-iL hosts.txt` | ### 可用参数 | 标志 | 描述 | 默认值 | |------|-----------|--------| | `-p` | 端口:单个 (`80`)、范围 (`1-1024`)、列表 (`80,443`)、全部 (`-`) | top 1000 | | `--top-ports N` | Top N 个最常用端口 | — | | `-sS` | SYN 隐秘扫描 (需要 root/sudo) | false | | `-sU` | 同时扫描 UDP 端口 | false | | `-sV` | 服务/版本检测 (banner grabbing) | false | | `-O` | 操作系统检测 | false | | `-Pn` | 跳过主机发现 | false | | `-w N` | 并发 worker 数量 | 1000 | | `-t N` | 连接超时 (ms) | 500 | | `--rate N` | 每秒最大数据包数 | 10000 | | `-f` | 输出格式:`table`、`json`、`xml`、`csv` | table | | `-o FILE` | 将结果保存到文件 | stdout | | `--open` | 仅显示开放端口 | false | | `-v` | 详细模式 (包括已关闭/被过滤的端口) | false | | `-6` | 启用 IPv6 | false | | `--version` | 显示版本 | — | ## 💡 示例 ```bash # 本地主机基础扫描 goscanner 127.0.0.1 -p 80,443,22 # 本地主机 Top 100 端口 goscanner 127.0.0.1 -p top100 # 服务/版本检测 goscanner 127.0.0.1 -p 22,80,443,3306 -sV # CIDR 网络 — 仅显示开放端口 goscanner 192.168.1.0/24 -p 80,443 --open # 快速 SYN 扫描并输出为 JSON sudo goscanner -sS -p- --rate 100000 -f json -o resultado.json 10.0.0.1 # 编译并运行 (比 go run 更快) go build -o goscanner.exe . .\goscanner.exe 127.0.0.1 -p 1-1024 # 从文件扫描目标,使用 Top 1000 端口 goscanner -iL hosts.txt --top-ports 1000 -f csv -o relatorio.csv ``` ## 🏗️ 项目结构 ``` goscanner/ ├── main.go # 入口点、标志解析和流程编排 ├── scanner/ # 扫描引擎 (TCP、SYN、UDP、workers) ├── output/ # 输出格式化器 (table、json、xml、csv) ├── utils/ # 端口、IP、CIDR 和文件解析 ├── go.mod └── Makefile ``` ## ⚠️ 免责声明 本工具仅供教育目的以及您拥有**明确授权**的网络中使用。在未经授权的情况下用于第三方网络可能是**非法**的。请负责任地使用。 ## 📄 许可证 根据 [MIT](LICENSE) 许可证分发。
标签:Banner Grabbing, CIDR, EVTX分析, Golang, Go语言, Groq, IPv6, Linux安全, OS指纹识别, PowerShell, Qt框架, SYN扫描, TCP扫描, 二进制发布, 域名解析, 安全编程, 密码管理, 并发处理, 开源工具, 插件系统, 数据统计, 日志审计, 服务识别, 程序破解, 端口扫描, 网络安全, 隐私保护