端口扫描器源码
摘要:# Port Scanner## 项目说明这是一个高性能的通用端口扫描器,基于.NET Framework 4.8开发的控制台应用程序,支持TCP和SYN两种扫描…
# Port Scanner
## 项目说明
这是一个高性能的通用端口扫描器,基于.NET Framework 4.8开发的控制台应用程序,支持TCP和SYN两种扫描
模式。SYN扫描模式已优化为真正的半开放扫描,比传统TCP扫描快约6倍。
## 主要功能
- 支持TCP Connect扫描模式和SYN扫描模式
- 支持多种IP地址格式:单个IP、IP范围(如 192.168.1.1 192.168.1.255)、CIDR格式(如 192.168.1.0/24)
- 支持从纯真IP库格式文件加载IP地址列表
- 可获取服务Banner信息
- 支持将扫描结果保存到文件
- 自定义扫描线程数,提高扫描效率
- 自动退出功能,扫描完成后无需按任意键结束
## 使用方法
```
PortScanner.exe [模式] [IP范围] [端口] [线程数] [参数]
或
PortScanner.exe [模式] [端口] [线程数] [纯真IP库文件.txt] [参数]
```
模式:
- TCP: TCP Connect扫描模式
- SYN: SYN扫描模式
IP范围格式:
- 单个IP: 例如: 192.168.1.1
- IP范围: 例如: 192.168.1.1 192.168.1.255
- CIDR格式: 例如: 192.168.1.0/24
- 纯真IP库文件: 例如: ip.txt (支持格式: 起始IP+结束IP+描述)
端口格式:
- 单个端口: 例如: 80
- 端口范围: 例如: 80-100
- 端口列表: 例如: 80,443,8080
可选参数:
- Banner或/Banner: 获取Banner信息
- Save或/Save: 保存结果到文件
## 使用示例
扫描单个IP的多个端口并获取Banner信息:
```
PortScanner.exe TCP 192.168.1.1 80,443 100 Banner Save
```
扫描CIDR网段的端口范围:
```
PortScanner.exe SYN 192.168.1.0/24 80-100 200
```
扫描IP范围的单个端口:
```
PortScanner.exe TCP 192.168.1.1 192.168.1.10 80 150 /Banner
```
从纯真IP库文件扫描特定端口:
```
PortScanner.exe SYN 80,443 1000 ip.txt Save
```
## 纯真IP库格式示例
```
1.31.244.2 1.31.244.255 中国–内蒙古–赤峰–巴林左旗 联通/林东镇新城区BRAS数据机房
```
## 注意事项
1. SYN扫描模式可能需要管理员权限运行
2. 线程数设置过高可能会消耗较多系统资源,请根据实际情况调整
3. 程序为独立可执行文件,无需安装.NET环境即可运行
4. 扫描完成后程序会自动退出,无需手动按键
## 性能特点
- SYN扫描已优化为真正的半开放扫描,只发送SYN包并监听响应,不完成完整TCP三次握手
- 测试数据显示SYN扫描比TCP扫描快约6倍(SYN: 19.83端口/秒 vs TCP: 3.28端口/秒)
- 优化的Socket资源管理和对象池复用
- SYN扫描使用更短的超时时间(50ms),进一步提高扫描速度
- 高效的线程池管理
- 支持单文件发布和自包含部署
- 体积优化,EXE文件大小约22Kb



