whatsapp协议分析报告

WhatsApp协议分析报告

0、分析结论:

1.whatsapp音视频通信,必须在对方同意通信的基础上,才能够获取对方的外网IP地址, 经过对whatsapp 通信的流程分析,发现要想在对方不知情的情况下获取对IP地址,是无法实现的。具体详见下面的分析过程。

2.whatsapp语音通话是经过加密处理的,密钥在通话开始前经过XMPP协议传送给对方的, 所以通信过程音视频通信包是无法监听聊天内容的。具体详见下面的分析过程。



1、语音通信之获取对端外网IP 分析过程:

情景: ClientA 给 ClientB 发起语音通话请求, ClientB同意电话请求,   最终由CLientB终止电话请求!!

一、ClientA 给 ClientB 发起语音通话请求, ClientA端调用startCall 函数,

1.调用 generateE2EKeys 生成一个E2E的callkey, callkey用于通话的数据的加解密

2.发送一个calloffer请求给ClientB, 请求包中含有callkey

3.ClientB收到calloffer请求后, 读取出callkey,用于通话的数据的加解密,  

4.然后回复一个PreAccept一个回复包给ClientA。包中含有音视频的一些属性信息,用于ClientA初始化OpenSLSE 的Player的参数

4.ClientA 收到PreAccept请求包信息,初始化,为通话做准备工作。  然后等待ClientB的选择:同意通话,还是拒绝通话。

二、ClientB:同意通话请求 --- Client端调用acceptCall

1.调用audioStream启动ClientB的通信从操作,SRTP的操作,OPENSL音频方面操作

2.发送Accept回复包给ClientA, Accept包含,ClientB的外网IP地址--endpoints,  音视频的编码格式--encoding, 音频的样本采集率:rate

3.ClientA 收到Accept包,调用nativeHandleCallOfferAccept 函数,收到对端的外网IP地址,然后建立P2P连接,连接成功开始通话

综上分析: 必须需要ClientB同意通话,才能拿到用户ClientB的外网IP地址,所以要实现静默方式获取对端的IP地址是不可能是事情。

2、语音通信之语音信息加解密   分析过程:

1.WhatsApp的语音通信使用的是SRTP协议进行传输的,如下图所示:

2.WhatsApp语音数据在网络传输前经过两次加密, 一次是WhatsApp语音数据的加密, 二是SRTP传输协议内部加密。 两次加密使用都是对称加密算法, 两次加密的密钥都来源于一个32位随机变量Callkey。而callkey 根据上文分析师在通话前Call-Offer请求包传递的。

综上所述: 无法通过是解密语音数据包来实现对语音的监听的!!!


null

时间: 2024-10-11 19:56:22

whatsapp协议分析报告的相关文章

BT协议分析(1)—1.0协议

简述 BT下载是采用P2P的下载方式,下载的大致形式采用如下图所示,处于图示中心的称为Tracker服务器,其余称为Peer.   缺点 1.资源的安全性 2.资源的实效性(没有上传者则BT也将失效) 3.版权 协议分析 对BT协议(1.0)的分析主要包含4个部分: 1.种子文件的分析 2.同Tracker服务器的通讯(采用HTTP协议) 3.同其他peer(配合/协同者)的通讯(采用TCP协议) 4.总结 分析前的了解 在这些分析之前,需要先了解两点BT协议采用的基础: 1.BT协议中采用的单

NetAnalyzer笔记 之 二. 简单的协议分析

[创建时间:2015-08-27 22:15:17] NetAnalyzer下载地址 上篇我们回顾完了NetAnalyzer一些可有可无的历史,在本篇,我决定先不对NetAnalyzer做介绍,而是先要了解一些关于构建NetAnalyzer的基础知识,如系统中可以分析的一些网络协议,了解它们的分布方式,字段含义等.在了解了协议的基础上,开始对Winpcap进行一些介绍,在这过程中,学习配置Winpcap的开发环境,做一些简单的数据采集程序.第三部分着重介绍过滤表达式的一些基本语法结构.写下来则要

RTP协议分析

