# HdcPortScanner **Repository Path**: zestbox/hdc-port-scanner ## Basic Information - **Project Name**: HdcPortScanner - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-28 - **Last Updated**: 2025-10-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HDC端口扫描器 一个专门用来找HarmonyOS设备无线调试端口的小工具。 ## 这是什么? 开发HarmonyOS应用时,经常需要用`hdc tconn`连接设备进行无线调试,但设备的调试端口是随机的,手动试太麻烦。这个工具帮你自动扫描并连接。 ## 有什么版本? 项目提供两个版本,功能完全一样,选一个用就行: ### Shell版本 (main) - **优点**:下载就能用,不用编译,支持macOS/Linux - **缺点**:速度一般,大概2分钟扫完 - **适合**:偶尔用用,或者不想折腾编译的 ### C++版本 (c++分支) - **优点**:速度超快,2~3秒扫完,资源占用少 - **缺点**:需要编译,主要针对macOS优化 - **适合**:经常用,或者对速度有要求的 ## 怎么用? ### Shell版本使用方法 1. **安装依赖** ```bash # macOS brew install netcat coreutils # 确保hdc命令可用(从HarmonyOS SDK获取) hdc version ``` 2. **运行** ```bash ./start.sh ``` 3. **按提示操作** - 输入设备IP地址(会记住历史) - 等待扫描完成 - 如果找到端口,会自动显示连接命令 ### C++版本使用方法 1. **切换分支并编译** ```bash git checkout c++ make ``` 2. **运行** ```bash ./hdc_scanner_cpp ``` ## 扫描什么端口? 扫描25000-65535端口范围,这是HarmonyOS设备常用的调试端口范围。 ## 找到端口后怎么办? 工具会显示类似这样的结果: ``` ════════════════════════════════════════════════════════════ HDC 无线调试端口扫描器 自动扫描并连接 HarmonyOS 设备的无线调试端口 作者: ZestBox 使用平台:mac ════════════════════════════════════════════════════════════ 加载最近使用的IP: 192.168.5.16 历史IP地址列表: 1) 192.168.5.16 (最近使用) 2) 192.168.2.200 3) 192.168.9.99 4) 192.168.4.200 5) 192.168.1.100 f) 查看更多历史IP (4个) n) 输入新的IP地址 请选择 (1-5,f,n) [回车选择1]: 无效选项,请输入 1-5,f,n 或直接回车 请选择 (1-5,f,n) [回车选择1]: 🔧 正在自动检测最优配置... CPU核心数: 11 推荐线程数: 600 网络超时: 150ms 网络环境: 一般 ⚠️ 开始扫描 192.168.5.16 的端口... 🔧 扫描配置: 端口范围: 25000-65535 (40536个端口) 并发线程: 600 (自动检测) 连接超时: 150ms (自动检测) 扫描进度: 25%发现开放端口: 36197 扫描进度: 28% 192.168.5.16:36197 HDC无线调试连接成功! 发现开放端口: 37449 === 扫描结果 === 成功找到可连接的HDC端口: 36197 连接命令: hdc tconn 192.168.5.16:36197 扫描耗时: 3.763秒 扫描速度: 3429 ports/s 开放端口总数: 2 ``` 直接复制运行连接命令就行。 ## 常见问题 **Q: 扫描很久都没找到端口?** A: 检查设备是否开启了无线调试,IP地址是否正确 **Q: 找到端口但连接失败?** A: 可能设备重启了端口变了,重新扫描一次 **Q: Shell版本太慢了?** A: 切换到c++分支用C++版本,速度快很多 ## 技术细节 - Shell版本:多进程并发 + netcat端口检测 - C++版本:线程池 + 原生Socket + 非阻塞I/O - 都会自动验证HDC连接可用性 - 支持IP历史记录和快速选择 --- **作者**: ZestBox **平台**: macOS (Shell版本也支持Linux) **用途**: HarmonyOS无线调试端口发现