Using Charles debugging through Socks
Pre
Charles 除了经典的通过http执行代理debug之外还可以使用sock,两种方式的区别可以看Charles官方的说明,而实际使用中明显的区别就是有些http下遇到的无法抓包情况socks下可以正常执行。
Solution
1. 使用iOS自带的代理
使用iOS wifi 自带的代理设置一般只能设置http类型
如果想要socks类型可以使用自动代理,可以利用自动代理模式
1. 1. 自建Pac文件
1 | charles_socks.pac |
1. 2. 本地启动一个服务器来提供pac文件
1 | cd pathToPacFile |
1. 3. 在wifi代理里面选半自动代理,填入pac文件地址
http://127.0.0.1:8000/pathToPacFile
但是经测试如果这个socks使用时仍有问题,他跟http一样会在某些时候卡住无法继续,也许是iOS自带的socks支持程度与charles的不同。
2. 使用Socks Proxy Client
目前发现的能提供正常可用的sock5连接iOS客户端有以下几个,当然这些国区AppStore都没有。
1
2
3ShadowRocket(paid)
Surge(paid)
Brook(a free & open-source one)