公司有不少测试用的手机,测试过程会用到抓包软件,测试人员拿到手机后,通常会先看一下电脑 IP,然后修改手机的代理设置。最近我参与的项目不忙,所以决定来改进这个操作。
方案一:
通过转发手机所有的 TCP 数据到另一个电脑的 SOCKS5 代理,好处是不需要手机做任何设置,但是会丢到域名信息,所以弃了。
方案二:
只转发代理端口的数据到另一个电脑。运行一个转中服务器,所有手机的代理都设置为它,服务端提供 API 来修改转发的设置。然后电脑通过 adb(Android) 和 ideviceinfo(iOS) 来获取 IP 和 MAC 地址,就可以把连在电脑上的手机的代理设置为当前电脑。最终的效果就是手机连一次电脑,电脑就可以对它抓包。
不知道你们公司有没有类似的情况?
1
muzuiget 2020-02-14 00:14:41 +08:00
在路由上抓包不是更快捷?
|
2
TVBG OP @muzuiget 方案一应该就是类似的,主要我们抓包的是 HTTP 数据,我遇到会丢失域名信息,只会显示 IP。你遇到能正常显示域名信息吗?
|
3
windyland 2020-02-14 01:17:52 +08:00 via Android
开透明代理,然后抓包(关键词 gost or iptables )
|
4
xFrank 2020-02-14 16:13:24 +08:00
楼主说的再详细点。。。
|
5
xFrank 2020-02-14 16:19:35 +08:00
搞个自研的 vpn 类抓包软件也行,然后自动把抓到的包都汇总到某个服务器上去,分类存储
|
6
TVBG OP @xFrank 我添加了备注。再说说 VPN 的方式,理论上也会丢掉域名信息,虽然可以通过 DNS 缓存等方式来还原,但是仍然有问题。
|
7
hsddszjs 2020-02-15 00:14:23 +08:00 via iPhone 1
ios 可以用 shadowrocket widget 配置好 http 代理之后一键就连上 Charles 了 关闭抓包也一键搞定
Android 下应该也有类似的 |
8
hsddszjs 2020-02-15 00:22:05 +08:00 via iPhone
如果是第一次连 pc 端可以写个工具生成 shadowrocket 的分享代理二维码 手机用 shadowrocket 一扫就加上了
|
9
hsddszjs 2020-02-15 00:31:02 +08:00 via iPhone
其实就是把 http:ip:8888 编码之后生成一个文本链接 放到 Chrome 二维码生成插件就行
当然手动输 ip 也是可以的 |
10
hsddszjs 2020-02-15 00:33:21 +08:00 via iPhone
再极端一点可以添加 subscribe 类型的代理 这样每次用更新订阅就行了 自动获取到最新的 Charles 的 ip 和端口 手机和 pc 比较多的话
|
11
hsddszjs 2020-02-15 00:42:01 +08:00 via iPhone
你们公司有企业证书的话 自己做个一键连代理的应用也不是难事
ios 捷径 /快捷指令也是可以考虑的方向 |
12
hsddszjs 2020-02-15 00:50:22 +08:00 via iPhone
让手机扫描局域网内 8888 端口开放的 ip 也可以
|
13
TVBG OP @hsddszjs 手机有多个,电脑也有多个,它们都是用 DHCP 来获取 IP 的,而手机连接的电脑会根据使用人员的变化而变化。
|
14
lemonTreeTop 2020-02-18 15:51:33 +08:00
用网关来做抓包,拿一台电脑装软路由的系统,把路由器的 dhcp 关了
|