美文网首页python
抓取手机端原生tcp/udp数据包

抓取手机端原生tcp/udp数据包

作者: 小铭灬同学 | 来源:发表于2019-06-18 17:43 被阅读0次

    RVI(remote virtual interfacer)

    通过victl使ios设备在Mac中建立一个虚拟网络接口rvi,再用Tcpdump,Wireshark、Charles、Fiddler等对创建的接口进行抓包分析。

    今对于tcp和udp协议的包使用此方法+tcpdump记录一下:
    首先需要将你的手机通过Usb进行与Mac连接。通过iTunes查找你的设备UDID:288ee5ef6c3f8a5b*

    如何获取你的设备UDID:

    1. 打开iTunes软件,点击小手机图标地方。

    2. 点击左边菜单栏里面的摘要,出现设备信息。

    3. 点击序列号,会自动更换UDID,ECID,型号标识符。右击拷贝即可获取ios设备的UDID。

    开启虚拟网络接口
    ifconfig -l
    rvictl -s 288ee5ef6c3f8a5b*  # 结果: Starting device 288e* [SUCCEEDED] with interface rvi0
    ifconfig -l  # 对比两次config -l 的结果,多出一个虚拟接口
    
    开启tcpdump进行监听
    sudo tcpdump -i rvi0 -n -s 0 -w indump.pcap
    # 必须使用sudo,否则权限校验失败
    # -i 指定监听的接口
    # -n 不做主机名解析
    # -s len 设置数据包抓取的长度,默认65535字节
    # -w filename 指定抓包数据到文件中
    
    随心所欲的在手机上操作(想抓包的操作)
    操作完后记得关闭该虚拟接口
    rvictl -x 288ee5ef6c3f8a5b*  # 结果:Stopping device 288ee5ef6c3f* [SUCCEEDED]
    
    得到抓取的包,进行分析。需要转换
    brew install tcpreplay  # 通过tcprewrite进行转换,需要下载tcpreplay包
    tcprewrite --dlt=enet --enet-dmac=00:11:22:33:44:55 --enet-smac=66:77:88:99:AA:BB --infile=indump.pcap --outfile=outdump.pcap
    # --dlt 用enet以太网覆盖输出
    # --enet-dmac 覆盖目标以太网mac地址
    # --enet-smac 覆盖源以太网mac地址
    # --infile 输入的文件
    # --outfile 输出的文件
    
    最后用charles打开out dump.pcap文件就可以分析所抓到的包啦

    相关文章

      网友评论

        本文标题:抓取手机端原生tcp/udp数据包

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