以前的讨论:
https://www.v2ex.com/t/302886之前用 Charles/mitmproxy 抓包时发现 websocket 包不一定走代理,所以走代理的方式行不通,还是得用透明抓包,不需要用代理
以前看到的透明抓包方法是在网关或者说是路由器抓才行的,需要路由器支持才行的。另外也有一个 rvi 方法,就是手机 4g 上网,需要 usb 连接 mac,在 Mac 上敲命令创建一个远程虚拟接口 Remote Virtual Interface ( RVI )来进行抓包
或者用 iPhone 上的 app surge 来实现抓包,这个是底层的,不需要代理,可以解密 https,但终究是手机上的,操作不方便
最近发现 iPhone 可以通过数据线连接 Mac 进行上网,即在 Mac 的共享设置里打开互联网共享,共享方式为 iPhone USB,这样就可以实现 iPhone 的流量全部走 Mac WIFI 了,实际上在 Mac 上面多了一个虚拟桥接网卡 bridge100
iPhone 的网络包全部从 Mac 上经过,用 Wireshark 抓这个 bridge100 网卡的包就能抓到 iPhone 全部的包,甚至抓 WIFI en1 的包也能抓到 iPhone 的网络包,但是这个 Wireshark 并没有 Charles 友好,https 解密、截包改包也不如 Charles/mitmproxy
Mac 上的 surge 似乎也需要代理,新出的一个 Specht (
https://www.v2ex.com/t/298865 )不是很了解。
另外我注意到 mitmproxy 有一个透明代理功能,也就是不需要用代理的,用这个透明代理功能似乎需要部署在网关 /路由器上的,但搜了一下发现也可以部署到 Linux/Mac 上,对应的需要用到 iptables/pf,不过资料并不多
现在已知,iPhone 的网络包可以全部走 Mac 不用代理,而 Mac 上的 mitmproxy 又支持透明代理,我想这样是不是就可
以省去网关 /路由器部署,两者结合是不是实现 iOS 最强透明抓包:既能 https 解密,又能截包改包?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/427935
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.