EkVannaro/tcp-port-scanner

GitHub: EkVannaro/tcp-port-scanner

一个基于 Python 的 TCP 端口扫描器,通过 Socket 编程检测目标主机的开放端口和常见服务,并自动生成扫描报告。

Stars: 0 | Forks: 0

# TCP 端口扫描器 一个基于 Python 的 TCP 端口扫描器,可扫描目标主机在用户指定范围内的开放 TCP 端口。它可以将主机名解析为 IP 地址,识别常见服务,测量扫描耗时,并生成扫描报告。 开发这个项目是为了加深我对网络基础、Socket 编程、TCP/IP、DNS 解析以及 Python 的理解,同时打造一款实用的网络安全工具。 这是我的第一个网络安全作品集项目,旨在通过 Python 深入理解网络侦察的基础知识。 ## 功能 - 使用主机名或 IP 地址扫描目标 - 将主机名解析为 IP 地址 - 扫描自定义的 TCP 端口范围(0–65535) - 检测开放的 TCP 端口 - 识别常见服务(SSH、HTTP、HTTPS、FTP 等) - 处理无效的用户输入 - 处理 DNS 解析错误 - 通过 `Ctrl + C` 优雅退出 - 测量扫描耗时 - 将扫描结果保存到 `scan_results.txt` ## 技术栈 - Python 3 - Socket 编程 - TCP/IP 网络 - DNS 解析 - 文件处理 - 异常处理 ## 工作原理 1. 用户输入主机名或 IP 地址。 2. 使用 DNS 将主机名解析为 IP 地址。 3. 用户指定起始和结束端口。 4. 扫描器尝试与所选范围内的每个端口建立 TCP 连接。 5. 如果成功建立 TCP 连接,该端口将被报告为 **OPEN**,表示有服务正在该端口上监听。 6. 扫描结果将显示在终端中,并保存到报告文件中。 ## 环境要求 - Python 3.x ## 用法 运行程序: ``` python scanner.py ``` 然后输入: - 目标主机名或 IP 地址 - 起始端口 - 结束端口 ## 示例 ### 输入 ``` Enter a host name: google.com Enter the initial port: 1 Enter the ending port: 1024 ``` ### 输出 ``` Target: google.com IP Address: 142.xxx.xxx.xxx Time started: 2026-07-24 18:42:19 Scanning... -------------------- [+] Port 443: OPEN - HTTPS Scan completed in 2.31 seconds. Results saved to scan_results.txt ``` ## 仓库结构 ``` tcp-port-scanner/ │ ├── scanner.py ├── README.md └── scan_results.txt ``` ## 报告示例 扫描器会自动生成: ``` scan_results.txt ``` 示例: ``` TCP Port Scanner Report ============================== Target: google.com IP Address: 142.xxx.xxx.xxx Time Started: 2026-07-24 18:42:19 [+] Port 443: OPEN - HTTPS Open Ports Found: 1 Scan Started: 18:42:19 Scan Ended: 18:42:21 Scan completed in 2.31 seconds. ``` ## 展现的技能 - Python 编程 - Socket 编程 - TCP/IP 网络 - DNS 解析 - 输入验证 - 异常处理 - 文件处理 - 技术文档编写 - Git & GitHub ## 学到了什么 这个项目帮助我掌握了: - TCP/IP 网络 - TCP 三次握手 - IP 地址和端口 - Python 中的 Socket 编程 - DNS 主机名解析 - TCP 端口扫描基础 - 异常处理 - 文件处理 - 测量程序执行时间 - 编写更简洁、更易于维护的 Python 代码 ## 未来改进 计划的改进包括: - 多线程扫描以提升性能 - Banner 抓取 - 服务版本检测 - UDP 端口扫描 - 命令行参数 - 将结果导出为 CSV 或 JSON ## 免责声明 本项目仅出于教育目的开发。 请仅扫描您拥有或获得明确授权进行测试的系统。 ## 作者 **Vannaro Ek** 一名对网络、Python 和网络安全充满热情的网络安全专业学生。目前正在通过动手实践项目来增强实操技能,并构建专业的网络安全作品集。
标签:Python, Socket编程, TCP/IP, 并发处理, 插件系统, 数据统计, 无后门, 端口扫描, 网络安全, 逆向工具, 隐私保护