Gsaldana0/final-project-scanner
GitHub: Gsaldana0/final-project-scanner
一个基于 Bash 和 nmap 的命令行网络漏洞扫描器,能自动扫描开放端口与服务并生成带时间戳的风险报告。
Stars: 0 | Forks: 0
# Final-project-scanner
## 概述
本项目是一个基于 Bash 的网络漏洞扫描器,它使用 nmap 扫描目标主机或网络范围的开放端口和正在运行的服务,然后生成一份清晰、带有时间戳的文本报告来总结扫描结果。其目标是提供一个轻量级的命令行工具,用于快速访问设备或网络暴露的攻击面,**前提是这些网络是你拥有的,或者你已获得明确的书面或有记录的口头测试许可**。
## 目的 / 学习
本项目是为 bash 脚本课程而构建的,主要侧重于网络和设备安全、shell 脚本基础知识以及最佳编程实践(参数处理、错误检查、模块化函数和整洁的输出格式)。
## 功能
* 使用 nmap 扫描单个主机、主机名或 CIDR 范围
* 执行服务/版本检测 (-sV) 和默认的安全 NSE 脚本 (-sC)
* 解析结果以列出开放端口和服务
* 标记几个常见的高风险开放端口(FTP、telnet、RDP、SMB)并附带基本说明
* 同时保存原始的 nmap 输出文件和格式化、可读性强的报告
* 为每份报告添加时间戳,以保留扫描历史记录
## 要求
* Linux/Unix 环境且安装了 Bash
* 已安装 nmap
* Bash
* _sudo apt install nmap_
## 用法
* bash
* _./scanner.sh [output_directory]
## 参数
* _target_——要扫描的 IP 地址、主机名或 CIDR 范围(必填)
* _output_directory_——报告的保存位置(可选,默认为 _./reports_)
## 示例:
### bash
_./scanner.sh 192.168.1.1_
_./scanner.sh 192.168.1.0/24 ./reports_
报告会以 __scan_report_.txt__ 的名称保存在输出目录中,同时保存原始的 nmap 输出以供参考。
## 当前状态
已实现初始设置和基本的端口/服务扫描功能,并包含自动化的报告生成功能以及对常见高风险端口的简单风险标记。
## 未来目标
* 扩展漏洞识别功能(例如,集成 NSE 漏洞脚本或进行 CVE 查找)
* 添加 HTML/PDF 报告导出功能
* 添加可配置的扫描配置文件(快速扫描与完整扫描)
* 添加日志记录和调度支持,以便进行定期扫描
## 法律 / 道德声明
请仅扫描你拥有或已获得明确书面测试许可的系统和网络。未经授权的扫描可能是非法的,并且/或者会违反网络服务提供商的服务条款。
标签:Linux/Unix, Nmap, 云存储安全, 应用安全, 插件系统, 网络扫描, 自动化报告, 虚拟驱动器