抓取iPhone数据包

使用Mac抓取iPhone数据包

一.Mac使用”互联网共享”作为Wifi热点

调试iPhone程序时需要抓取iPhone上的数据包,iPhone上没有抓包程序,可以通过Mac的“互联网分享”功能将Mac设为Wifi热点,iPhone通过Mac热点连接到网络,从而在Mac上运行抓包程序可以抓取到iPhone上的数据包。本文描述在Mac上建立Wifi热点的方法。

  1. 首先说明当前Mac系统为Mac OS X Lion 10.7.4,Lion之前的系统设置方法不一样。
  2. 因为要将其他网络连接通过Wifi分享,所以Mac本身的的互联网连接就不能使用Wifi了,悲剧的换上网线。通过”系统偏好设置”中的”网络”确认当前网络连接为以太网。

  3. 通过“系统偏好设置”的“分享”按钮进入“分享”页面
  4. 在“分享”页面,设置将”以太网”连接通过端口”Wifi”分享

    点击”Wi-Fi 选项…”设置Wifi热点的名称,频段以及密码
  5. 设置完成后,点击分享页面左侧的”互联网共享”,若当前Wifi为关闭状态,则提示是否打开Wifi;

    点击”打开 Wi-Fi”后,接着弹出“确认启动互联网共享”的提示;

    点击”启动”后,左侧的“互联网共享”复选框会被选上,Wifi热点就建立成功了。
  6. 查看此时的Wifi状态

    这里有显示”Wi-FI有自分配的IP地址…..,将无法接入互联网”,其实是可以连接到互联网的,网络上有些帖子说此时连不上网,有回复说可以通过“高级…”选项中手工修改IP解决,仅供参考。
    此时状态栏中的WiFi图标为
  7. 在iPhone上搜索刚才建立的Wifi热点并连接

    此时iPhone上的IP地址为10.0.2.2
  8. 在Mac上运行WireShark就可以抓取到iPhone上的数据包了,如图

二.Mac上使用代理软件作为HTTP代理服务器

上述”互联网共享”方法的优点在于可以抓取任意类型的数据包,缺点在于Mac本身需要使用有线连接,如果没有有线环境就无法使用,即使有的话切换起来也比较麻烦。

如果要抓取的数据只是HTTP数据时,则可以使用其他一些代理软件将Mac(window、Linux)系统设为代理服务器,设置iPhone的HTTP代理为Mac电脑,同样可以在Mac电脑上抓包。常用的Web数据分析工具都具有代理功能。
比如Charles,使用Charles可以查看HTTP,SSL/HTTPS数据,见
Monitoring an iPhone’s HTTP traffic (Part 1)
Monitoring an iPhone’s HTTPS traffic (Part 2)
另外一款开源的软件是andiparos,使用方式和Charles类似。Charles的默认代理端口时8888,andiparos的默认代理端口为8080。

当Mac与iPhone在同一局域网内(同一Wifi环境下)时,启动上述代理软件,在iPhone上设置HTTP代理,服务器设为Mac电脑的IP,端口根据代理软件中的配置设置(8888或8080)。

这样,当iPhone访问HTTP数据时,Charles或andiparos中就会抓取到HTTP数据并分析,使用WireShark监听代理端口也可以抓取到更详细的数据包。

Charles效果图为

andiparos效果图为

类似的软件还有Fiddler,但没有Mac版本,只能在windows环境中使用。



转自:http://www.winddisk.com/2012/08/25/mac_capture_iphone_package/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值