整理记录 版本号 时间 内容 整理人 V1.0 2008-03-31 RTP协议分析初稿 彭令鹏 RTP协议分析 第1章.     RTP概述 1.1.  RTP是什么 RTP全名是Real-time Transport Protocol(实时传输协议).它是IETF提出的一个标准,相应的RFC文档为RFC3550(RFC1889为其过期版本号).RFC3550不仅定义了RTP,并且定义了配套的相关协议RTCP(Real-time Transport Control Protocol,即实时传输

协议分析TMP

最近闲来有事, 分析了一个非常低端(非常低端的意思是说你不应该对她是否能取代你现有的QQ客户端作任何可能的奢望,她只是一个实验性的东西)的手机QQ的协议, 是手机QQ3.0,      所用到的TCP/HTTP通信协议版本是1.4, 也不知道是哪一年release的了, 至少有七八年的历久了吧, 反正就是: 功能非常弱! 主要的分析原因是想学学网络方面的编程经验(这是我第2次弄socket编程 :-) ), 以及学学怎么抓包分析. 主要用到的工具软件 手机QQ3.0: http://www.ru

编译2.6.35内核安装L7-filter2.23实现七层过滤及QQ协议分析

一.前言 本文,接着上篇<Linux下Netfilter/IPTables防火墙案例分析>来说说七层过滤. iptables等防火墙工作在四层及四层以下,都是通过数据包过滤或能够基于传输层状态检测的. 但是一般企业应用的时候,很多场景下,需要提供屏蔽不良内容.封堵某些应用层软件的功能. QQ是一款最常用的即时通讯软件,但是很多情况下,它的使用会影响工作效率,所以有需求要把QQ屏蔽掉. 如果识别QQ的特征? IP检查,不行.因为它的服务器IP地址段有可能变化. 端口检查,不行.局域网必须放行向外

2015年8月数据安全漏洞分析报告

安华金和数据库攻防实验室(DBSec Labs)以月为单位,将高危漏洞汇总,形成分析报告,分享广大用户及合作伙伴. 8月报告核心观点 1.Web是数据泄露的主要渠道 2.互联网成为数据泄漏频发地 3.8月常见数据泄漏原因 4.针对数据泄漏的防范手段 报告正文 2015年8月,我们总结发布了102个数据泄密高危漏洞,这些漏洞分别来自漏洞盒子.乌云.补天等平台,涉及11个行业,企业机构.互联网.交通运输.教育.金融保险.旅游.能源.社保公积金.医疗卫生.运营商.政府.102个漏洞中,其中绝大多数泄露

[转载] TLS协议分析 与 现代加密通信协议设计

https://blog.helong.info/blog/2015/09/06/tls-protocol-analysis-and-crypto-protocol-design/?from=timeline&isappinstalled=0 最近发现密码学很有意思,刚好还和工作有点关系,就研究了一下,本文是其中一部分笔记和一些思考. 密码学理论艰深,概念繁多,本人知识水平有限,错误难免,如果您发现错误,请务必指出,非常感谢! 本文禁止转载 本文目标: 学习鉴赏TLS协议的设计,透彻理解原理和重

RTP协议分析(转自:http://blog.csdn.net/bripengandre/article/details/2238818)

RTP协议分析 第1章.     RTP概述 1.1.  RTP是什么 RTP全名是Real-time Transport Protocol(实时传输协议).它是IETF提出的一个标准,对应的RFC文档为RFC3550(RFC1889为其过期版本).RFC3550不仅定义了RTP,而且定义了配套的相关协议RTCP(Real-time Transport Control Protocol,即实时传输控制协议).RTP用来为IP网上的语音.图像.传真等多种需要实时传输的多媒体数据提供端到端的实时传输

金融行业安全漏洞分析报告

报告介绍 互联网+时代的到来,人们充分享受新时代科技创新成果的便利同时,万物互联带来的信息安全风险也日渐提高,信息泄密事件层出不穷,在资金体量庞大.用户信息集中.安全隐患影响深远的金融领域,所面临的安全问题尤为凸显.人们真切地感知到,原有的金融服务模式被颠覆,网银.第三方支付.互联网金融等新兴模式异军突起.用户也在这些新的业务模式下,将自身姓名.***号码.手机号码等身份认证信息与业务紧密绑定关联.所以说,互联网的发展为传统的信息防御体系划开了一道口子,打破看似牢不可破的安全防护状态,直逼用户核