系列文章:转载自:
http://hi.baidu.com/nathan2007/blog/item/2e288fec5b69a83d27979158.html
作者:
nathan
以下分析均基于飞信的这一版本:Fetion 2006 beta 版本 2.1.0.0。
被迫开始用飞信(Fetion),痛苦啊,这玩意儿开发了几年(飞信博客上一家伙说参加飞信项目两年了),而且用的是.NET(工作量要比
C++小了去了),居然这么烂,也算是个奇迹了。。。。自己找点乐子,分析飞信的通信协议好了。。。这不是什么破解,俺也不是什么什么客,纯属无聊。
抓包看了一下,飞信是用了混合协议的:
1、基于HTTP(XML Web Services吧?)进行获取系统配置、更新程序、注册用户
2、基于HTTPS进行登录时密码验证
3、应用层协议是SIP协议,但不是标准的,估计是自创的?所有交互过程如发消息、短信通过SIP协议进行。
关于SIP,有巨多的RFC描述,飞信的SIP协议栈实现的是TCP、HTTP承载
1.TCP承载方式:连接服务器(目前是221.130.45.203)的8080端口,这时在客户端的“网络设置”中显示的是“TCP直接连接”,SIP信令直接就放在TCP的包中。
2.HTTP承载方式:连接服务器(目前是221.130.45.203)的80端口,采用POST方式,将信令包在POST请示中,这时在客户端的“网络设置”中显示的是“HTTP直接连接”
因为是TCP和HTTP承载,所以其包格式是非常清楚的,那么注意力就可以直接放到SIP协议或SIP信令上,详细的内容稍后再写。
总的来说,飞信协议是比较简单的,不对,准确地说法是比较规范和清晰,但协议本身是复杂的,另外:
1.
飞信的协议是明文,这一点如同其兄弟MSN,是不如QQ和RTX的,因此,通过飞信的交谈过程是可轻易截获的,通过很简单的工具,就可以截到同一网段上所
有人的交谈,估计会有人写Fetion Chat
Sniffer的,就跟MSN一样,假如有一天Fetion有那么流行......要不我写一个?:)
2.协议效率比较低,我加了近200人,一次登录过程要传递的数据量居然超过了230K,我靠。
3.状态有问题,presence处理得不太好好象,我在线别人却看到我离线,真是奇怪,而且一会儿发一个presence一会儿发一个,讨厌啊。
BTW:
RFC在这里看:http://www.faqs.org/rfcs/,太方便了,就是关于SIP的多得看不过来。
分享到:
相关推荐
命令行下使用的飞信. 可嵌入在程序中自动发送飞信短信. 使用方法: 1)进入Dos命令行 2)输入如下命令 sms -f ’您的手机号‘ -p ‘您的飞信密码’ -t ’目标手机号‘ -m ’你需要发送的消息‘ 其中您的手机号需要...
移动公司通信软件 飞信 fetion_2008
ubuntu下支持2010飞信协议的fetion 不是以前的linuxfetion
(2) send()方法是有返回值的,可以通过分析文本判断是否发送成功。考虑到wap界面会改动,所以没有在类里写死关于发送成功的判断。 (二)实现原理 1. 用PHP发送HTTP请求模拟登录WAP版的飞信,并模拟发送飞信。实现...
private static Fetion fetion = null; public static void main(String[] args) throws Exception{ String mobile = null; String pwd = null; if(args==null || args.length){ System.out.println(...
怎样借用移动飞信发免费手机短信 移动飞信协议分析与接口调用资料整理
调用飞信的软件包,可以使用C#开发类似于飞信的二次开发工具
VB 飞信发送器..无验证,直接发送到手机
飞信飞信飞信飞信Fetion 2008.zip飞信Fetion 2008.zip飞信Fetion 2008.zip飞信Fetion 2008.zip飞信Fetion 2008.zip飞信Fetion 2008.zip飞信Fetion 2008.zip
飞信(Fetion) 教程之基础使用教程 飞信(Fetion)是中国移动推出的“综合通信服务”,即融合语音(IVR)、GPRS、短信等多种通信方式,覆盖三种不同形态(完全实时、准实时和非实时)的客户通信需求,实现互联网和移动网...
一)使用说明 1. 需要包含进你的程序的文件只有一个:PHPFetion.php。如: require 'PHPFetion.php'; 2. 调用方法如: $fetion = new PHPFetion('13500001111', '123123'); // 手机号、飞信密码 $fetion->...
fetion(飞信) for linux
Fetion Tool 最简单的飞信工具 by jacky_luo .rar
1: 飞信协议分析, http://hi.baidu.com/nathan2007/blog/category/%B7%C9%D0%C5%D0%AD%D2%E9%B7%D6%CE%F6 2: Php版飞信(http://sourceforge.net/projects/openfetion/,已经附加在根目录下,文件名是fetion.php)
NULL 博文链接:https://azure1489.iteye.com/blog/437494
BerryMail_fetion_for_SureType 飞信 黑莓 4.5 的(管理员就是Sb ,非要超过20字!!!脑子被驴踢了)
控制联通飞信聊天工具
final Fetion fetion = new Fetion("phone","password"); fetion.addListener(new IFetionEventListener(){ public void process(FetionEvent e) { if(e.getFirstLine()!=null && e.getFirstLine...
网页飞信,无需登录客服端,webfetion 网页飞信
webFetion网页版本飞信客户端 没有源代码 是一个单独的swf文件和若干图标资源 重新打包了,欢迎下载.