fernandoloposantiago/port-scanner

GitHub: fernandoloposantiago/port-scanner

一个用于学习计算机网络和信息安全基础的轻量级 Python TCP 端口扫描工具。

Stars: 0 | Forks: 1

# 🌐 端口扫描器 v1.0
## 🛡️ 使用 Python 开发的 TCP 端口扫描器 该项目旨在学习 **Python**、**计算机网络** 和 **信息安全**。 **开发者:Fernando José Lôpo Santiago**
## 📖 描述 **端口扫描器 v1.0** 是一个使用 Python 开发的教育工具,用于检查用户指定的 IP 地址或域名中预定义的 TCP 端口列表。 程序会尝试与每个端口建立连接,识别通常与该端口号关联的服务,并在扫描完成后提供最终摘要。 该项目是我在 **系统分析与开发** 和 **网络防御** 实践学习过程中的成果之一。 ## ✨ 功能特性 - 扫描多个 TCP 端口 - 输入 IP 地址或域名 - 识别通常与端口关联的服务 - 区分开放端口和关闭端口 - 设置 Timeout 以限制每次尝试的时间 - 使用 `try` 和 `except` 进行错误处理 - 统计已扫描的端口数量 - 统计开放的端口数量 - 统计关闭的端口数量 - 测量总执行时间 - 提供扫描的最终摘要 ## 🔎 扫描端口列表 | 端口 | 关联服务 | |---|---| | 21 | FTP | | 22 | SSH | | 23 | Telnet | | 25 | SMTP | | 53 | DNS | | 80 | HTTP | | 110 | POP3 | | 143 | IMAP | | 443 | HTTPS | | 3306 | MySQL | | 8080 | HTTP Alternativo | ## 🖥️ 运行示例 ``` ============================================================ PORT SCANNER v1.0 Desenvolvido por Fernando José Lôpo Santiago ============================================================ Digite o IP ou domínio: 127.0.0.1 ❌ Porta 21 fechada - FTP ❌ Porta 22 fechada - SSH ❌ Porta 23 fechada - Telnet ❌ Porta 25 fechada - SMTP ❌ Porta 53 fechada - DNS ❌ Porta 80 fechada - HTTP ❌ Porta 110 fechada - POP3 ❌ Porta 143 fechada - IMAP ❌ Porta 443 fechada - HTTPS ❌ Porta 3306 fechada - MySQL ❌ Porta 8080 fechada - HTTP Alternativo ============================================================ Resultado do SCAN ============================================================ Portas verificadas: 11 Portas abertas: 0 Portas fechadas: 11 Tempo total de execução: 11.08 segundos ``` ## 📂 项目结构 ``` port-scanner/ ├── .gitignore ├── main.py └── README.md ``` ## 🛠️ 使用技术 - Python 3 - `socket` 库 - `time` 库 - Git - GitHub ## 📚 学习到的概念 在开发该项目的过程中,我实践了以下内容: - IPv4 地址 - 网络端口 - TCP 通信 - Sockets - `AF_INET` - `SOCK_STREAM` - `settimeout()` - `connect_ex()` - 列表 - `for` 循环 - 字典 - `.get()` 方法 - 函数 - `return True` 和 `return False` - 使用 `+= 1` 的计数器 - 使用 `try` 和 `except` 进行错误处理 - `if __name__ == "__main__"` 代码块 - 使用 `time.time()` 测量时间 ## 🚀 运行说明 ### 1. 克隆仓库 ``` git clone https://github.com/fernandoloposantiago/port-scanner.git ``` ### 2. 进入文件夹 ``` cd port-scanner ``` ### 3. 运行程序 ``` python main.py ``` ## ⚠️ 合法使用 该项目仅出于教育目的开发。 请仅在以下环境中使用此工具: - 您自己的计算机; - 您管理的系统; - 学习实验室; - 您获得明确授权进行测试的环境。 未经授权,请勿使用此工具扫描第三方系统。 ## 👨‍💻 作者 **Fernando José Lôpo Santiago** 🎓 系统分析与开发专业学生 🛡️ 网络防御专业学生 🐍 使用 Python 和信息安全开发实践项目 ## 🎯 后续改进 - 允许用户自定义选择端口 - 进一步优化用户输入验证 - 区分连接被拒绝和超时 - 将结果记录到文件中 - 添加扫描的日期和时间 - 编写自动化测试 - 提升扫描性能 ## ⭐ 项目目标 巩固我在以下领域的知识: - Python - 计算机网络 - 信息安全 - 编程逻辑 - Git 和 GitHub - 项目的组织与文档编写 ## 感谢访问该项目! 欢迎提供技术反馈和改进建议。# port-scanner
标签:Python, 插件系统, 教育项目, 数据统计, 无后门, 端口扫描, 系统分析, 网络分析, 网络安全, 隐私保护