Fetion2008 分析 Part3:会话

概述:

   近日无事的时候,学着用抓包工具分析了 飞信2008 奥运版 (版本:3.3.0370),准备写个控制台的小程序.之前我反编译过FetionFx.exe.(版本:3.2.540.0)做过一个插件一类的东东. 看了overred 是抓包分析后写了一个客户端的,也学着做了一个.(这里多谢overred).打算把分析过程发上来.和大家一起动手做一个.这里不会发源代码,顶多发些代码片断,还是自己做出来的有成就感嘛,才有意思.再者代码写的太丑.

author:http://solo.cnblogs.com

会话:

只分析了文本的会话.基于文本消息的会话是服务器转发的,其他传文件,语音应当是UDP,用P2P方式实现的

下面是一个完整的会话过程:

---------------------主动发信息邀请--------------------------------
192.168.79.171:4266 >>>>>>>> 221.176.31.4:8080  14:15:36
I fetion.com.cn SIP-C/2.0
F: 111111111
I: 10
Q: 1 I
T: sip:222222222@fetion.com.cn;p=4461
K: text/html-fragment
K: multiparty
K: nudge
L: 139

v=0
o=-0 0 IN 192.168.79.171:4266
s=session
c=IN IP4 192.168.79.171:4266
t=0 0
m=message 4266 sip sip:111111111@fetion.com.cn;p=2256

---------------------Trying --------------------------------
192.168.79.171:4266 <<<<<<<< 221.176.31.4:8080  14:15:36
SIP-C/2.0 100 Trying
Q: 1 I
T: sip:222222222@fetion.com.cn;p=4461
I: 10

------------------------服务器返回OK-----------------------------
192.168.79.171:4266 <<<<<<<< 221.176.31.4:8080  14:15:40
SIP-C/2.0 200 OK
Q: 4 B
T: sip:222222222@fetion.com.cn;p=4461
I: 9

-------------------------对方应答邀请----------------------------
192.168.79.171:4266 <<<<<<<< 221.176.31.4:8080  14:15:40
SIP-C/2.0 200 OK
Q: 1 I
K: text/html-fragment
K: multiparty
K: nudge
T: sip:222222222@fetion.com.cn;p=4461
I: 10
L: 129

v=0
o=-0 0 IN 127.0.0.1:8001
s=session
c=IN IP4 127.0.0.1:8001
t=0 0
m=message 8001 sip sip:222222222@fetion.com.cn;p=4461

--------------------------Ack表示收到---------------------------
192.168.79.171:4266 >>>>>>>> 221.176.31.4:8080  14:15:40
A fetion.com.cn SIP-C/2.0
I: 10
Q: 1 A
T: sip:222222222@fetion.com.cn;p=4461
F: 111111111

--------------------------发消息---------------------------
192.168.79.171:4266 >>>>>>>> 221.176.31.4:8080  14:15:53
M fetion.com.cn SIP-C/2.0
F: 111111111
I: 10
Q: 2 M
T: sip:222222222@fetion.com.cn;p=4461
C: text/html-fragment
K: SaveHistory
L: 78

<Font Face='SimSun' Color='-16777216' Size='10.5'>测试一下发消息</Font>
-----------------------服务端对ACK应答对方已收到------------------------------
192.168.79.171:4266 <<<<<<<< 221.176.31.4:8080  14:15:57
SIP-C/2.0 200 OK
Q: 2 M
T: sip:222222222@fetion.com.cn;p=4461
I: 10
D: Thu, 25 Dec 2008 06:11:24 GMT
XI: 7b6091180be049d6ab5c0ac307d07b5e

-------------------------发送Bye请求----------------------------
192.168.79.171:4266 >>>>>>>> 221.176.31.4:8080  14:16:04
B fetion.com.cn SIP-C/2.0
F: 111111111
I: 10
Q: 3 B
T: sip:222222222@fetion.com.cn;p=4461

--------------------------服务端应答Bye请求---------------------------
192.168.79.171:4266 <<<<<<<< 221.176.31.4:8080  14:16:06
SIP-C/2.0 200 OK
Q: 3 B
T: sip:222222222@fetion.com.cn;p=4461
I: 10

--------------------------会话结束-----------------------------------------

其中.I(callID)在每有一个新的会话(Fetion的代码用converstation对象)会加一,Q(cseq)在会话中每一次交互加一

比如客户端通过R请求告诉服务器一直连线,I保持不变,Q递增.这里所有R请求被认为一个会话.

R fetion.com.cn SIP-C/2.0
F: 111111111
I: 1
Q: 6 R

posted on 2009-01-06 10:39  Haozes  阅读(1070)  评论(0编辑  收藏  举报