Mac OS X 在捕捉AppLAN通信包
Mac OS X 在捕捉AppLAN通信包
一.拍摄模式
由于工作关系。经常要分析App wifi通讯协议。我的开发电脑是Mac Book.
大体有例如以下几种模式:
+ App与server进行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 选项”设置这个虚拟路由器的热点名,password
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 .
首先下载
http://xquartz.macosforge.org/downloads/SL/XQuartz-2.7.7.dmg
执行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功能实现相同机制,详细參见
http://www.cnblogs.com/94YY/archive/2012/03/03/2378865.html
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i ').text(i));
};
$numbering.fadeIn(1700);
});
});
版权声明:本文博主原创文章。博客,未经同意不得转载。
Mac OS X 在捕捉AppLAN通信包的更多相关文章
- Mac OS X上使用Wireshark抓包
Wireshark针对UNIX Like系统的GUI发行版界面采用的是X Window(1987年更改X版本到X11).Mac OS X在Mountain Lion之后放弃X11,取而代之的是开源的X ...
- 在Mac Os(苹果)上用手机抓包软件Charles抓取微信小程序中的高清无水印视频
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_118 手机抓包是一名测试工程师常备的技能,比如我想查看一个接口请求的参数.返回值,还有移动设备上的http请求.https请求,这 ...
- Mac OS X:禁止崩溃报告-CrashReport
Mac OS X:禁止崩溃报告 崩溃报告就是CrashReport 至于官方的有关CrashReport的文档在Technical Note TN212 . 一般的默认情况下,当一个应用程序因为各种原 ...
- 获取 AppStore 中 应用 的 IPA 包文件(Mac OS 13+)
在 Mac OS 12.7 之前,可以通过 iTunes 直接下载 App Store 中应用的 IPA 包,可以提取其他应用的资源图片,查看信息等操作.之后 苹果 公司禁用了这一功能,不能直接通过 ...
- Mac os 安装 alipay-sdk-python 3.3.92错误 line 278,其实是另一个依赖包pycrypto安装有问题。
日期2019.7.17解决的问题. 系统mac os 10.14.5 python 3.6 django 1.11 要安装alipay-sdk-python 3.3.92错误 line 278, in ...
- Mac OS X 背后的故事
Mac OS X 背后的故事 作者: 王越 来源: <程序员> 发布时间: 2013-01-22 10:55 阅读: 25840 次 推荐: 49 原文链接 [收藏] ...
- Mac OS X系统下利用VirtualBox安装和配置Windows XP虚拟机
准备工作 下载并安装VirtualBox for Mac到https://www.virtualbox.org/wiki/Downloads下载VirtualBox <版本> for OS ...
- 【Xamarin挖墙脚系列:mac 终端 常用命令+Mac OS X的快捷键+beamoff 】
原文:[Xamarin挖墙脚系列:mac 终端 常用命令+Mac OS X的快捷键+beamoff ] 基本命令 1.列出文件 ls 参数 目录名 例: 看看驱动目录下有什么:ls /S ...
- 一、React Native 搭建开发环境(1)(Mac OS - IOS项目)
React Native是Facebook推出的一个开发IOS和安卓APP的技术.至于更多的详情,这里不再描述,大家可以自行百度它的定义. 目的: 由于我想在一台电脑上同时开发IOS和Android两 ...
随机推荐
- ServiceCallSite
ServiceCallSite 通过上一篇的介绍我们应该对实现在ServiceProvider的总体设计有了一个大致的了解,但是我们刻意回避一个重要的话题,即服务实例最终究竟是采用何种方式提供出来的. ...
- 三点半们耐热i哦好家哦i囧囧【
http://pan.baidu.com/share/link?shareid=3011665141&uk=338692646&third=15 http ...
- 解决方式:QSqlDatabase: an instance of QCoreApplication is required for loading driver plugins
在用QSqlDatabase时遇到报错QSqlDatabase: an instance of QCoreApplication is required for loading driver plug ...
- java中的特殊字符集合
JAVA中转义字符: 1.八进制转义序列:\ + 1到3位5数字:范围'\000'~'\377' \0:空字符 2.Unicode转义字符:\u + 四个 十六进制数字:0~65535 ...
- Maven + Jetty + Jersey搭建RESTful服务
IntelliJ IDEA + Maven + Jetty + Jersey搭建RESTful服务 本文参考以下内容: 使用Jersey实现RESTful风格的webservice(一) Starti ...
- poj2942 Knights of the Round Table,无向图点双联通,二分图判定
点击打开链接 无向图点双联通.二分图判定 <span style="font-size:18px;">#include <cstdio> #include ...
- 简介支持向量机热门(认识SVM三位置)
支持向量机通俗导论(理解SVM的三层境地) 作者:July .致谢:pluskid.白石.JerryLead.出处:结构之法算法之道blog. 前言 动笔写这个支持向量机(support vector ...
- 实现strcmp非常easy的思维
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> void strcom(char *s ...
- MySQL Full Join的实现
MySQL Full Join的实现 由于MySQL不支持FULL JOIN,以下是替代方法 left join + union(可去除反复数据)+ right join select * from ...
- 'Basic' attribute type should not be a persistence entity/a container
正在使用IDEA进行HIbernate开发时间,从datasource由此产生的实体映射不理想.需要手动更改. 投身于实体类的属性Setter时间.临时有红tip:'Basic' attribute ...