码迷,mamicode.com
首页 > 移动开发 > 详细

IOS 网络程序开发时数据监控

时间:2015-05-26 14:27:59      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:mac   tcp   wireshark   network   instruments   

开发网络程序时,我们能够直观看到往来数据,对开发是十分便利的。这里提供了几种方法:

一、虚拟网卡

1.在iPhone或iPad上创建一个RVI(remote virtual interface)虚拟网卡

用usb把设备和mac相连接,打开命令行工具,输入命令:

rvictl -s abcdef01234563e91f1f2f8a8cb0841d2dafeebbc
这里那一长串东西是设备的UDID。使用iTunes可以查询到这个东西。(默认显示的是序列号,点一下序列号三个字,就会切换显示)。点击菜单 编辑-复制udid即可。

技术分享

正常情况下,它会提示Starting device ********************* [SUCCEDDED] with interface rival 成功。

使用ifconfig -l命令测试一下:

技术分享

2.使用tcpdump 命令,把数据包保存到.pcap 文件里

在终端输入命令:

sudo tcpdump -i rv0 -n -s 0 -w dumpFile.pcap tcp
参数说明 :

  • -i rv0 截获虚拟网卡的数据
  • -n 不使用dns
  • -s 0 截取整个数据包,而不是仅首字节
  • -w dumpFile.pcp  输出文件,是libpcap 文件格式
  • tcp  只截取tcp数据包

现在在设备上运行app,结束的时候,退出tcpdump.这个时候如果不再需要截获数据,也可以把虚拟网卡移除掉。

rvictl -x abcdef01234563e91f1f2f8a8cb0841d2dafeebbc

但现在这个数据文件还不容易使用,使用vim打开会看到全是乱码。

现在安装一个tcpreplay工具

brew install tcpreplay
我在操作的时候,遇到了这个错误:

Error: Cannot write to /usr/local/Cellar


先执行:

sudo chown -R $USER /usr/local

安装以后,执行命令:

tcprewrite --dlt=enet --enet-dmac=00:11:22:33:44:55 --enet-smac=66:77:88:99:AA:BB --infile=dumpFile.pcap --outfile=dumpFileFinal.pcap

3.安装wireshark查看数据

Wireshark下载安装 。

Wireshark需要x11的支持。如果没有安装,启动Wireshark时会引导安装。也可以到这里下载安装:

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

启动wireshark,这时可能会提示Choose Application。点击Browser到"/Application/Utilities/XQuartz.app"。如果是安装最新的Wireshark,也可能不需要指定,它会自动识别。

注意开始打开可能比较慢,要耐心等待。


打开转换后的dumpFileFinal.pcap,可以看到数据内容。

技术分享

二、http数据监测查看 HTTPArchive

网址:
http://www.softwareishard.com/blog/har-12-spec/
使用tcpdump获取的pcap也可以转为httpArchive查看,需要使用pcap2har的python脚本工具。

这个以后再另外专门介绍。


三、使用Instruments network profiling

测试时使用虚拟机是不能监测到数据的,需要连接物理机测试。

这是结果示例:

技术分享

在这里不容易看到真实的数据,只能看到大致的通信情况。


原文:

http://blog.manbolo.com/2013/02/22/analysing-ios-app-network-performances-on-cellularwifi

IOS 网络程序开发时数据监控

标签:mac   tcp   wireshark   network   instruments   

原文地址:http://blog.csdn.net/xundh/article/details/46003535

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!