Mac端WireShark抓移动端包

作者: lionsom_lin | 来源:发表于2018-11-22 08:30 被阅读145次

    参考文档

    www.wireshark.org

    Mac OS X上使用Wireshark抓包 (抓取手机网络)
    使用wireshark以及filddler配合抓去手机端的TCP以及HTTP请求
    Wireshark基本介绍和学习TCP三次握手
    wireshark使用教程
    Mac下使用Wireshark抓iphone手机数据包
    Wireshark抓包分析/TCP/Http/Https及代理IP的识别

    Fiddler 教程

    一、Mac抓iPhone数据包

    原理:使用 Mac 抓取 iPhone 数据包可通过共享和代理两种方式:
    • 使用 Mac 的网络共享功能将 Mac 的网络通过 WiFi 共享给 iPhone 连接;
    • 使用代理软件(例如 Charles)在Mac上建立HTTP代理服务器。
    1.1、使用 Mac 的网络共享功能将 Mac 的网络通过 'WiFi共享' 给iPhone连接
    1.1.1、原理:

    手机->运营商->服务器
    手机->PC网卡->运营商->服务器

    1.1.2、亲手操作:
    • 1、打开 系统偏好设置 -> 共享
    • 2、我设置了 Wi-Fi 为网络来源,共享给 iPhone USB 端口(因为只有一个网卡的原因,不能以 Wi-Fi 端口共享出去!);
    • 3、关闭 iPhone 上一切网络,用数据线连接到 mac USB 接口;
    • 4、神奇的事情发生了,没有WiFi和4G情况下,手机能正常上网;
    开启Mac网络共享
    开启Mac网络共享
    wireshark监控刚刚我们共享网络的端口
    wireshark监控刚刚我们共享网络的端口
    wireshark抓到了iPhone的数据包(打开自己的APP请求)
    wireshark抓到了iPhone的包

    1.2、使用代理软件(例如 Charles)在Mac上建立HTTP代理服务器

    1.3、Remote Virtual Interface,RVI

    1.3.1、RVI介绍

    苹果在 iOS 5 中新引入了“远程虚拟接口(Remote Virtual Interface,RVI)”的特性,可以在 Mac 中建立一个虚拟网络接口来作为 iOS 设备的网络栈,这样所有经过 iOS 设备的流量都会经过此虚拟接口。此虚拟接口只是监听 iOS 设备本身的协议栈(但并没有将网络流量中转到 Mac 本身的网络连接上),所有网络连接都是 iOS 设备本身的,与 Mac 电脑本身联不联网或者联网类型无关。iOS设备本身可以为任意网络类型(WiFi/xG),这样在 Mac 电脑上使用任意抓包工具(tcpdump、Wireshark、CPA)抓取 RVI 接口上的数据包就实现了对 iPhone 的抓包。

    1.3.2、终端查看RVI
    终端查看RVI
    1.4.3、获取UUID
    • 首先,通过 USB 数据线将 iPhone 连接到安装了 Mac 上(老旧的设备可能不行),抓包过程中必须保持连接;

    • 然后,通过 iTunes->Summary 或者 Xcode->Organizer->Devices 获取 iPhone 的 UDID。

    1.3.4、终端开启RVI

    打开终端,使用“rvictl -s UUID”命令创建 RVI 接口,使用 iPhone 的 UDID 作为参数。

    根据UUID开启RVI,并查看list
    根据UUID开启RVI
    wireshark监控RVI端口
    wireshark监控RVI端口
    wireshark抓到了iPhone的数据包(某车帝APP请求)
    wireshark抓到了iPhone的数据包

    二、牛刀小试 - 尝试抓某车帝的数据包

    监控iPhone USB端口,打开某车帝APP某个页面。

    设置快捷查找表达式查找HTTP请求
    某接口
    使用Firefox 的 RESTClient进行HTTP模拟请求
    模拟HTTP请求

    后续更新WireShark的深入探索!

    相关文章

      网友评论

        本文标题:Mac端WireShark抓移动端包

        本文链接:https://www.haomeiwen.com/subject/hfjjtqtx.html