Mac OS X 下捕获App局域网通讯包

Mac OS X 下捕获App局域网通讯包一.抓包模式

因为工作关系,经常要分析App wifi通讯协议。我的开发电脑是Mac Book. 大体有如下几种模式: + App与服务器进行http通讯,这种情况下Http调试神器Charles 就派上用场。(这个参见本人其它博文) + App 与智能设备进行Wifi设备,一般是TCP包居多,往往不需要联入互联网,只是局域通讯。它需要用抓包软件Wireshark.

本文就是这种局域网Tcp模式,这种模式下无法使用Charles代理器模式,直接在电脑上只能抓自身的wifi包,无法抓到手机与智能设备之间的通讯。

后来综合找到一种可行模式,即Mac OS X打开互联网共享充当一个路由器。然后手机和智能设备均接这个虚拟路由器进行通讯,在Mac OS X 运行Wireshark 来捕获所有经过这个虚拟路由器的包。

二.打开Mac OS X 互联网共享

在英文版也称为Air port 共享。 它需要几个条件: 1. 以太网需接入互联网,通常就是用网线接到自家的真正的路由器上,即使通讯无需互联网,也要如此,否则无法调出互联网共享模式。

智能设备能使用路由器通讯(一般这个是标准功能)

打开方法如下:

打开系统偏好设置–>共享

在互联网共享中,作如下设置 1. 选择以太网作路由器WAN口联接。 2. 选择“Wi-Fi”共享给其它设备 3. 点击”Wifi 选项”设置这个虚拟路由器的热点名,密码 4. 点击”互联网共享“打开虚拟路由器

启动后,在左上角的Wifi 标志会出现一个小箭头,表示进入wifi共享模式

三.安装wireshark

wireshark 是基于Linux X11图形界面的强大网络工具,因此天然是支持Linux.随着X11 被移植到windows和Mac OS X。WireShark也支持多个操作系统。

Mac OS X 10.10 安装X11应用程序XQuartz

苹果最早在10.3 加入X11支持库,但是在10.10 又移走了对X11的支持,因此开发者必须手工先安装x11支持库 XQuartz .

首先下载 运行dmg安装,但很奇怪没有在应用程序栏出现图标。重启机器。 但它是安装在 /Applications/Utilities/XQuartz.app 之下,,因此你可以手工打开这个应用程序,它会出现一个终端窗口。

安装WireShark

这里 https://www.wireshark.org/download.html 下载mac版安装

在XQuartz终端下执行即可执行

sudo wireshark

注意这里的sudo是必须的,否则没有权限使用wifi的设备结点。

这是运行界面。

注意在Mac Book 下,实际的wifi设备结点是 en1.只有捕获这个网卡的包,才是手机和智能设备之间的包。

开始抓包吧!

这样当你的手机操作时,这时能就看到它的通讯包了!

四.后记

本架构也能捕获App移动互联网http通讯包。但是这一架构过于复杂,需要以太网,wifi,以及WireShark 的界面过于复杂。因此用App作http通讯时,抓包还是用Charles 简单好用(只需wifi即可)

windows7 也能通过虚拟wifi功能实现同样机制,具体参见

他们不计后果的彼此拥抱,握紧双手,怕天会亮,怕爱会走。

Mac OS X 下捕获App局域网通讯包

相关文章:

你感兴趣的文章:

标签云: