Rafaaaaa777/Port-scanner-py

GitHub: Rafaaaaa777/Port-scanner-py

一款基于 Python 原生 socket 的 TCP 端口扫描器,提供图形界面、多线程扫描及 PDF 报告生成功能。

Stars: 0 | Forks: 0

# 使用 Python Socket 的 TCP 扫描器 使用 Python 开发的 TCP 端口扫描器,仅使用原生 socket,具有 Tkinter 图形界面、多线程、banner grabbing 以及 PDF 报告生成功能。 ## 🚀 功能 ✔ 使用 `socket` 的 TCP 扫描器 ✔ 使用 Tkinter 的简单图形界面 ✔ 端口范围扫描 ✔ 多线程以提升速度 ✔ 检测开放/关闭的端口 ✔ 识别端口的默认服务 ✔ Banner grabbing ✔ 导出 TXT/CSV ✔ 生成 PDF 报告 ✔ 可配置 Timeout ✔ 显示总扫描时间 ## 🛠 使用的技术 - Python 3 - Socket - Tkinter - concurrent.futures - ReportLab ## 📁 项目结构 ``` scanner-portas/ │ ├── port-scanner.py ├── README.md └── requirements.txt ``` ## ⚙ 安装 克隆仓库: ``` git clone https://github.com/SEU-USUARIO/scanner-portas.git ``` 进入文件夹: ``` cd scanner-portas ``` 安装依赖项: ``` pip install reportlab ``` ## ▶ 运行 运行程序: ``` python port-scanner.py ``` ## 🌐 工作原理 扫描器使用以下方式进行 TCP 连接: ``` socket.connect_ex() ``` 在连接过程中会发生 TCP Three-Way Handshake 过程: ``` SYN → SYN/ACK → ACK ``` 如果连接被接受: - 该端口被视为开放 - 识别服务 - 可以捕获 banner ## 🖻 界面 系统具有: - 目标 IP 字段 - 起始端口 - 结束端口 - 扫描按钮 - 导出 TXT/CSV - 生成 PDF - 实时表格 ## 📄 PDF 报告 程序会自动生成包含以下内容的报告: - 扫描的 IP - 开放的端口 - 识别出的服务 - 捕获的 banner ## 💡 使用示例 ``` IP: 172.16.32.53 Porta Inicial: 1 Porta Final: 1000 ``` 预期结果: ``` 22/tcp ABERTA ssh 80/tcp ABERTA http 3306/tcp ABERTA mysql ``` ## 🎯 学术目的 本项目为教育目的而开发,用于学习以下内容: - 计算机网络 - Cybersecurity - 服务枚举 - TCP/IP - Python 编程 ## 👨‍💻 作者 Rafael Benjamin Aquino Silva ## 📜 许可证 用于教育目的的项目。
标签:Banner Grabbing, DNS查询工具, Python, 插件系统, 无后门, 服务器安全, 桌面应用, 端口扫描器, 网络工具, 逆向工具