美文网首页
iOS 真机抓包方式

iOS 真机抓包方式

作者: Acton393 | 来源:发表于2018-11-28 22:43 被阅读0次

    Charles

    优点

    1. 通过设置 http(s) 代理请求方式抓到请求,操作简单
    2. 可以模拟慢速,完全满足抓 http(s)网络请求场景包

    缺点

    只能抓 http(s) 的包,不能抓自定义协议的包,如果要分析到更底层的包,像TLS handShake 这种就没办法了

    wireShark

    功能相对强大一些,可以针对某个网卡抓到所有的的数据包,类似于 tcpdump, 也可以抓自定义协议的包,可以分析到 TLS handShake 包

    iOS 5 之后, iPhone 带了一个 Remote Virtual Interface (RVI) 功能,我们可以通过 RVI 把数据从 iOS 设备上转发到我们 Mac 机器上的一个虚拟网卡

    设置 RVI

    连接手机到电脑上, 获取到设备的 UUID,Xcode->Window-> Devices And simulators


    image.png

    在命令行中查看当前已有网络接口

    ifconfig -l
    lo0 gif0 stf0 en0 en1 en2 bridge0 p2p0 awdl0 utun0
    

    接下来使用 rvictl 创建虚拟网络接口

    $ rvictl -s dd55c5b6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Starting device dd55c5b6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX [SUCCEEDED] with interface rvi0
    

    再次查看网络接口

    $ ifconfig -l
    lo0 gif0 stf0 en0 en1 en2 bridge0 p2p0 awdl0 utun0 rvi0
    

    可以看到虚拟接口已经创建成功。

    如果要结束掉 RVI

    $ rvictl -x dd55c5b6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Stopping device >dd55c5b6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
    [SUCCEEDED]
    

    虚拟网络接口已经创建完毕,接下来使用抓包工具抓到原始包分析

    tcpdump

    RVI 设置好以后,我们可以在 Mac 上直接利用 tcpdump 查看数据包。

    sudo tcpdump -i rvi0 -w trace.pcap
    

    输入完密码后可以,抓包已经可以开始

    按下 Ctrl + G 可以结束抓包

    Wireshark

    tcpdump 很强大,但是可读性不太高,我们尝试用Wireshark 分析原始数据包。

    AirPlay 是Apple 私密协议,但也被很多商业破解收费,但每个版本 Apple 都有可能再加密一次,这边有一份 non-official AirPlay 协议,大致描述了 AirPlay 的一个过程,non-official AirPlay protocol, 接下来看一下 iOS 12 上 AirPlay 协议

    工具: airServer 可以将 手机通过 AirPlay 投到 mac 上

    以下分析过程都采用 wireShark
    启动 wireShark

    image.png

    选择抓 rvi0 网络接口数据,点击开始

    airplay 非正式版的协议

    发送端 :30.40.200.4
    接收端:30.40.202.17
    我们在 wireShark 上看下具体原始数据包:

    30.40.200.4 --> 30.40.202.17

    image.png

    发送端向接收端查询AirPlay 和 RAOP 的信息,拿到数据包原文如下:

     GET /info?txtAirPlay&txtRAOP HTTP/1.1
     Host: 30.40.202.17:5000
     Accept: */*
     Accept-Language: zh-cn
     Connection: keep-alive
     Accept-Encoding: gzip, deflate
     User-Agent: Connect%20/24 CFNetwork/975.0.3 Darwin/18.2.0
    

    接收端回复数据包:
    30.40.202.17 --> 30.40.200.4


    image.png
    HTTP/1.1 200 OK
    Date: Wed, 28 Nov 2018 09:14:22 GMT
    Content-Type: application/x-apple-binary-plist
    Content-Length: 1373
    
    plist   
    �
    '01245689:8XfeaturesTnameXdisplays\audioFormatsZtxtAirPlayRvv[statusFlags_keepAliveLowPower]sourceVersionWtxtRAOPRpk_keepAliveSendStatsAsBodyXdeviceIDUmodel^audioLatenciesZmacAddressJÿ÷Vzifanx¡Ú !"# $%&_primaryInputDeviceXrotation]widthPhysicalTedid[widthPixelsTuuid^heightPhysical\heightPixels[overscanned  Oÿÿÿÿÿÿ. ¥!xo±§UL%PTï@ °4p0 6KÏüColor LCD
       Ð#@_$06102ea0-7b0f-4305-984b-974f677a150b#@à¢(.Ó)*+,--Ttype_audioInputFormats_audioOutputFormatsdÿÿüÓ)*+/--eOÎdeviceid=A4:5E:60:D1:1F:E8features=0x4A7FFFF7,0xE  flags=0x4model=AppleTV5,3Cpk=9195e133456397ab3e06e35f85f4799b69f706dfff3b0ef60be95c139f7b60cf'pi=2dfee922-3348-446d-a06d-3ff4be1e651fsrcvers=220.68vv=2 V220.68O¯
    cn=0,1,2,3da=trueet=0,3,5ft=0x4A7FFFF7,0xEmd=0,1,2
    am=AppleTV5,3Cpk=9195e133456397ab3e06e35f85f4799b69f706dfff3b0ef60be95c139f7b60cfsf=0x4tp=UDPvn=65537   vs=220.68vv=2_@9195e133456397ab3e06e35f85f4799b69f706dfff3b0ef60be95c139f7b60cf _A4:5E:60:D1:1F:E8ZAppleTV5,3¢;@Ô<)=> ,? _outputLatencyMicrosYaudioType_inputLatencyMicrosWdefaultÔ<)=> /? +49BOZ]i}±ºÀÏÚãêì-2>CR_kmnpóü#%./29>RginuwHJLMT
    

    里面包含了很的信息我们都可以解析。

    相关文章

      网友评论

          本文标题:iOS 真机抓包方式

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