h14m/python-port-scanner

GitHub: h14m/python-port-scanner

一个基于 Python Socket 编程的轻量级 TCP 端口扫描器,用于检测目标主机开放端口并识别常见服务,适合网络安全学习与基础侦察。

Stars: 0 | Forks: 0

# Python 端口扫描器 一个基于 Python 的网络侦察工具,用于扫描目标主机的开放 TCP 端口,并识别这些端口上运行的常见服务。 ## 概述 开发此项目旨在理解以下基础知识: - TCP/IP 网络通信 - Socket 编程 - 端口扫描技术 - 服务枚举 - 网络安全侦察 该扫描器会尝试连接目标主机上指定范围的端口,并报告哪些端口处于开放状态。 ## 功能 - 扫描自定义 IP 地址或主机名 - 指定起始和结束端口范围 - 检测开放的 TCP 端口 - 识别常见服务(SSH、HTTP、HTTPS 等) - 将扫描结果保存到报告文件中 - 简单的命令行界面 ## 使用技术 - Python 3 - Socket 编程 - TCP 网络通信 ## 项目结构 ``` python-port-scanner/ │ ├── port_scanner.py ├── scan_results.txt ├── README.md └── requirements.txt ``` ## 安装说明 克隆仓库: ``` git clone https://github.com/h14m/python-port-scanner.git ``` 进入项目文件夹: ``` cd python-port-scanner ``` ## 使用说明 运行扫描器: ``` python3 port_scanner.py ``` 示例: ``` Enter target IP or hostname: 127.0.0.1 Enter start port: 1 Enter end port: 100 ``` ## 输出示例 ``` Scanning 127.0.0.1 -------------------------------------------------- OPEN : Port 22 (ssh) OPEN : Port 80 (http) Results saved to scan_results.txt ``` ## 生成的报告 扫描器会自动创建一个报告文件: ``` scan_results.txt ``` 示例: ``` Target: 127.0.0.1 OPEN : Port 22 (ssh) OPEN : Port 80 (http) ``` ## 学习成果 通过这个项目,我获得了以下方面的实践经验: - 网络侦察 - Socket 编程 - TCP 连接处理 - 服务识别 - Python 自动化 - 基础的网络安全扫描技术 ## 未来改进 - 多线程扫描以提升性能 - Banner 抓取 - 服务指纹识别 - 导出 CSV/JSON 报告 - 集成漏洞查询 - Web 仪表盘 ## 免责声明 本项目仅供教育目的和授权的安全测试使用。在扫描您不拥有或未获授权管理的系统之前,请务必获得适当的权限。 ## 作者 Mahi Honnagol 网络安全爱好者 | SOC 分析师候选人 | Python 开发者