hariharasabarishcyber123/Port-Scanner

GitHub: hariharasabarishcyber123/Port-Scanner

一款使用 Python Flask 和 JavaScript 构建的 Web 端口扫描工具,提供实时流式结果展示与多线程扫描能力。

Stars: 0 | Forks: 0

# PortScan — Python 端口扫描器 Web 应用 一款使用 Python (Flask) 和原生 JavaScript 构建的专业、实时端口扫描器 Web 应用程序。 ## 项目结构 ``` port_scanner/ ├── app.py # Flask application & routes ├── scanner.py # Core scanning engine (multi-threaded) ├── requirements.txt # Python dependencies ├── utils/ │ ├── __init__.py │ └── service_map.py # Port → Service name mapping ├── templates/ │ └── index.html # Main HTML template └── static/ ├── css/ │ └── style.css # Dark cybersecurity theme └── js/ └── app.js # Frontend logic (SSE streaming) ``` ## 功能特性 - 通过 Server-Sent Events (SSE) 实时流式传输结果 - 多线程扫描(最多 200 个线程) - 对 60 个以上的已知端口进行服务名称检测 - 针对 HTTP 服务的 Banner 抓取 - 主机名解析 - 过滤结果:全部 / 开放 / 关闭 - 搜索/过滤端口和服务 - 将结果导出为 CSV - 快速预设(Top 100、常用端口、Web、开发) - 可随时中止扫描 ## 安装与运行 ### 1. 安装依赖 ``` pip install -r requirements.txt ``` ### 2. 运行应用 ``` python app.py ``` ### 3. 在浏览器中打开 ``` http://localhost:5000 ``` ## 使用说明 1. 输入目标 IP 地址(例如 `127.0.0.1`)或主机名 2. 设置端口范围(默认:1–1024) 3. 如有需要,调整线程数和超时时间 4. 点击 **启动扫描** 5. 实时查看流式返回的结果 6. 完成后将结果导出为 CSV ## ⚠️ 法律警告 请仅扫描您拥有或获得**明确书面授权**的系统。 未经授权的端口扫描在您所在的司法管辖区可能是违法的。 本工具仅供**教育目的**使用。 ## 技术栈 - **后端**:Python 3、Flask、socket、threading - **前端**:HTML5、CSS3、原生 JavaScript - **数据流**:Server-Sent Events (SSE) - **字体**:JetBrains Mono、Rajdhani (Google Fonts)
标签:Banner Grabbing, Banner抓取, CMS安全, CSS3, DNS枚举, Flask, HTML5, HTTP服务, JavaScript, Python, Server-Sent Events, Socket编程, SSE, URL短链接分析, 实时扫描, 插件系统, 教育项目, 数据可视化, 数据统计, 无后门, 服务探测, 漏洞扫描辅助, 白盒扫描, 端口扫描, 端口服务映射, 网络安全, 网络安全审计, 网络安全工具, 网络安全靶场, 逆向工具, 隐私保护