# 简易的端口扫描器实现 **Repository Path**: freeze6/scanner ## Basic Information - **Project Name**: 简易的端口扫描器实现 - **Description**: 实现了一个简易的端口扫描器 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-04 - **Last Updated**: 2026-02-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 简易的端口扫描器设计 一. 概述: 网络协议设计与分析大作业要求,我选择设计一个端口扫描器软件用于扫描指定IP的端口。 二. 编程语言: Python(相较C语言更简单,更接近应用方面,所需代码量更少) 三. 预期耗时 20-30h 三. 预期功能: 1. 基础功能: (1) TCP Connect扫描 (2) 指定目标IP和端口范围 (3) 输出开放的端口列表 2. 进阶功能(不是必须的): (1) 多种扫描模式 (2) 多线程/异步扫描 (3) 简单GUI或命令行参数解析 四. 代码结构 scanner/ │ ├── README.md # 项目说明文档(必含) ├── scanner.py # 主程序入口 ├── help.txt # 功能文档 │ ├── core/ # 核心扫描模块 │ ├── __init__.py │ ├── base_scan.py # 扫描器基类 │ ├── tcp_scan.py # TCP Connect扫描 │ ├── syn_scan.py # SYN半开放扫描 │ ├── udp_scan.py # UDP扫描 │ ├── utils/ # 工具模块 │ ├── __init__.py │ ├── service_detector.py # 服务识别模块 │ └── output_handler.py # 结果输出处理 │ └── fast_detector.py # 快速模块 │ ├── models/ # 数据模型 │ ├── __init__.py │ ├── scan_result.py # 扫描结果数据类 │ └── scan_config.py # 扫描配置数据类 │ │ ├── outputs/ # 扫描结果输出目录 │ └── output.txt 五. 操作指南 需要安装python, 建议python3以上 **syn扫描需要安装Python的scapy库,命令:pip install scapy** 格式:Python scanner.py [mode] [IP_address] [port] help.txt文档: [*]help: [*]input form: [mode] [ip] [port] [*]mode ["-P": 进行TCPconnect端口扫描] ["-U": 进行udp端口扫描] ["-S": 进行syn半开放端口扫描] ["-F": 快速扫描,后跟保存的ip配置序号] ["-help": help帮助] ["-Pt": 将tcp扫描结果打印出来/outputs文件夹下] ["-Ut": 将udp扫描结果打印出来/outputs文件夹下] ["-St": 将udp扫描结果打印出来/outputs文件夹下] ["-Ft": 将udp扫描结果打印出来/outputs文件夹下] [*]ip [仅支持ipv4] [*]port [支持输入port队列:p1 p2 p3 以及port范围:p1,p2] 六. 代码总量:1300+ 七. 完成周期:(1.24 - 1.29) [*] 1.24: 完成了models文件夹的关键数据模型的初步设计,编写了初稿README.md [*] 1.25: 完成了core/base_scan.py的初步设计,完善models设计 [*] 1.26: 完成了core/tcp_scan.py及utils/tcp_detector.py的初步设计 [*] 1.27: 完成了core/udp_scan.py及utils/udp_detector.py [*] 1.28: 完成了core/syn_scan.py,进行了_init_.py编写,测试了功能完善性 [*] 1.29: 完成了主程序scanner.py的设计,完善了base_scan.py等文件的设计,编写help.txt文档 八. 完成功能 1. 基础功能: (√) TCP Connect扫描 (√) 指定目标IP和端口范围 (√) 输出开放的端口列表 2. 进阶功能(不是必须的): (√) 多种扫描模式 (√) 多线程/异步扫描 (×) 简单GUI或命令行参数解析 work by tju.net_sec.2023.lzh #@copyright-------gitee@freeze6