hellodk34/LanHostScanner

GitHub: hellodk34/LanHostScanner

基于 TCP 和 HTTP 协议的局域网活跃主机扫描器,帮助在没有网络管理权限时快速定位特定端口开放的设备 IP。

Stars: 0 | Forks: 0

# LanHostScanner - 局域网主机扫描器 一个用 Java 编写的局域网主机扫描工具,支持 TCP 和 HTTP 协议扫描。现成的 `LanHostScanner.jar` 文件请在项目 release 页面下载。 ## 我的使用场景举例 1. 群晖 nas 设备接入了一个局域网,但是我没有局域网管理权限,可以借助本程序快速扫描局域网网段内的 5000(群晖web)端口,以快速找到群晖的IP 2. 我的 x86 小主机安装了 immortalwrt 系统作为旁路网关使用,小主机开机后借助本程序快速扫描出来 IP - 使用 http 扫描 88 端口(luci web uhttpd 的服务端口默认是 80),我将web端口改成了88 - 或者使用 tcp 扫描 1003 端口(dropbear ssh 服务默认端口是 22),我将ssh dropbear 端口改成了1003 ## ✨ 特性 - 🔍 支持 TCP 和 HTTP 两种协议扫描 - 🎯 精确的参数验证(IP格式、范围、端口等) - ⚡ 多线程并发扫描,提高效率 - 📊 详细的扫描结果和统计信息 - 🔒 仅支持局域网IP扫描,确保安全 - 🔄 兼容 Java 8 到 Java 21+ ## 📦 Downloads ![GitHub release downloads](https://img.shields.io/github/downloads/hellodk34/LanHostScanner/v1.0.0/total) ### 使用方法 # TCP 扫描(默认2秒超时) java -jar LanHostScanner.jar tcp 192.168.1.1 192.168.1.254 22 # HTTP 扫描(自定义超时3秒) java -jar LanHostScanner.jar http 192.168.10.1 192.168.10.254 8080 3 # 跨网段+自定义超时5秒 java -jar LanHostScanner.jar tcp 192.168.0.1 192.168.1.254 22 5 ## 📖 参数说明 java -jar LanHostScanner.jar <协议> <起始IP> <结束IP> <端口> [超时秒数] | 参数 | 必需 | 说明 | 示例 | |------|------|------|------| | 协议 | ✅ | `tcp` 或 `http`(不区分大小写) | tcp | | 起始IP | ✅ | 起始IP地址(必须是局域网IP) | 192.168.1.1 | | 结束IP | ✅ | 结束IP地址(必须是局域网IP) | 192.168.1.254 | | 端口 | ✅ | 目标端口号(1-65535) | 80 | | 超时时间 | ❌ | 超时秒数(默认2秒) | 3 | ## 📋 支持的局域网IP范围 - **10.0.0.0/8**:10.0.0.0 - 10.255.255.255 - **172.16.0.0/12**:172.16.0.0 - 172.31.255.255 - **192.168.0.0/16**:192.168.0.0 - 192.168.255.255 ## 🛡️ 安全特性 - ❌ 禁止扫描公网IP地址 - ❌ 严格的参数验证 - ❌ 防止IP范围错误 - ❌ 限制端口范围(1-65535) ## 📊 输出示例 ======================================== 🔍 局域网主机扫描器 ======================================== 协议类型: TCP IP范围: 192.168.1.1 - 192.168.1.254 目标端口: 22 超时设置: 2 秒 扫描总数: 254 个IP ======================================== 开始扫描... ✅ 发现设备: 192.168.1.100:22 ✅ 发现设备: 192.168.1.150:22 ======================================== 🏁 扫描完成 ======================================== 总耗时: 15.23 秒 扫描IP数: 254 发现设备: 2 个 发现的设备列表: - 192.168.1.100:22 - 192.168.1.150:22 ======================================== ## ⚠️ 注意事项 1. **仅限局域网使用**:本工具只能扫描局域网IP,无法扫描公网IP 2. **遵守法律**:请仅在自己拥有权限的网络中使用 3. **性能建议**: - 建议扫描范围不要超过C类网段(254个IP) - 可根据网络情况调整超时时间 - 大范围扫描时建议增加超时时间 ## 🛠️ 技术细节 - **兼容性**:Java 8 - Java 21+ - **并发**:使用线程池实现并发扫描 - **协议支持**: - TCP:使用Socket连接测试 - HTTP:使用HttpURLConnection测试 - **编码**:UTF-8 ## 📦 依赖 纯Java实现,无外部依赖。 ## 📄 License MIT
标签:HTTP扫描, ImmortalWrt, IP扫描器, JS文件枚举, LanHostScanner, OpenWrt, TCP端口扫描, x86小主机, 域名枚举, 多线程扫描, 局域网扫描, 开源扫描工具, 插件系统, 数据统计, 旁路网关, 端口扫描, 网络安全, 网络工具, 群晖NAS发现, 设备发现, 跨网段扫描, 路由器IP扫描, 隐私保护