-H / -host:连接远程 frida-server
🌐 当 frida-server 监听在非标准端口或远程设备上时,用
-H ip:port连接。
为什么需要
默认 -U(USB)模式下,frida 走标准 adb 转发到设备端的 frida-server。但有两种情况 -U 不适用:
- frida-server 开在非标准端口:有些 App 会检测 frida 的标准端口
27042,把它开在别的端口可以绕过检测 - 远程设备:frida-server 跑在另一台机器上(如云服务器、网络 adb 设备),需要显式指定
ip:port
用法
bash
# 连接远程 frida-server(IP:端口)
python3 r0capture.py -H 192.168.1.100:27042 -v 酷安 -p out.pcap
# 配合 spawn
python3 r0capture.py -H 192.168.1.100:27042 -f com.app.package -v内部实现
对应 r0capture.py 中的代码:
python
if host:
manager = frida.get_device_manager()
device = manager.add_remote_device(host)add_remote_device 会与指定 ip:port 上的 frida-server 建立 RPC 通道,之后所有 spawn / attach / resume 都走这个通道。
与 -U 的区别
| 维度 | -U(USB) | -H host(远程) |
|---|---|---|
| 设备发现 | get_usb_device() | add_remote_device(ip:port) |
| 典型场景 | USB 真机、redroid 云手机经 adb | frida-server 在非标准端口、远程机器 |
| 端口检测规避 | 否(走标准端口) | 是(端口自选) |
| 网络要求 | USB 线 / 本机 adb | 网络可达 frida-server 端口 |
USB 模式的容错
-U 内部先试 get_usb_device(),失败时自动退回 get_remote_device(),以兼容某些 redroid / 网络 adb 场景。