FACETIME分析
来源:互联网 发布:magic launcher 知乎 编辑:程序博客网 时间:2024/04/30 06:19
FACETIME 分析
要了解的问题:
1、FACETIME分辨率,帧率,带宽
2、使用哪些协议
3、音视频编解码
4、
参考Packetstan的博客,我也写一些对facetime的分析
http://www.packetstan.com/2010/07/special-look-face-time-part-1.html
我的测试环境:
iPad 2,WiFi only, version5.0.1
MacBook Pro, Mac OSX, version 10.6.8
Facetime onMacBook, version 1.0.3 (167)
Facetime on iPad2
Network: 10/100MLAN
iPad2 IP:192.168.1.77
MacBook IP:192.168.1.75
一开始从MacBook上使用facetime呼叫iPad上的facetime,在iPad端进行抓包分析
在Wireshark中使用statistics -> Protocol Hierarchy进行插看,如下图所示:
可以看到使用不同的协议
Wireshark没有按时间排序的功能,可以通过Statistics -> Conversation 进行查看:
可以看到一些IP地址
IP ADDR
Name
Note
17.149.36.162
63.80.4.65
17.173.255.24
17.158.36.57
通过网络封包,我们可以粗略的给出会话的过程:
Step
Node
Description
1
17.149.36.162 -> 192.168.1.77
TCP
2
192.168.1.77 -> 17.149.36.162
TCP
3
192.168.1.77 -> 17.173.255.222
UDP
4
192.168.1.77 -> 17.173.255.24
TCP
5
192.168.1.77 -> 58.246.5.107
STUN
7
17.149.36.162 ->192.168.1.77
17.149.36.162应该就是服务器了,它告诉192.168.1.77下一步向192.168.1.75发送STUN数据包,该服务器经查询位于美国
6
192.168.1.77 -> 17.173.255.222
UDP port: 16384, 16385
192.168.1.77 -> 17.173.255.223
UDP port: 16386
192.168.1.77 -> 192.168.1.75
STUN, 判断这两台设备是否在同一个局域网内
192.168.1.75 -> 192.168.1.77
SIP INVITE, 协商结果,audio X-AAC, video X-H264, 640x480, 20fps
17.173.255.223 -> 192.168.1.77
UDP
17.173.255.222 -> 192.168.1.77
UDP, 估计是STUN
192.168.1.75 -> 192.168.1.77
SIP MESSAGE, 内容看不出
17.173.255.223 -> 192.168.1.77
RTCP
17.173.255.222 -> 192.168.1.77
RTCP
192.168.1.77 -> 17.173.255.222
RTCP
192.168.1.77 -> 17.173.255.223
RTCP
192.168.1.77 <-> 192.168.1.75
RTP, 这里要注意的是,audio和video都使用同样的端口来接收和发送,这种情况在其它SIP通话中没有看到过
SIP信令:
SIP Invite:
INVITE sip:user@192.168.1.77:16402 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.75:16402;branch=z9hG4bK010018935c727081
Max-Forwards: 70
To: "1002" <sip:user@192.168.1.77:16402>
From: "1001" <sip:user@192.168.1.75:16402>;tag=1395526538
Call-ID: 899852ee-25f8-11e1-a130-e444a9854012@192-168-1-75
CSeq: 1 INVITE
Contact: <sip:user@192.168.1.75:16402>;isfocus
User-Agent: Viceroy 1.4.2
Content-Type: application/sdp
Content-Length: 725
v=0
o=frankwang 0 0 IN IP4 192.168.1.75
s=1001
c=IN IP4 192.168.1.75
b=AS:2000
t=0 0
a=FLS;VRA:0;RVRA2:1;AS:2;MVRA:0;MS:-1;LF:-1;CR:3;LTR;CABAC;PR;AR:8/5,2/3;
a=hwi:1028:2:2300
a=multipoint:1
a=di:10.6.8/MacBookPro8,1
m=audio 16402 RTP/AVP 105 0
a=rtcp:16402
a=rtpmap:105 X-AAC_ELD/22050
a=rtpmap:0 PCMU/8000
a=rtpID:4230331286
a=fmtp:AAC SamplesPerBlock 480
a=au:1
m=video 16402 RTP/AVP 126
a=rtcp:16402
a=rtpmap:126 X-H264/90000
a=framerate:30
a=RTCP:AUDIO 16402 VIDEO 16402
a=fmtp:126 imagesize 0 rules 30:640:480:640:480:30
a=rtpID:294529821
a=imageattr:126 send [x=320,y=240,fps=30] [x=640,y=480,fps=30] [x=1280,y=720,fps=30] recv [x=320,y=240,fps=30] [x=640,y=480,fps=30] [x=1280,y=720,fps=30]
SIP 200 OK:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.75:16402;branch=z9hG4bK010018935c727081
To: "1002" <sip:user@192.168.1.77:16402>;tag=174219200
From: "1001" <sip:user@192.168.1.75:16402>;tag=1395526538
Call-ID: 899852ee-25f8-11e1-a130-e444a9854012@192-168-1-75
CSeq: 1 INVITE
Contact: <sip:user@192.168.1.77:16402>;isfocus
User-Agent: Viceroy 1.5.0/GK
Content-Type: application/sdp
Content-Length: 601
v=0
o=GKVoiceChatService 0 0 IN IP4 192.168.1.77
s=GKVoiceChatServiceSession
c=IN IP4 192.168.1.77
b=AS:802
t=0 0
a=FLS;VRA:0;MVRA:0;RVRA1:1;AS:2;MS:-1;LTR;CABAC;CR:3;LF:-1;AR:4/3,3/4;
a=bandwidthDetection:NO
a=di:5.0.1/K93AP
m=audio 16402 RTP/AVP 105
a=rtcp:16402
a=rtpmap:105 X-AAC_ELD/22050
a=fmtp:AAC SamplesPerBlock 480
a=rtpID:3067779309
a=au:65792
a=fmtp:105 block 480
m=video 16402 RTP/AVP 126
a=rtcp:16402
a=rtpmap:126 X-H264/90000
a=fmtp:126 imagesize 0 rules 15:320:240:320:240:15
a=rtpID:1606236999
a=imageattr:126 send [x=640,y=480,fps=30] recv [x=640,y=480,fps=30]
在SIP INIVTE之后,有四个MESSAGE,每个MESSAGE中包含有“SKESeq”字段,依次是“SKESeq: 1;0”, “SKESeq: 2;0”, “SKESeq: 3;0”, “SKESeq: 4;0”, 不知有什么作用。
后面就是RTCP和RTP。RTP数据是两台设备点对点传送,RTCP是跟“17.173.255.22”和“17.173.255.23”之间发送。
使用videosnarf将RTP提取出来,然而mplayer无法播放。推测是经过加密或者是不是标准的H.264的码流。
带宽占用:
通过wireshark分析(Statistics-> Conversations)可以看出,iPad2发出的RTP (Audio+video)占用的带宽为512K,Macbook发出的RTP(Audio+Video)带宽占用为361K。
Reference:
http://herot.typepad.com/cherot/2010/06/iphone-facetime-protocol.html
http://blog.imtc.org/index.php/2010/06/09/the-technology-behind-apples-facetime-standards/
- FACETIME分析
- 苹果的FACETIME
- facetime使用普及
- iOS调用Facetime App
- iPhone4 FaceTime 联通官方教程
- Facetime的扣费陷阱
- ios开发 调用系统的facetime
- DIY WIFI信号实现iPhone设备的Facetime功能
- Iphone4与IPhone 4S 的Facetime使用和激活
- 激活facetime和imessage国际短信00447537410217不扣费?
- 再获专利!苹果为企业开发专业版FaceTime
- Mac FaceTime开启后其他声音变小解决
- 【黑苹果】Mac下修复iMessage,FaceTime等无法登陆
- 苹果iMessage和FaceTime服务当前已全部挂掉(苹果更新:系统已经恢复)
- 解决Macbook开机iCloud,FaceTime,iMessage不停输入密码的问题
- gentoo on macbook pro driver for the Broadcom Facetime HD webcam
- 简单谈谈WIFI CALLING,VOLTE,还有FaceTime audio,以及为什么被阉割!
- 苹果AR新专利马上登陆Facetime ,使用光场相机技术
- 静默安装
- CCS3.3:error: symbol referencing errors - './Debug/*.out' not built
- WinRAR各版本许可注册码
- jboss seam 远程执行漏洞利用步骤
- 使用NSOperation和NSOperationQueue启动多线程
- FACETIME分析
- java实现 中缀转后缀
- 新博客 试试
- java正则表达式
- sencha-touch 开发者学习网站
- 当EditText是多行文本时, 光标如何设置在从左上角
- 【C#源代码】查询alexa全球,中国排名,google pr,google收录和百度收录及快照
- 新官上任应该做些什么
- 2011-12-15 ADM 使用