Charle抓包与wireshark使用

今天就来看一下Mac上如何进行抓包,以前有一篇文章介绍了使用Fidder进行抓包html

http://blog.csdn.net/jiangwei0910410003/article/details/19806999macos

不过惋惜的是,Fidder使用C#开发的,因此就不能在Mac上使用了,不过还有另一个抓包神器,就是Charles,它是Java开发的,因此跨平台,不只能够在Mac上使用,Linux以及Window下都是可使用的,固然须要安装JDK,才能运行,同时还有一个问题就是他是收费的。windows

1、下载api

先到它的官网http://www.charlesproxy.com/可下载到最新版本,这个下载有点慢,我已经将它放到网盘中了:http://pan.baidu.com/s/1gdu0S4Vxcode

这个是3.9.3版本的,下载下来,安装就很少说了,很easy....打开界面:服务器

 Enter your image description here:

2、破解网络

不过这个收费的,那么接下来就开始破解吧,其实破解很简单就是替换一个文件就能够了,能够在网上搜:Charles3.9.3破解的jar文件app

这里我也是下载好了:http://pan.baidu.com/s/1i3gjEfjiphone

下载下来以后咱们就能够进行破解吧:ide

打开应用程序,选择Charles,选择显示包内容:

 - list text here 而后点击Contents->Resources->Java:  Enter your image description here:

而后将咱们下载下来的charles.jar替换这里的charles.jar就能够了。而后再次打开Charles,就不会太提示30天使用期限了,破解搞定

3、抓包 下面来看一下如何进行抓包

第1、HTTP抓包 一、打开Charles程序 二、查看Mac电脑的IP地址,系统偏好设置->网络就能够查看到了,好比个人ip地址是:192.168.1.7 三、打开iOS设置,进入当前wifi链接(Mac在一个局域网内),设置HTTP代理Group,将服务器填为上一步中得到的IP,即192.168.1.7,端口填8888:  Enter your image description here:

四、iOS设备打开你要抓包的app进行网络操做 五、Charles弹出确认框,点击Allow按钮便可

第2、HTTPS抓包

须要下载Charles证书http://www.charlesproxy.com/ssl.zip,解压后导入到iOS设备中,这里我也是下载好了:

http://pan.baidu.com/s/1sjJiZYt,咱们在iOS设备中使用safari打开这个连接

 Enter your image description here:  点击打开:  Enter your image description here:  点击安装: Enter your image description here:

再次点击安装,证书就安装成功了

而后在Charles的工具栏上点击Proxy按钮,选择Proxy Settings… 切换到SSL选项卡,选中Enable SSL Proxying,别急,选完先别关掉,还有下一步 这一步跟Fiddler不一样,Fiddler安装证书后就能够抓HTTPS网址的包了,Charles则麻烦一些,须要在上一步的SSL选项卡的Locations表单填写要抓包的域名和端口,点击Add按钮,在弹出的表单中Host填写域名,好比填api.instagram.com,Port填443

 Enter your image description here: 这时候咱们打开网易app:  Enter your image description here:

就能够看到数据了,至此抓包工做就搞定了。

注意:当咱们不抓包的时候,会将Charles关闭,这时候iOS是访问不到网络的,由于设置了代理(就是Charles),这时候须要将iOS中的代理关闭,这个是抓包时常常犯的错。

 

 

Wireshark

rvictl -s afe72bbebab036ae562f1f3e392f22cfd350455f
对应生成的接口是 rvi0
 

mac系统版本:mac 10.10 Yosemite

xcode版本:6.3.1


在追踪bug或者分析借鉴其余公司的app通信思路时,抓包这件事是很是有必要的。下面说说Wireshark怎么截获iphone的数据包。

安装wireshark

wireshark是依赖x11的,因此首先确认安装了x11,mac自带,能够打开升级一下。
前往-实用工具-x11,打开后点击菜单栏上的x11,检查更新 便可。中间提取包内容过程比较长,耐心等待。

下载Wireshark最新版,尽可能去官网下载:
https://www.wireshark.org/download.html (须要翻..)

安装,安装过程很简单,一路下一步。

我这里下载的Wireshark 1.12.4 Intel 64,安装后没法运行,网上说x11位置不对。控制台执行:
sudo ln -s /opt/X11 /usr/X11
问题依旧。

没办法下载了一个XQuartz-2.7.7:

http://xquartz.macosforge.org/landing/

安装,运行Wireshark。点完wireshark图标等了10多分钟,终于算是打开了,以后再打开就不须要等了。


抓iphone数据

想抓iphone的数据,首先须要让iphone数据经过mac才行。看到网上不少设代理什么的方法,比较复杂,有的还要越狱。其实不必。只要链上数据线,而后在mac的终端执行:
rvictl -s iphone设备id
这时,全部iphone网络流量都会通过iphone所连接的mac,而且iphone数据仍是走本身的网络,好比iphone连接在3g网络,数据仍是会经过3G收发,而不是经过mac的网络。断开链接:
rvictl -x iphone设备id

设备链接后,mac会出现一个对应的虚拟网络接口,名字是rvi0(若是有多个iphone则累加,rvi1,rvi2…)

只要启动Wireshark,监听rvi接口就能抓到iPhone数据了,固然,也可使用Wireshark之外的工具抓取或分析。

关于获取iphone设备ID,可使用xcode-windows-devices,选择相应设备,右面设备信息的identifier里就是了。

相关文章
相关标签/搜索