对手机的抓包有两种方式,各有优劣且互补,一般第一种即可,对于不走代理的 App 选择第二种方式
第一种 Fiddler:
利用 Fiddler 抓包,适合大多数走代理的应用,
优点
(1) 无需 root
(2) 对 Android 和 Iphone 同样适用
(3) 操作更简单方便(第一次安装配置,第二次只需设置代理即可)
(4) 数据包的查看更清晰易懂,Fiddler 的 UI 更简单明了 。
参考: http://www.trinea.cn/android/android-network-sniffer/
Mac 下可以使用 Charles Fiddler虽然有个mono版本,号称支持非win平台,但是这个已经很久没更新了, (http://blog.csdn.net/jiangwei0910410003/article/details/41620363),
破解版的 Licence Key:http://www.trinea.cn/android/android-network-sniffer/
第二种 Tcpdump:
对于不走代理的 App 可以利用 tcpdump 抓取 andorid 手机上网络数据请求,利用 Wireshark 查看,
参考:http://www.trinea.cn/android/tcpdump_wireshark/
下面介绍
Charles 监控手机的一些关键步骤
charles 破解
charles 下载地址:http://www.charlesproxy.com/latest-release/download.do
我这里下载的是 3.10.2 版本,默认是官方30天试用版本, 破解文件: http://download.csdn.net/download/angle7777/8880559
破解方法:
打开应用程序,选择Charles,选择显示包内容;然后点击Contents->Resources->Java;然后将下载下来的charles.jar替换这里的charles.jar就可以了
参考: http://blog.csdn.net/jiangwei0910410003/article/details/41620363
抓取Android手机的网络请求
1、查看Mac电脑的IP地址
系统偏好设置 –》 网络 我们就可以看到自己的IP地址。
这里我是 192.168.1.25
2、在Charles上启用HTTP代理。
3、在Android手机上设置当前网络的代理设置。
这里设置的是 192.168.1.25的8888端口作为代理
参考:
http://www.zhihu.com/question/22914923
http://www.zhihu.com/question/20467503/answer/19540711