Skip to content

实战:云手机多机并发 ​

三台云手机同时抓包的完整实操。原理见 多机并发抓包。

环境检查 ​

bash
# 三台容器都在跑
ssh 192.168.1.90 "docker ps --filter name=android --format '{{.Names}} {{.Ports}}'"
# android-001 0.0.0.0:5555->5555/tcp
# android-002 0.0.0.0:5556->5555/tcp
# android-003 0.0.0.0:5557->5555/tcp

一次性配好三台 ​

bash
# 1. adb connect 三台
for p in 5555 5556 5557; do adb connect 192.168.1.90:$p; done

# 2. 每台 adb root(frida-server 必须 root)
for p in 5555 5556 5557; do adb -s 192.168.1.90:$p root; done
sleep 3

# 3. 每台建 forward(映射到本机不同端口)
adb -s 192.168.1.90:5555 forward tcp:27042 tcp:27042
adb -s 192.168.1.90:5556 forward tcp:27043 tcp:27042
adb -s 192.168.1.90:5557 forward tcp:27044 tcp:27042

# 4. 每台启动 frida-server(如未启动)
for p in 5556 5557; do
  adb -s 192.168.1.90:$p shell \
    "nohup /data/local/tmp/frida-server -l 0.0.0.0:27042 >/data/local/tmp/frida.log 2>&1 &"
done

# 5. 每台启动 F-Droid,拿 PID
for p in 5555 5556 5557; do
  adb -s 192.168.1.90:$p shell \
    "am start -n org.fdroid.fdroid/.views.main.MainActivity"
done
sleep 8
for p in 5555 5556 5557; do
  echo "$p: $(adb -s 192.168.1.90:$p shell pidof org.fdroid.fdroid | tr -d '\r')"
done

三台并发抓包 ​

bash
cd /home/cc11001100/github/android-security-engineer/r0capture-skills

# 假设拿到的 PID: 7033 / 2597 / 2547
python3 r0capture.py -H 127.0.0.1:27042 7033 --selftest -p a1.pcap > a1.log 2>&1 &
python3 r0capture.py -H 127.0.0.1:27043 2597 --selftest -p a2.pcap > a2.log 2>&1 &
python3 r0capture.py -H 127.0.0.1:27044 2547 --selftest -p a3.pcap > a3.log 2>&1 &
echo "三台并发抓包中..."
wait

结果验证 ​

bash
for n in 1 2 3; do
  size=$(wc -c < a$n.pcap)
  get=$(grep -c 'GET / HTTP' a$n.log)
  ok=$(grep -c 'HTTP/1.1 200' a$n.log)
  echo "android-00$n: pcap=${size}字节 GET=$get 200=$ok"
done

期望输出:

android-001: pcap=2130字节 GET=1 200=1
android-002: pcap=7772字节 GET=1 200=1
android-003: pcap=7661字节 GET=1 200=1

三台同时各抓到完整请求+响应,并发链路打通。

并发场景价值 ​

故障排查速查 ​

现象原因解决
No route to host新容器端口未就绪等 10 秒重试 adb connect
PermissionDeniedErrorfrida-server 非 rootadb root 后重启 frida-server
unable to find processApp 没启动am start 启动 App
三台都连同一设备用了 -U改用 -H 127.0.0.1:2704N
spawn InvocationTargetException新机器 spawn 不稳改 attach 模式
0 包App 没联网抓包中用 adb input 触发

基于 VitePress 构建 · 教学用途