转:http://blog.csdn.net/lixing333/article/details/42776187浏览器
以前写过一篇经过Wireshark进行抓包,分析网络链接的文章《经过WireShark抓取iOS联网数据实例分析》:http://blog.csdn.net/lixing333/article/details/7782539网络
最近一些工做须要抓包,在个人Mac上安装了Wireshark以后,发现运行不了。探究之,发现Wireshark的界面用的是X Window,因此须要在X11环境下运行。安装X11以后,仍然闪退,探究后无果,遂转而寻找其余软件。试了几款抓包软件后,发现Charles这款软件最方便,甚至比Wireshark这个老牌的抓包分析工具还要好用的多。工具
Wireshark虽然功能很强大,能抓各个包,进行各类类型过滤,但这也致使了它的学习成本很高,不容易上手;并且,Wireshark默认是监控全部设备,包括电脑上的各类软件、浏览器,以及链接到电脑热点的设备上的网络链接,比较杂乱,想找到咱们须要的网络链接比较麻烦。好比下面这张图,你能读懂吗?反正我是不懂。得须要过滤等等的操做,反正麻烦的很。学习
Charles就没有这样的麻烦。Charles是一个很是轻量的软件,它不是监控网卡上全部的网络链接,而只监控特定端口(默认是8888端口)的网络链接,这样,其它无关的数据就首先被屏蔽了。截图以下:.net
如何使用:前期准备仍然如《经过WireShark抓取iOS联网数据实例分析》:http://blog.csdn.net/lixing333/article/details/7782539 这篇文章里所说,网线、热点分享必须有。Charles监控的是8888端口的数据,因此咱们须要在手机设备上设置8888端口为代理。在电脑终端用"ifconfig"命令查看本身电脑网卡的局域网IP地址,注意是有线网卡en0的IP地址,而不是无线网卡en1。以下图:代理
以iPhone为例,咱们链接到了电脑以后,打开“设置”-“网络”,编辑已经链接上的Wifi:blog
这样设置好以后,咱们打开浏览器,打开百度首页,这时Charles会提示:有一台新设备请求链接,要容许吗?选择Allow。get
打开百度以后,Charles界面上会出现一个一个的网址,并且新的网络请求还会被标记出来,很是方便。Request、Response都很清晰,方便查看:监控
好了,之后能够摆脱Wireshark这个庞大而又难用的东西了,妈妈不再用担忧我不会抓包啦!百度