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

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

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

一、下载

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

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

二、破解

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

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

下载下来之后我们就可以进行破解吧:

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

然后点击Contents->Resources->Java: 

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

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

第一、HTTP抓包 1、打开Charles程序 2、查看Mac电脑的IP地址,系统偏好设置->网络就可以查看到了,比如我的ip地址是:192.168.1.7 3、打开iOS设置,进入当前wifi连接(Mac在一个局域网内),设置HTTP代理Group,将服务器填为上一步中获得的IP,即192.168.1.7,端口填8888: 

4、iOS设备打开你要抓包的app进行网络操作 5、Charles弹出确认框,点击Allow按钮即可

第二、HTTPS抓包

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

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

 点击打开:  点击安装:

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

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

这时候我们打开网易app: 

就可以看到数据了,至此抓包工作就搞定了。

注意:当我们不抓包的时候,会将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里就是了。

Charle抓包与wireshark使用的更多相关文章

  1. 抓包工具Wireshark过滤器

    抓包工具WireShark分为两种过滤器: 捕捉过滤器(CaptureFilters) 显示过滤器(DisplayFilters) 捕捉过虑器语法: Protocol  Direction  Host ...

  2. 手机数据抓包以及wireshark技巧

    本文主要讨论一种非常方便的抓取Android和iphone手机网络数据包的办法,以及介绍wireshark最常用的技巧 抓包工具介绍 (1).网页抓包工具 Chrome浏览器插件 FireBug 插件 ...

  3. wireshark怎么抓包、wireshark抓包详细图文教程

    wireshark怎么抓包.wireshark抓包详细图文教程 作者:佚名  来源:本站整理  发布时间:2013-05-02 19:56:27 本日:53 本周:675 本月:926 总数:3749 ...

  4. 如何在Windows系统上用抓包软件Wireshark截获iPhone等网络通讯数据

    http://www.jb51.net/os/windows/189090.html 今天给大家介绍一种如何在Windows操作系统上使用著名的抓包工具软件Wireshark来截获iPhone.iPa ...

  5. socket和抓包工具wireshark

    socket和抓包工具wireshark 最近在学习Python代码中的socket和抓包工具wireshark,故又将socket等概念又学习了一遍,温故而知新: Python代码如下: serve ...

  6. wireshark怎么抓包、wireshark抓包详细图文教程(转)

    wireshark怎么抓包.wireshark抓包详细图文教程 wireshark是非常流行的网络封包分析软件,功能十分强大.可以截取各种网络封包,显示网络封包的详细信息.使用wireshark的人必 ...

  7. GNS3与抓包工具Wireshark的关联

    转至:https://blog.51cto.com/xpleaf/1615145 (一)前言 本博文分享GNS3与Wireshark关联的方法. 显然现在网络上已经有类似的文章分享,而本博文旨在提供更 ...

  8. 网络抓包工具-Wireshark学习资料

    wireshark一个非常牛逼的网络抓包工具.转载一系列博文 一站式学习Wireshark(一):Wireshark基本用法 一站式学习Wireshark(二):应用Wireshark观察基本网络协议 ...

  9. Wireshark 网络抓包工具Wireshark的使用

    阅读目录 wireshark介绍 wireshark不能做的 wireshark VS Fiddler 同类的其他工具 什么人会用到wireshark wireshark 开始抓包 wireshark ...

随机推荐

  1. 文件系统的几种类型:ext3, swap, RAID, LVM

    分类: 架构设计与优化 1.  ext3 在异常断电或系统崩溃(不洁关机, unclean system shutdown  ).每个已挂载ext2文件系统计算机必须使用e2fsck程序来检查其一致性 ...

  2. 手机设备访问PC页面如果跳转到手机页面?

    //例如:iphone访问www.baidu.com自动跳转到wap.baidu.com,只需在pc端模版页面引入以下js代码//pc zhuan mobile var mobileAgent = n ...

  3. 201521123004 《Java程序设计》第1周学习总结

    1. 本章学习总结 (1)安装各种软件(jdk,eclipse,git(安装不了)) 注册账号(博客,网易邮箱(QQ邮箱不能用)码云) 创建项目(码云,Java) (2)了解JAVA语言的发展史(su ...

  4. JAVA课程设计+五子棋游戏

    1. 团队课程设计博客链接 http://www.cnblogs.com/yzb123/p/7063424.html 2. 个人负责模块或任务说明 1.在同伴构建好初始框图的情况下,编写一个继承JPa ...

  5. ionic 打包安卓包

    一.配置环境: 先按照之前的文章,配置好环境需要: 二.安装 1. 这里前提是 需要安装  node (地址: http://nodejs.cn/download/) 命令: node -v   // ...

  6. C# 各种常用集合类型的线程安全版本

    在C#里面我们常用各种集合,数组,List,Dictionary,Stack等,然而这些集合都是非线程安全的,当多线程同时读写这些集合的时候,有可能造成里面的数据混乱,为此微软从Net4.0开始专门提 ...

  7. 将eclipse左边目录结构改为 树形结构

    认情况下Eclipse的显示内容如下: 这种视图我们看起来不太方便,于是我们需要改变一下它的显示结构,我们点击一下下图中蓝色圆圈圈住的图标 在弹出的框中把鼠标放到"package prese ...

  8. Mybatis——choose, when, otherwise可以达到switch case效果

    在mapping文件中实现动态sql,如果想达到if else的效果可以使用:choose, when, otherwise <choose> <when test="ti ...

  9. MapReduce极简教程

    一个有趣的例子 你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查并且数出有多少张是黑桃?   MapReduce方法则是: 给在座的所有玩家中分配这摞牌 让每个玩家数自己手中的牌有几张是黑桃,然后 ...

  10. 深度学习网络层之 Batch Normalization

    Batch Normalization Ioffe 和 Szegedy 在2015年<Batch Normalization: Accelerating Deep Network Trainin ...