关于ios抓包的问题

又没有比较好的抓包方式啊- -. 我现在用笔记本开360wifi但是wiresshark根本就抓不到。。~

一般是在手机上设置proxy,转发到电脑。如果是 mac 系统推荐 Charles 挺好用~

都用Charles

也可以用rvictl 来转发抓包,iOS9以上也可以用surge配合抓包

我的抓包方案是

  1. 运行一个 fiddler 代理, 手机fiddler为代理, 如果要抓 https 包要现在手机上安装 fiddler 的证书,通常可以应付大部分的 http 通讯分析。
  2. 如果是 tcp, 可以用一个无线路由器,将 lan 口接入mac 的有线口,没有有线口的可以用 usb / 雷电 以太网适配器, mac 上设置将 wifi 共享给有线口,手机连接这里路由器的 wifi, 这时 mac 就是网关,用 wireshark 抓有线口上的通讯,万无一失,所有网络通讯都可以抓到。
  3. 有些 app 的 http 通讯会不遵循 ios 的代理设置,也可以用方案 2,可以用 wireshark 看,如果觉得 wireshark 看 http 不方便,可以考虑用一个 openwrt 的路由器,可以在路由器上用 iptables 重定向那个不走代理设置的连接到 fiddler 的端口。
  4. 如果是 ssl 通讯, fiddler 不能处理,可以用 python 写一个简易的代理,然后使用方案3 的方法重定向连接,用 ssl 自己生成一个证书接受客户端发起的连接,这样 ssl 通讯的数据也可以看到了,具体做法可以 google。

360wifi 的驱动比较特殊,不适合用来抓包,要抓包你也只能抓上行的网络适配器上的包,而不是直接抓 360 wifi 上的。

如果是 HTTP/HTTPS , 可以用 fiddler/charles, 把它们的证书在 iOS 上装一下就能解密https

其他的可以用 360wifi, 可以用 wireshark 抓你本机上网的那块网卡

用charles基本上网络的都可以抓.
如果是一些连本机的127.0.0.1的, 只好越狱后,在手机上设置转发才可以