使用Waydroid作为抓包测试环境
本文环境:
- 系统:
Arch Linux 6.8.2-zen2-1-zen - Waydroid:
archlinuxcn/waydroid 1.4.2-3archlinuxcn/waydroid-image 18.1_20240323-1waydroid-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
-
-
配置网络
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接口
-
重载