iOS应用(包括移动应用)的网络分析,一般采用将移动设备上的流量导入到PC机上,利用PC上成熟的数据包分析工具例如wireshark等来进行分析的方法。

总的来说,有以下三种方法:
一、在PC上设置网络共享,生成wifi热点供移动设备使用
二、开启http代理工具服务器(例如burpsuite,charles),然后移动设备通过该HTTP代理上网(只能抓取HTTP/HTTPS)
三、使用管道(tunneling)工具例如nc+ADVsock2pipe将iOS上的流量引入到PC上 (需越狱)
实施方法可参考:
mobile app 通信分析方法小议(iOS/Android)

实时抓取移动设备上的通信包(ADVsock2pipe+Wireshark+nc+tcpdump)
iPhone上使用Burp Suite捕捉HTTPS通信包方法

以上方法都存在缺陷,例如只能捕捉wifi网络通信,不能抓取2G/3G网络包的缺陷。

iOS 5后,apple引入了RVI remote virtual interface的特性,它只需要将iOS设备使用USB数据线连接到mac上,然后使用rvictl工具以iOS设备的UDID为参数在Mac中建立一个虚拟网络接口rvi,就可以在mac设备上使用tcpdump,wireshark等工具对创建的接口进行抓包分析了。


这种流量分析方法,是直接捕捉的iOS设备上的网络流量,因此无论是wifi还是2G/3G等其他网络类型都可以捕捉到,一根USB数据线就搞定了,不需要苛刻的要求PC与iOS设备处于同一个网段,或必须越狱等局限了。
下面介绍使用方法
第一步:使用USB数据线将iOS设备连接到MAC上
第二步:获得iOS设备的UDID,可以使用iTools查看,也可以使用Xcode的Organizer工具查看
第三步:创建RVI接口

$ rvictl -s <UDID>

RVI虚拟接口的命令规则可为rvi0,rvi1,。。。,创建后可以使用以下命令查看是否创建成功

$ ifconfig rvi0

第四步:在mac上用抓包工具wireshark或tcpdump等工具抓包分析

$ sudo tcpdump -i rvi0 -n -vv

第五步:分析结束后,移除创建的RVI接口

$ rvictl -x <UDID>

参考:
http://www.winddisk.com/2012/09/01/mac_capture_iphone_package_remote_virtual_interface/

http://useyourloaf.com/blog/2012/02/07/remote-packet-capture-for-ios-devices.html

转载于:https://www.cnblogs.com/yulang314/p/5219454.html

iOS APP网络分析之rvictl(可以捕捉除了Wifi以外的网络类型)相关推荐

  1. iOS状态栏操作之获取WiFi信号强度,网络类型,运营商,电池电量,系统时间等

    iOS状态栏操作之获取WiFi信号强度,WiFi名字和IP,网络类型,运营商,电池电量,系统时间等 此篇文章讲述iOS中的状态栏 iOS开发中对状态栏的操作比较少,因为状态栏是系统级别的View,是受 ...

  2. iOS App无需跳转系统设置自动连接Wi-Fi

    一: 介绍 近几年,智能设备越来越火,这些智能设备中,有很大一部分是通过手机来控制硬件设备,来达到预期的效果,这中间少不了要使用到蓝牙功能,通过蓝牙来通信来控制设备. 除了蓝牙控制设备之外,还可以通过 ...

  3. iOS App 连接外设的几种方式

    原创作者: Max_Marry 文章地址: http://www.jianshu.com/p/852bf92c5c92 随着近年来车联网和物联网的兴起,智能家居和智能硬件的逐步火热,越来越多的 App ...

  4. ios如何看idfv_ios获取手机状态 idfa   idfv   网络类型   分辨率   获取运营商

    标签:ios //idfa [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]; //idfv [[[UI ...

  5. [facebook-wda]搭建iOS App自动化环境

    搭建iOS App自动化环境 一.测试结构介绍 手机端的WDA Runner(WebDriverAgent)类似于appium测试框架中的 UIAutomator Server,将从客户端接收到的控制 ...

  6. iOS App 稳定性指标及监测(转载)

    iOS App 稳定性指标及监测 作者介绍:李运锋,美团点评iOS工程师,5年iOS开发经验,现在是美团点评点餐团队的一员. 前言 本文较长(5000字左右),建议阅读时间: 20min+ 一个iOS ...

  7. iOS APP安全杂谈之二

    高小厨 · 2015/08/12 10:06 0x00 序 自从上一篇文章发了以后,参加乌云众测时发现小伙伴们真的提交了一些我所说的IOS低风险问题,真的是连一百块都不留给我.但是我依然感到幸运,因为 ...

  8. iOS APP黑盒/灰盒审计checklist

    本篇文章介绍如何对一款iOS应用进行基本的安全审计,主要方式为黑盒或灰盒的手动审计.注意红色字体部分为做安全审计时的checklist. 一.IPA安装包分析(静态分析) 1. Mach-O可执行文件 ...

  9. iOS APP 逆向安全杂谈之二

    一些公用类: @interface ClassCustomClass :NSObject{ NSString *varTest1; NSString *varTest2; NSString *varT ...

最新文章

  1. 用鸽 计算机教案,科学活动教案:鸽子
  2. beanutil 批量copy_Apache Commons Beanutils对象属性批量复制(pseudo-singleton)
  3. webservice jsonp格式调用
  4. php获取汉字的长度,php中处理汉字字符串长度:strlen和mb_strlen
  5. Linux rm 删除指定文件外的其他文件 方法汇总
  6. 从ListControl控件导出数据到指定路径的的EXCE文档中
  7. python基础教程自学网-Python基础系统管理学习手册视频教程
  8. 大组合数:Lucas定理
  9. hdu 2736 Average distance
  10. 一个可以直接套用的行星齿轮传动比(转速比)结论
  11. 服务器虚拟化分步实施,服务器虚拟化解决实施方案.doc
  12. 华为设备VRRP配置命令
  13. CAD2008 启动慢 卡住
  14. SparkStreaming + LogisticRegression 实现路况预测
  15. 浅谈IM(InstantMessaging) 即时通讯/实时传讯
  16. [AV1] interpolation
  17. Linux IP 地址修改
  18. java 红外光谱数据库_免费的谱图数据库20个 - 晶体 - 小木虫 - 学术 科研 互动社区...
  19. linux su无效_linux su 认证失败解决方案转
  20. tensorflow框架精细讲解(一)

热门文章

  1. centos卸载内核_CentOS 中内核模块的加载和卸载
  2. 深度 | 一篇文章带你进入无监督学习:从基本概念到四种实现模型(附论文)
  3. 这65条工作和成长建议,你将受用终生!
  4. Codeforces Round #548 (Div. 2) A. Even Substrings
  5. typedef 为类型取别名
  6. linux中安装软件,查看、卸载已安装软件方法
  7. 利用CSS、JavaScript及Ajax实现图片预加载的三大方法
  8. vue transition
  9. UVALive 5903 Piece it together(二分图匹配)
  10. XP Sp2下双机通过无线网卡实现Internet共享