# available_ips **Repository Path**: excelsiorly/available_ips ## Basic Information - **Project Name**: available_ips - **Description**: 提供动态管理与分配可用IP地址的开源解决方案,适用于静态ip的局域网网络管理。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-14 - **Last Updated**: 2025-11-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # IP扫描工具 一个高效、易用的网络IP扫描工具,用于快速检测局域网内的活跃IP地址、可用IP地址和设备信息。 ## 功能特性 - **快速IP扫描**:高效检测局域网内的活跃IP和可用IP - **设备信息识别**:获取设备MAC地址、主机名等详细信息 - **历史记录管理**:自动保存扫描历史,支持查看历史扫描结果 - **数据可视化**:直观展示扫描结果和网络统计信息 - **导出功能**:支持将扫描结果导出为多种格式 - **响应时间监控**:测量并显示设备响应时间 - **用户友好界面**:基于Web的现代化界面,操作简单直观 ## 技术栈 - **后端**:Python - **Web框架**:Flask - **前端**:HTML, CSS, JavaScript - **UI框架**:Tailwind CSS - **图表库**:Chart.js - **图标库**:Font Awesome ## 安装步骤 ### 1. 克隆仓库 ```bash git https://gitee.com/excelsiorly/available_ips.git cd available_ips ``` ### 2. 安装依赖 确保已安装Python 3.6或更高版本,然后安装所需依赖: ```bash pip install -r requirements.txt ``` **注意事项**: - 请严格使用requirements.txt中指定的依赖版本 - Flask 2.0.3需要搭配Werkzeug 2.0.3版本使用,否则会出现导入错误 - 如果遇到`cannot import name 'url_quote' from 'werkzeug.urls'`错误,请确保安装了正确版本的依赖包 ### 3. 配置项目 根据需要修改`config.json`文件中的配置项(如果存在)。 ### 4. 运行应用 ```bash python main.py ``` 应用启动后,通过浏览器访问 `http://localhost:18888` 即可使用。 ## 使用NSSM部署为Windows服务 为了实现应用的开机自启动和后台运行,可以使用NSSM(Non-Sucking Service Manager)将应用部署为Windows服务。 ### 准备工作 1. 项目中已包含启动脚本 `start_app.bat` 2. 下载并安装NSSM: - 访问 [NSSM官方网站](https://nssm.cc/download) - 下载后解压到任意位置(例如:`C:\nssm\`) ### 安装服务 以管理员身份打开命令提示符,执行以下命令: ```batch REM 切换到NSSM所在目录 cd C:\nssm\win64 REM 或 win32(根据系统架构选择) REM 安装服务 nssm install IP-Scanner ``` 在弹出的配置界面中: - **Path**: 选择 `d:\code\python\available_ip\start_app.bat` - **Startup directory**: 设置为 `d:\code\python\available_ip` - 点击「Install service」完成安装 ### 服务管理 ```batch REM 启动服务 nssm start IP-Scanner REM 停止服务 nssm stop IP-Scanner REM 重启服务 nssm restart IP-Scanner REM 查看服务状态 nssm status IP-Scanner ``` ### 详细配置说明 请参考项目中的 `NSSM_CONFIGURATION.md` 文件获取详细的配置指南,以及 `SERVICE_TESTING.md` 文件获取服务测试和故障排除说明。 ## 使用说明 ### 启动扫描 1. 在主界面点击「开始扫描」按钮 2. 系统将自动扫描当前局域网内的所有IP地址 3. 扫描过程中可以实时查看进度和已发现的设备 ### 查看结果 - **活跃IP列表**:显示所有在线设备及其详细信息 - **可用IP列表**:显示当前未被使用的IP地址 - **统计信息**:展示扫描结果的统计数据和图表 ### 历史记录 - 系统自动保存每次扫描的历史记录 - 可在「历史记录」页面查看和管理过去的扫描结果 ### 导出数据 - 支持将扫描结果导出为JSON、CSV等格式 - 导出的文件可用于进一步分析或存档 ## 项目结构 ``` available_ip/ ├── .gitignore # Git忽略文件配置 ├── main.py # 主程序入口 ├── requirements.txt # 项目依赖 ├── templates/ # HTML模板目录 │ └── index.html # 主页面模板 ├── static/ # 静态资源目录 ├── test_export.py # 导出功能测试 ├── test_mac_scan.py # MAC扫描测试 └── test_system.py # 系统功能测试 ``` ## 测试 项目包含多个测试文件,可以通过以下命令运行测试: ```bash python test_system.py python test_mac_scan.py python test_export.py ``` ## 注意事项 - 请确保以管理员权限运行程序,以获得最佳扫描效果 - 扫描大型网络时可能需要较长时间,请耐心等待 - 部分高级功能可能需要特定权限或依赖 - 定期更新依赖包以确保安全性和性能 ## 许可证 本项目采用MIT许可证。详见LICENSE文件。 ## 贡献 欢迎提交Issue和Pull Request来帮助改进这个项目! --- ## Buy Me a Coffee 如果这个项目对您有帮助,欢迎通过以下赞赏码支持作者: ![赞赏码](image.png) 您的支持是我持续开发和改进项目的动力!