移动飞信android行为简单分析.docx

上传人:b****8 文档编号:10158403 上传时间:2023-02-08 格式:DOCX 页数:11 大小:407.52KB
下载 相关 举报
移动飞信android行为简单分析.docx_第1页
第1页 / 共11页
移动飞信android行为简单分析.docx_第2页
第2页 / 共11页
移动飞信android行为简单分析.docx_第3页
第3页 / 共11页
移动飞信android行为简单分析.docx_第4页
第4页 / 共11页
移动飞信android行为简单分析.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

移动飞信android行为简单分析.docx

《移动飞信android行为简单分析.docx》由会员分享,可在线阅读,更多相关《移动飞信android行为简单分析.docx(11页珍藏版)》请在冰豆网上搜索。

移动飞信android行为简单分析.docx

移动飞信android行为简单分析

手机飞信行为简单分析

谌侃20120827

一、实验环境

1.Android4.0.3

2.FetionforAndroidV4.0.0

3.Wireshark

二、基本理论:

1.飞信初始化先向服务器221.176.31.140的http服务器进行post,获取系统设置信息。

系统将返回各自服务的服务器地址及端口。

2.飞信的数据包都为TCP包,使用8000端口,所有数据在一条连接上。

3.因为是TCP包,因此会产生ACK包,即每次发送接收都为2个包,同时丢弃包的策略不在可行,或许可以尝试修改包的欺骗方式。

4.手机飞信的每个包出事两个字节,都是表示数据包字节数。

5.数据结构

以分隔符开始,分隔符结束,通常以00开始,00结束,分隔符包括

00,01,14,13,1a,19

前两个字节表示包长度。

分隔符1A后面跟随用户id如飞信id或手机号

分隔符0015表示发送0095表示响应+目的地

分隔符09后面跟随相应的参数如091FDigest***091A+用户id

分隔符0013表示包序号?

待定

其余待定

00000000005e0015060901133100091a3c313539.^......1...<159

0000001030313530353437323e3b69642d74797001505472>;id-typ

00000020653d6d6f62696c650015300026747970e=mobile..0.&typ

00000030653d22416e64726f6964222c76657273e="Android",vers

00000040696f6e3d22342e302e30220027323931ion="4.0.0".'291

0000005035333332373239353833001433005332729583..3.

包结构应该是

005e数据大小为94字节

00150615表示发送

0901

1331

00

091a3c31353930313530353437323e3b69….30手机号,idtype..

001530

0026747990….Type…

0027323931….随机数

001433

00结束符

三、具体行为分析:

(所有数字均为16进制,即71为0x71)

1.登陆

a)post/mnav/getnetSystemconfig.aspx获取到各个服务器信息主要221.176.31.144:

8000

b)接下来的所有消息都是在上面ip和端口下进行

c)登陆是通过HTTPDigestauthentication进行

登陆行为第一个包是移动端向服务器请求认证,(0015),提供用户的id(id跟在十六进制1a之后,手机号的格式,前后加<>,飞信号则直接使用号码),type(飞信所在系统版本,android或iphone),version(飞信版本号),随机数。

 

服务器接收请求后,会想移动端发出认证响应(0095),提供用户的id(id跟在十六进制1a之后,手机号的格式,前后加<>,飞信号则直接使用号码),Digestalgorithm,nonce以及时间。

移动端,继续向服务器进行请求(0015),可能包含用户id,但是一定包含认证相关信息,Digest,response。

同时提交用户相关的信息,如combinezlib,飞信版本号,手机信息,imsi,imei等信息。

并传递v4default等信息,请求获取用户列表等信息。

认证通过后,服务器进行相应(0095),包含SyncUserInfo。

之后,服务器向移动端发送相关用户信息(加密)。

服务器返回包

2.主动聊天(发出)

a)通过SIP协议

b)在移动客户端中限制字符个数最多400字(中英文字符均400)同时,发送一条消息不会跨包传输,一条消息,在一个TCP包内完成传输。

i.主动向服务器发出包(0015)标识发送消息(0606)目的地,数据类型text/plain发送者id,目的地sip:

****@;p=703(未分析)SaveHistory+发送内容如(helloworld)并以00结束

ii.服务器进行相应(0095),响应(android是0400c8iphone是0300c8)目的地(不一定有),发送者id,响应包(android是00143430iphone是001435)包序号(001339)结束符06

c)包如图

i.

d)群聊天,特征包相同,

i.发送包,只是目的地更改为sip:

群号码@

e)发送图片

i.00150606开始,uri类型text/html-fragment发送方id,目的id,SaveHistory,[….]

f)发送语音

i.0015050b开始,连续两次发送发送方id,字符串中带有amr

ii.之后的发送包无明显特征,但是响应包有如下特征:

1.以00950300c81a开始,加入发送方id并以000b结束

3.被动聊天(接收)

a)单人聊天

i.服务器发出标识包(01789c15)内容加密

ii.移动端发出响应(0095)android相应带上自己的id,iphone相应带上SaveHistory

iii.包如图

b)群聊天

i.服务器发出标识包(01789c13)内容加密

ii.移动端发出相应(0095)

iii.包如图

4.自己状态改变(隐身,忙碌)

i.一发一收

ii.移动端发出(0015)状态改变命令(android040b,iphone050b)自己的id,状态改变标记00c0c2c380+状态(343030在线,30隐身)以00e3e2e0结束

iii.

iv.服务器端发出响应(0095)(0400)用户id,相应状态改变(0037c1c2c380+状态)以00e3e2e1结束

v.如果是隐身,则还会响应,(0403)+用户id+00c2c380+PresenceChanged并以00e6e5e4e3e2结束

vi.包如图所示

5.用户下线

●一发一收

i.移动端发出(0015)下线指令(04090119)

ii.包的第2至第8字节是001504090114

6.心跳

●一发一收

i.包的第3至第8字节是:

001504090114

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 社交礼仪

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1