怎么在 OS X 上搭建本地代理服务器并对 iOS 传输数据做抓包分析?
by the way,在 Android 系统上怎么抓包呢?
1楼(未知网友)
你看看Charles: http://www.charleshttp://proxy.com/, 功能挺强悍的,操作也不难
2楼(未知网友)
windows操作系统就用用fidder
mac系统用charles吧
3楼(未知网友)
charles 和fiddler这2个软件仅仅可以监控http请求, 对tcp 或udp这类基础底层没办法,你还是用wireshark + wifi共享的方法吧。也可以用虚拟接口来监控,不过你要用来做socket代理就行不通了,因为wireshark不能跟charles或者 fiddler一样可以转发请求
4楼(站大爷用户)
mitmproxy
5楼(未知网友)
要是没越狱的情况,可以试试Wireshark或Burp Suite + HTTP代理。
越狱了的话就用Snoop-it吧
6楼(未知网友)
顺便说下,用代理IP的办法抓 3G 网络下的数据不怎么容易吧。
我一般是在越狱后到终端下运行 tcpdump,然后搜集一些数据用 Cocoa Packet Analyzer 打开,然后进行分析。
你用Wireshark 也行,只是界面太难看了
7楼(未知网友)
额。我现在才知道…iOS竟然自带好了抓包工具…完全不用越狱etc啊…
假如是OSX系统,或许下面这些会有帮助 https://github.com/mountainstorm/MobileDevice
用USB连到手机,执行 python2 MobileDevice pcap output.pcap 然后抓包成pcap…
看,我随便抓了个包…
用libimobiledevice这个包做一样的工作也是可以的…听有些黑文档说甚至可以over WiFi…去试一下看看吧…
8楼(未知网友)
觉得 OS X 挺人性化呀~
可以在OS X 上用 Internet Sharing建一个热点,然后共享给任何设备都是可行的,连接到该 WI-FI 热点上的设备的流量都会通过这个热点,你把嗅探器安装到那个热点上,想怎么抓包就怎么抓哦,比代理IP方便多了,并且你能抓到的包的种类也更丰富。
不过,你的 MBP要可以有线将网络共享才行。。。
可以给WIFI Options 设置点加密之类的。
开启以后就OK。
用你的手机连接到刚才建好的WIFI。
这些网络流量都要通过 MBP 中转,这样嗅探就简单多了。
打开 Wireshark这个神器,选择嗅探的端口。
点Start 然后等着收包吧,监听 HTTP 之类的太容易了,无论是什么协议都能监听到,具体怎么用,那就是别的问题了
9楼(站大爷用户)
你装一个 Charles Web debugging proxy。
然后将 iOS 的 HTTP 代理 设置为 Mac 的 IP,将8888设置成默认端口 就可以抓包了。只要IOS和MAC设备在同一个内网就可以了,有线连接和网络共享这些通通不需要
10楼(站大爷用户)
如果冒然用代理IP的话容易抓到垃圾数据
建议你这样做:
用iPhone通过USB接口连到Mac上。
用Xcode的organizer工具读取一下iPhone的UDID
再用rvictl命令创建一个RVI接口(remote virtual interface),参数就是iPhone的UDID。
$ rvictl -s