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两 ...
随机推荐
- 关于WHERE后面不能放聚合函数(如SUM(...))的解决办法
我们在编写SQL语句的时候,常常会遇到需要将SUM()放到WHERE后面作为条件查询,事实证明这样是无法执行的,执行会报异常:聚合不应出现在 WHERE 子句中. 那么如何解决呢,使用HAVING关键 ...
- CentOS 7 安装MySql Server 5.6
1. 安装MySql Server 在/etc/yum.repos.d/目录下添加以下文件mysql-community.repo文件,内容如下: [mysql56-community] name=M ...
- 让你提前认识软件开发(35):怎样改动SQL脚本以完毕需求?
第2部分 数据库SQL语言 怎样改动SQL脚本以完毕需求? SQL脚本的改动和C语言代码的改动流程是一样的,都要遵循下面步骤: 第一步,阅读需求.弄清楚自己要完毕什么功能. ...
- 每天一个JavaScript实例-html5拖拽
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- VMware vSphere 服务器虚拟化之二十七桌面虚拟化之View中使用Thinapp软件虚拟化
VMware vSphere 服务器虚拟化之二十七桌面虚拟化之View中使用Thinapp软件虚拟化 VMware ThinApp 应用程序虚拟化软件是无代理解决方案,通过将应用程序隔离并封装为EXE ...
- linux下用shell删除三天前或者三天内的文件
说明:+n 大于 n, -n 小于 n, n 相等于 n. find / -amin -30 -ls # 查找在系统中最后30分钟访问的文件find / -atime -2 -ls # 查找在系统中最 ...
- 利用SVNKit进行版本库的树的导出
public List searchByTree(String userName,String passwd,String SVNServerUrl,String dirUrl){ //这里有点像 s ...
- Cordova CLI源码分析(四)——创建工程
在第一篇分析我们曾经举例,创建一个新工程, cordova create hello hellotest com.xxx.hellotest cli.js文件分析命令行参数后,会走到 else if ...
- Xcode6在10.9.4上面crash解决
具体请看我的evernote 这里: 在10.9.4系统上面直接安装xcode6的beta3.和平时一样, 1.将beta3拖拽到application文件夹中. 2.等待copy完毕,执行xcode ...
- 飘逸的python - 发送带各种类型附件的邮件
上一篇博文演示了如何发送简单的邮件,这一篇将演示如何发送各种类型的附件. 基本思路就是,使用MIMEMultipart来标示这个邮件是多个部分组成的,然后attach各个部分.如果是附件,则add_h ...