iOS中对Socket连接抓包

作者: Tidus | 来源:发表于2016-12-26 18:16 被阅读1863次

前言

在平常开发中我们经常会用Charles对手机的Http/Https请求进行抓包,但Charles不支持对socket请求抓包,下面将会介绍使用Wireshark结合 rvictl 命令对手机上的Socket请求进行抓包。

1. Wireshark

Wireshark是类似于Charles的网络抓包工具,是开源且免费的。最新的Wireshark可以到官网下载。
Wireshark官网

安装成功后打开

2. RVI

RVI(Remote Virtual Interface)是iOS 5后,apple引入的新特性,只需要将iOS设备使用USB数据线连接到Mac上后,以iOS设备的UDID作为参数使用rvictl工具在Mac中建立虚拟网络接口rvi,就可以在Mac上对这个接口进行流量监听,所监听的流量包括WiFi和4G流量。

获取设备UDID
首先将我们的设备通过USB连接到电脑上,然后在iTunes或者Xcode中查看设备的UDID。然后在终端中以刚查到的UDID作为参数,输入rvictl -s命令建立虚拟接口。
//在终端中使用rvictl -s命令建立虚拟接口
Tidus-PC-MacBook-Pro:/ Tidus$ rvictl -s UDID
  //创建成功
  Starting device UDID [SUCCEEDED] with interface rvi0

查看已创建的接口。

//查看已创建的虚拟接口
Tidus-PC-MacBook-Pro:/ Tidus$ rvictl -l
  Current Active Devices:
    [1] 1c3c4398786a88b4de07b14e505e929962e73894 with interface rvi0

最后通过下面命令停止监听。

//停止监听
Tidus-PC-MacBook-Pro:/ Tidus$ rvictl -x UDID
   Stopping device UDID [SUCCEEDED]

3. 监听

建立接口成功后在Wireshark上就能看到刚创建的rvi0了,双击它开始监听。

rvi0

并可以通过自定义捕获过滤器和显示过滤器来调整最终结果,例如下面就是定义了一个当请求的源ip或者目标ip为54.222.129.134时则过滤掉的显示过滤器。
点击菜单中的分析(analyze)- > 显示过滤器打开过滤器编辑界面,新建过滤器,在右边输入:

!(ip.src == 54.222.129.134 || ip.dst == 54.222.129.134)
新建显示过滤器

保存后就能在外面点击小标签来应用我们的显示过滤器了~

显示过滤器

相关文章

  • iOS中对Socket连接抓包

    前言 在平常开发中我们经常会用Charles对手机的Http/Https请求进行抓包,但Charles不支持对so...

  • [转]iOS中对Socket连接抓包

    前言在平常开发中我们经常会用Charles对手机的Http/Https请求进行抓包,但Charles不支持对soc...

  • 关于fiddler抓包

    2017.11.2 关于fiddler抓包 用fiddler连接ios: 按照网上的方法建立连接后,“safari...

  • iOS 使用GCDAsyncSocket及粘包、半包处理

    iOS开发中可以使用开源库CocoaAsyncSocket简化socket开发 **1.连接socket ** 2...

  • ios开发中的包的处理

    IOS 详解socket编程[oc]粘包、半包处理 在做socket编程时,如果是做tcp连接,那就不可避免的会遇...

  • iOS Charles使用

    Charles iOS抓包Https,iOS最新系统抓包 Charles抓包入门(Mac/iOS,HTTP/HTT...

  • 2018-03-12

    ios开发Socket简单使用 建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(AP...

  • 即时通讯

    iOS即时通讯,从入门到“放弃”?socket的半包,粘包与分包的问题iOS 处理socket粘包问题iOS___...

  • 知识点小总结(一)

    禁止抓包 内存知识 1.禁止抓包 通过设置 connectionProxyDictionary 来指定了会话连接中...

  • iOS抓包&&安卓抓包

    Mac下使用Charles iOS 抓包Mac下使用Chrome 安卓抓包 iOS抓包 1、下载Charles ...

网友评论

  • 踏云小子:感谢楼主,抓是抓到咯,但是看不懂
  • 顾顾314:作者您好,您可以帮忙把标题和您前言中的这句话“ 但Charles不支持对socket请求抓包,下面将会介绍使用Wireshark结合 rvictl 命令对手机上的Socket请求进行抓包。”解释一下吗?对这两处很是迷糊,谢谢了!
    Tidus:意思就是Charles只能监听http的流量呀,要监听socket的流量需要上述文章中的方法
  • jianshu小赵:给你个赞
  • 2d2d3de6ac8d:赞了才工作
    Tidus:@cheriqu 你就好啦,10点才开始上班

本文标题:iOS中对Socket连接抓包

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