# 端口扫描器源码 **Repository Path**: byhandsome/PortScanner ## Basic Information - **Project Name**: 端口扫描器源码 - **Description**: 这是一个与S扫描器一样的高性能的通用端口扫描器,基于.NET Framework 4.8开发的控制台应用程序,支持TCP和SYN两种扫描模式。 - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-29 - **Last Updated**: 2025-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 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