Krunal-Jadav/JK-Python-Port-Scanner

GitHub: Krunal-Jadav/JK-Python-Port-Scanner

使用 Python 编写的多线程 TCP 端口扫描器,通过 Socket 连接探测目标主机开放端口,并支持域名解析,用于网络安全教育与实践。

Stars: 0 | Forks: 0

# JK Python 端口扫描器 ![Python](https://img.shields.io/badge/Python-3.x-blue) ![License](https://img.shields.io/badge/License-MIT-green) ![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux-lightgrey) ![Cybersecurity](https://img.shields.io/badge/Project-Cybersecurity-red) 一个使用 Python 开发的简单多线程 TCP 端口扫描器。该项目通过尝试与目标主机的每个端口建立连接,来扫描目标主机并识别开放的 TCP 端口。编写此项目是为了加深我对 Python 编程、Socket 编程、网络概念、多线程以及 Git/GitHub 的理解。 本项目仅用于教育目的,请仅在您拥有或已获授权测试的系统上使用。 ## 项目背景 本项目最初是在我的 B.Sc. IT (网络安全) 学习期间开发的,旨在加强我对 Python 编程、Socket 编程、网络以及网络安全概念的理解。 尽管该项目最初是在大学期间创建的,但当时并未编写文档或发布到 GitHub 上。后来我重新审视了这个项目,改进了代码,添加了完整的文档,并将其作为我的网络安全作品集的一部分发布到了 GitHub 上。 ## 功能 - 扫描目标 IP 地址或域名 - 自动将域名解析为 IP 地址 - 检测开放的 TCP 端口 - 采用多线程扫描以提升性能 - 用户友好的命令行界面 - 显示总扫描时间 - 对初学者友好的 Python 实现 ## 使用技术 - Python 3 - Socket 编程 - ThreadPoolExecutor - Git - GitHub - Visual Studio Code ## 项目结构 ``` JK-Python-Port-Scanner/ │ ├── scanner.py ├── README.md ├── LICENSE ├── .gitignore ├── requirements.txt │ └── screenshots/ ├── scan_localhost.png └── scan_scanme.png ``` ## 工作原理 1. 用户输入目标 IP 地址或域名。 2. 如果提供的是域名,则会将其解析为 IP 地址。 3. 扫描器尝试连接每个 TCP 端口。 4. 在屏幕上显示开放的端口。 5. 扫描完成后显示总扫描时间。 ## 安装说明 克隆仓库: ``` git clone https://github.com/Krunal-Jadav/JK-Python-Port-Scanner.git ``` 进入项目目录: ``` cd JK-Python-Port-Scanner ``` 运行扫描器: ``` python scanner.py ``` ## 示例输出 ``` ================================================== JK Python Port Scanner Version 1.0 Developed by Krunal Jadav ================================================== Enter Target Host: scanme.nmap.org Port 22 is OPEN Port 80 is OPEN Scan completed in 8.74 seconds ``` ## 展现的技能 本项目展示了我对以下内容的理解: - Python 编程 - Socket 编程 - TCP/IP 网络 - DNS 解析 - 多线程 - 端口扫描概念 - 命令行应用 - Git 版本控制 - GitHub 工作流 ## 未来改进 未来版本计划实现的功能: - Banner Grabbing - 服务检测 - UDP 端口扫描 - 将结果导出为 CSV - 将结果导出为 JSON - 进度条 - 自定义超时 - 自定义端口范围 - 彩色输出 - 版本检测 ## 学习成果 在开发本项目的过程中,我提升了对以下内容的理解: - TCP 通信 - 客户端-服务器网络 - Socket 编程 - Python 线程 - Git 和 GitHub - 构建命令行工具 - 编写简洁且易于维护的代码 ## 免责声明 本项目仅供教育和学习目的使用。 未经适当授权,请勿使用此工具扫描系统。未经授权的扫描可能会违反组织政策或适用法律。 ## 作者 ## 与我联系 **Krunal Jadav** 🎓 B.Sc. IT (网络安全) 🛡️ 有志成为 SOC Analyst | Blue Team 学习者 | 有志成为 Purple Team 📧 电子邮件:Krunaljadav3011@gmail.com 💼 LinkedIn: https://www.linkedin.com/in/krunal-jadav-cyber 🐙 GitHub: https://github.com/Krunal-Jadav
标签:Python, 插件系统, 数据统计, 无后门, 端口扫描, 网络安全, 网络工具, 隐私保护