Prabhu007K/port-scanner

GitHub: Prabhu007K/port-scanner

一款基于 Flask 的多线程 TCP 端口扫描器,提供实时进度、服务检测、热力图可视化与结果导出,兼具教学与实用价值。

Stars: 0 | Forks: 0

# 自动化端口扫描器与服务检测工具 一款具有教育意义的 Flask 侦察工具,包含**关于页面**和**交互式扫描器**。支持多线程 TCP connect 扫描、实时流式进度、banner grabbing、服务检测、风险提示、UDP/DNS 演示以及可导出的结果。 ## 在线演示 `https://prabhu007k-port-scanner.onrender.com` ## 这个可以部署在 Netlify 上吗? **不行。** 与 SQLi 实验室一样,这是一个 **Python Flask 应用**,需要运行**服务端 socket 扫描**。Netlify 和 GitHub Pages 只能托管静态文件。请使用 **[Render](https://render.com)** 或 **[Railway](https://railway.app)**(免费版)。 ## 功能 ### 关于页面 (`/`) - 什么是端口扫描及其工作原理 - Connect scan 与 SYN scan 的对比 - 法律/道德准则 - 架构图 - 部署平台说明 - **继续** → 扫描器 ### 交互式扫描器 (`/scan`) - **实时进度** — 流式 NDJSON、进度条、所用时间 - **扫描配置** — 常用、快速、Web、数据库、远程访问 - **自定义端口** — `443`、`22,80,443`、`8000-8100` - **预设目标** — localhost、scanme.nmap.org - **同意复选框** — 非演示目标必选 - **Connect 与 SYN** — 解释了 SYN;实现了 connect - **优先 Ping 主机** — 可选的 ICMP 检查 - **UDP/53 DNS 探测** — 可选演示 - **可调超时** — 0.5–3 秒 - 每次扫描**最多 1024 个端口**(速率限制) - **丰富的结果** — 协议、RTT、风险等级、banner - **Banner 解析** — SSH、HTTP Server、FTP 提示 - **端口热力图** — 1–1024 网格可视化 - **导出** — JSON、CSV、复制表格 - **会话历史** — 最近 5 次扫描 (sessionStorage) - 带有扫描线效果的终端风格 UI ## 技术栈 - Python 3, Flask - `socket` — TCP connect + UDP DNS 探测 - `concurrent.futures` — 多线程扫描 - HTML, CSS, JavaScript (流式 fetch) ## 项目结构 ``` ├── app.py ├── run.py ├── requirements.txt ├── start.bat ├── templates/ │ ├── about.html │ └── scan.html ├── static/ │ ├── css/style.css │ ├── css/about.css │ └── js/app.js ├── description.txt └── README.md ``` ## 本地运行 ``` pip install -r requirements.txt python run.py ``` - **http://localhost:5003** — 关于页面 - **http://localhost:5003/scan** — 扫描器 或者在 Windows 上双击 `start.bat`。 ## 安全演示扫描 1. 打开 **http://localhost:5003/scan** 2. 目标:`127.0.0.1` 或 `scanme.nmap.org` 3. 配置:**Quick** 4. 点击 **Start scan** ## 部署在 Render 上(免费) 1. 将此文件夹推送到 GitHub。 2. **New → Web Service** → 连接仓库。 3. **Build:** `pip install -r requirements.txt` 4. **Start:** `gunicorn app:app --bind 0.0.0.0:$PORT` 5. **Instance:** Free ## 部署在 Railway 上 与 Render 相同 — 连接仓库,将 start 命令设置为 `gunicorn app:app --bind 0.0.0.0:$PORT`。
标签:Flask, Python, Qt框架, 多模态安全, 插件系统, 数据可视化, 数据统计, 无后门, 服务识别, 端口扫描, 逆向工具