Ellaruoge/Network-Scanner

GitHub: Ellaruoge/Network-Scanner

一款基于 Python 和 Nmap 的本地网络扫描工具,能发现局域网设备、探测开放端口与服务版本,并自动生成带有风险标记的 HTML 报告。

Stars: 0 | Forks: 0

# 网络安全扫描器 一款 Python 工具,用于扫描本地网络中的开放端口、服务版本和设备地址,随后自动生成一份带有颜色标记的 HTML 报告,以标示潜在的有风险服务。 本项目作为暑期独立项目开发,旨在从零开始学习 Python、网络基础知识和网络安全概念。 ## 功能 - 发现本地网络中的所有活跃设备 - 扫描开放端口并检测正在运行的服务版本 - 以颜色高亮标记有风险的端口(21、22、23、445) - 显示每台设备的端口状态(open / filtered) - 一键生成带有时间戳且样式丰富的 HTML 报告 - 在每份报告的顶部显示设备总数和目标范围 ## 环境要求 - Kali Linux(或任何已安装 Nmap 的 Linux 发行版) - Python 3 - Nmap (`sudo apt install nmap`) ## 安装说明 **第 1 步 — 克隆仓库** ``` git clone https://github.com/Ellaruoge/Network-Security-Scanner cd Network-Security-Scanner ``` **第 2 步 —(可选但推荐)创建虚拟环境** ``` python3 -m venv nmap-env source nmap-env/bin/activate ``` **第 3 步 — 安装 Python 依赖** ``` pip install -r requirements.txt ``` ## 运行方式 ``` python3 scanner.py ``` 出现提示时,输入你的目标 IP 地址或网络范围: ``` What is your target IP?: 192.168.X.0/24 ``` 扫描完成后,在浏览器中打开 `Scan.html` 即可查看报告。 ## 示例报告 最终的 HTML 报告如下所示: 生成的 HTML 报告会显示每台设备的 IP 地址、MAC 地址、开放端口、服务名称和版本信息。有风险的端口以红色高亮显示,安全的端口以绿色显示。 ![报告截图](/home/kali/Pictures) ## 项目状态 **版本 1.0:已完成** 开始日期:2025 年 5 月 26 日 ### 路线图 - [ ] 带有实时扫描视图的 Flask Web 仪表板 - [ ] 集成 CVE API 以自动查找漏洞 - [ ] 基于开放端口和 CVE 严重程度为每台设备计算风险评分 - [ ] 支持定时扫描与变更检测 ## 学习收获 作为我的第一个网络安全项目,本项目的所有内容均是在这个暑假从零开始构建的。涵盖的知识点包括 Python(XML 解析、dict 结构、f-strings、错误处理)、Nmap(ping 扫描、服务检测、XML 输出)、基础的 HTML/CSS 报告生成,以及入门级网络安全概念(包括端口风险分类和 CVE 研究)。 ## 作者 Ellaruoge [GitHub](https://github.com/Ellaruoge)
标签:CTI, GPT, Nmap, Python, 云存储安全, 占用监测, 插件系统, 数据统计, 无后门, 漏洞管理, 端口扫描, 网络扫描, 虚拟驱动器, 调试辅助, 资产管理, 逆向工具