Steeve-Crypto/cpp-port-scanner
GitHub: Steeve-Crypto/cpp-port-scanner
一个基于 C++17 的轻量级多线程 TCP 端口扫描器,用于教育和授权场景下的网络端口探测。
Stars: 0 | Forks: 0
# C++ TCP 端口扫描器
一个使用现代 C++17 编写的简单、多线程 TCP 端口扫描器。
**仅供教育 / 授权使用。**
## 功能
- 将主机名解析为 IPv4
- 多线程扫描(线程数可配置)
- 带超时的非阻塞 connect,确保合理的扫描速度
- 结束时提供清晰排序的开放端口列表
- 轻量级 —— 单个源文件
## 构建
```
make
```
需要 C++17 编译器(g++ / clang++)和 POSIX sockets(Linux、macOS、WSL 等)。
## 用法
```
./portscan [num_threads]
```
| 参数 | 描述 | 默认值 |
|--------------|--------------------------------------|---------|
| host | IP 地址或主机名 | — |
| start_port | 起始扫描端口 (1–65535) | — |
| end_port | 结束扫描端口 (1–65535) | — |
| num_threads | 并发线程数 | 100 |
### 示例
```
# 扫描 localhost 的常见端口
./portscan 127.0.0.1 1 1024
# 更快地扫描更大范围
./portscan scanme.nmap.org 20 1000 200
# 扫描单个端口
./portscan 192.168.1.1 22 22
```
## 重要法律声明
**仅扫描您拥有或获得明确书面测试授权的系统与网络。**
在许多司法管辖区,未经授权的端口扫描可能会根据计算机滥用相关法律被视为刑事犯罪。提供此工具严格仅用于教育目的、合同约定下的渗透测试以及授权的安全评估。
作者对任何滥用行为不承担任何责任。
## 许可证
MIT License — 见 [LICENSE](LICENSE)
标签:C++, DNS枚举, 插件系统, 数据擦除, 数据统计, 端口扫描, 网络安全工具, 网络编程