Skip to content

Commit 264a25c

Browse files
committed
增加Waydroid抓包
1 parent 7974528 commit 264a25c

File tree

2 files changed

+105
-0
lines changed

2 files changed

+105
-0
lines changed

src/SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
- [备忘录](Note.md)
5252
- [安装Mysql5.7](linux/mysql/Mysql57Install.md)
5353
- [使用xDroid作为抓包测试环境](linux/Android/使用xDroid作为抓包测试环境.md)
54+
- [使用Waydroid作为抓包测试环境](linux/Android/使用Waydroid作为抓包测试环境.md)
5455
- [Fedora备忘录](linux/Fedora备忘录.md)
5556
- [Centos备忘录](linux/Centos备忘录.md)
5657
- [Docker备忘录](linux/Docker备忘录.md)
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# 使用Waydroid作为抓包测试环境 <!-- omit in toc -->
2+
3+
**本文环境:**
4+
* 系统:`Arch Linux 6.8.2-zen2-1-zen`
5+
* Waydroid:
6+
- `archlinuxcn/waydroid 1.4.2-3`
7+
- `archlinuxcn/waydroid-image 18.1_20240323-1`
8+
- `waydroid-script-git r177.1a2d3ad-1`
9+
* Weston: `extra/weston 13.0.0-2`
10+
---
11+
12+
- [配置环境](#配置环境)
13+
- [启动环境](#启动环境)
14+
- [配置透明代理](#配置透明代理)
15+
- [基于Iptable的透明代理](#基于iptable的透明代理)
16+
- [基于daed的透明代理](#基于daed的透明代理)
17+
18+
### 配置环境
19+
- (Xorg环境) 配置Weston
20+
`~/.config/weston.ini`
21+
```ini
22+
[core]
23+
idle-time=0
24+
25+
[shell]
26+
locking=false
27+
panel-position=none
28+
```
29+
- 配置ndk
30+
[参考链接](https://github.com/casualsnek/waydroid_script?tab=readme-ov-file#install-libndk-arm-translation)
31+
- Intel CPU
32+
```sh
33+
sudo waydroid-extras install libndk
34+
```
35+
- AMD CPU
36+
```sh
37+
sudo waydroid-extras install libhoudini
38+
```
39+
- 配置证书
40+
1. 启动 mitmproxy
41+
```sh
42+
mitmproxy
43+
```
44+
2. 下载pem证书
45+
```sh
46+
curl --proxy localhost:8080 http://mitm.it/cert/pem -o mitmproxy-ca-cert.pem
47+
```
48+
3. 安装证书
49+
```sh
50+
sudo waydroid-extras install mitm -c mitmproxy-ca-cert-android.pem
51+
```
52+
- 配置网络
53+
```sh
54+
sudo iptables -t nat -A POSTROUTING -s 192.168.240.0/24 ! -d 192.168.240.0/24 -j MASQUERADE
55+
sudo iptables -A FORWARD -i waydroid0 -j ACCEPT
56+
sudo iptables -A FORWARD -o waydroid0 -j ACCEPT
57+
```
58+
59+
### 启动环境
60+
- 启动Container
61+
```sh
62+
sudo systemctl start waydroid-container.service
63+
```
64+
- (Xorg环境) 启动Weston
65+
```sh
66+
weston &
67+
```
68+
- 启动session
69+
```sh
70+
waydroid session start
71+
```
72+
> 如果是weston,可能需要
73+
> ```sh
74+
> env WAYLAND_DISPLAY=wayland-1 waydroid session start
75+
> ```
76+
77+
### 配置透明代理
78+
#### 基于Iptable的透明代理
79+
```sh
80+
sudo iptables -t nat -A PREROUTING -i waydroid0 -p tcp -j REDIRECT --to-ports 8080
81+
sudo iptables -t nat -A PREROUTING -i waydroid0 -p udp -j REDIRECT --to-ports 8080
82+
```
83+
**如果出现,`Extension REDIRECT revision 0 not supported, missing kernel module?` 则需要加载模块 xt_REDIRECT**
84+
85+
然后需要在 mitmweb 的启动参数里加上 `--mode transparent --showhost`
86+
87+
#### 基于daed的透明代理
88+
<font color=red>如果你不知道这是什么,那就跳过</font>
89+
90+
<details>
91+
<summary>注意事项</summary>
92+
如果你的daed配置了https的探测目标,则本机需要安装mitmproxy的证书,否则daed可能认为这个节点不可用,连接就hand住了
93+
</details>
94+
95+
1. mitmproxy 需要以 `-m socks5` 的模式启动
96+
2. 添加指向 mitmproxy 的节点
97+
3. 添加 mitmproxy 群组
98+
4. 将节点加入群组
99+
5. 配置路由
100+
```
101+
l4proto(tcp) && sip(192.168.240.0/24) -> mitmproxy
102+
```
103+
6. 配置 waydroid0 网卡为LAN接口
104+
7. 重载

0 commit comments

Comments
 (0)