使用Waydroid作为抓包测试环境
本文环境:
- 系统:
Arch Linux 6.8.2-zen2-1-zen
- Waydroid:
archlinuxcn/waydroid 1.4.2-3
archlinuxcn/waydroid-image 18.1_20240323-1
waydroid-script-git r177.1a2d3ad-1
- Weston:
extra/weston 13.0.0-2
配置环境
- (Xorg环境) 配置Weston
~/.config/weston.ini
[core] idle-time=0 [shell] locking=false panel-position=none
- 配置ndk
参考链接- Intel CPU
sudo waydroid-extras install libndk
- AMD CPU
sudo waydroid-extras install libhoudini
- Intel CPU
- 配置证书
- 启动 mitmproxy
mitmproxy
- 下载pem证书
curl --proxy localhost:8080 http://mitm.it/cert/pem -o mitmproxy-ca-cert.pem
- 安装证书
sudo waydroid-extras install mitm -c mitmproxy-ca-cert-android.pem
- 启动 mitmproxy
- 配置网络
sudo iptables -t nat -A POSTROUTING -s 192.168.240.0/24 ! -d 192.168.240.0/24 -j MASQUERADE sudo iptables -A FORWARD -i waydroid0 -j ACCEPT sudo iptables -A FORWARD -o waydroid0 -j ACCEPT
启动环境
- 启动Container
sudo systemctl start waydroid-container.service
- (Xorg环境) 启动Weston
weston &
- 启动session
waydroid session start
如果是weston,可能需要
env WAYLAND_DISPLAY=wayland-1 waydroid session start
配置透明代理
基于Iptable的透明代理
sudo iptables -t nat -A PREROUTING -i waydroid0 -p tcp -j REDIRECT --to-ports 8080
sudo iptables -t nat -A PREROUTING -i waydroid0 -p udp -j REDIRECT --to-ports 8080
如果出现,Extension REDIRECT revision 0 not supported, missing kernel module?
则需要加载模块 xt_REDIRECT
然后需要在 mitmweb 的启动参数里加上 --mode transparent --showhost
基于daed的透明代理
如果你不知道这是什么,那就跳过
注意事项
如果你的daed配置了https的探测目标,则本机需要安装mitmproxy的证书,否则daed可能认为这个节点不可用,连接就hand住了- mitmproxy 需要以
-m socks5
的模式启动 - 添加指向 mitmproxy 的节点
- 添加 mitmproxy 群组
- 将节点加入群组
- 配置路由
l4proto(tcp) && sip(192.168.240.0/24) -> mitmproxy
- 配置 waydroid0 网卡为LAN接口
- 重载