游子的博客
慈母手中线,游子身上衣, 临行密密缝,意恐迟迟归, 谁言寸草心,报得三春晖。 数据读取中,请稍候......
posts - 337,  comments - 546,  trackbacks - 0
共5页: 1 2 3 4 5 
加油啊。我也是从最后一名上来的:)
re: 一道经典推理题 游子 2006-12-19 15:39
是啥呢、
我也看不到,最好整成一个文件发给我们:)
谢谢!
re: 如何封别人QQ 游子 2006-12-19 15:19
我用QQ代理,你这样就封不了啊。
好东西,收藏!
re: MSN协议分析--转载 游子 2006-12-19 15:12
MSN Messenger 聊天传输协议研究站点(英文版)- -
网站地址: http://www.hypothetic.org/docs/msn/index.php
1.2 MSN Messenger协议开发:认证阶段

作者:汪俊杰
电子邮件:unicentre(at)gmail.com
QQ:10402488

MSN的认证阶段包括登录到MSN即时通讯服务器并且取得好友列表。

MSN即时通讯软件的协议是基于ASCII码的协议。第一个阶段包括连接到MSN即时通软件的服务器。在这个阶段我们应该连接到服务器“messenger.hotmail.com”的1863端口(MSN即时通讯软件通过1863端口进行工作)。一旦连接上以后,我们就可以一步步开始登录过程了。

步骤1: 验证MSN的版本。客户端(即我们的MSN软件)列出及向服务器发送它可以支持的版本,然后等待服务器的回应。

>>> VER 0 MSNP7 MSNP6 MSNP5 MSNP4 CVRO

在MSN协议中,伴随着每个命令都有一个 “ 试验ID ” 被发送。此实验ID从0开始,并且当每次服务器成功的对客户端的命令做回应时,都会增加。

服务器的回应如下

<<< VER 0 MSNP7 MSNP6 MSNP5 MSNP4

现在客户端(MSN)和服务器之间确定了它们之间将要进行通讯的版本。

步骤2: 客户端(MSN)向服务器发送一个请求,要求服务器提供它所支持的

认证时需要的安全包的名字。

>>> INF 1

MSN在发送密码时会将密码加密,保证如有人监控你的端口时,密码不会轻易的泄露。

服务器的回应如下

<<< INF 1 MD5

MD5在这里是服务器当前支持的安全包的名字。

步骤3: 客户端(MSN)将向服务器发送用户ID

>>> USR 2 MD5 I ideal_wang@hotmail.com

然后服务器将检验它是否包含有验证所需的此用户的所有相关信息。如没有的话,服务器将会发送如下回应:

<<< XFR 2 NS 64.4.13.55:1863 0

意思为客户端(MSN)应该连接到NOTIFICATION服务器,地址和端口分别为64.4.13.55:1863。

我们关闭当前的连接并且在连接到新的服务器64.4.13.55时重复以下步骤

>>> VER 3 MSNP7 MSNP6 MSNP5 MSNP4 CVRO
<<< VER 3 MSNP7 MSNP6 MSNP5 MSNP4
>>> INF 4
<<< INF 4 MD5
>>> USR 5 MD5 I ideal_wang@hotmail.com

步骤4: 如果现在我们连接上的服务器有了此登录的用户的信息,服务器回应如下:

<<< USR 5 MD5 S 989048851.185113730

服务器发送的此字符串是“MD5 杂乱信息 ” 。此杂乱信息由服务器创建并且在认证过程中使用。客户端然后向服务器发送使用MD5运算法加密后的密码。实际上客户端向服务器发送的是一个独一无二的MD5字符串,此字符串等价于此 “ MD5杂乱信息 ” (即989048851.185113730)+密码,本例中MD5字符串是3b7926d277068ec49576a0c40598ff21。

>>> USR 6 MD5 S 3b7926d277068ec49576a0c40598ff21

如果密码正确,服务器将做如下回应:

<<< USR 6 OK ideal_wang@hotmail.com Jun Jie

此处“Jun Jie ” 是用户的呢称.

MSN协议的最新版本中,服务器将发送一些附加的数据,像用户的信息和一个认证码(类似于一个cookie,可以用到许多其它的功能中):

<<< MSG Hotmail Hotmail 362
<<< MIME-Version:1.0
<<< Content-Type:text/x-msmsgspro file;charset=UT
<<< Login Time:1011252477
<<< EmailEnabled:1
<<< MemberIDHigh:84736
<<< MemberIDLow:-143472939
<<< Lang_preference:103
<<< PreferredEmail:ideal_wang@hotmail.com
<<< Country:IN
<<< PostalCode:
<<< Gender:M
<<< Kid
<<< Age:22
<<< Sid:517
<<< Kv:2
<<< MSPAuth:2AAAAAAAADU0p4uxxxJtDJozJS1UTS0i7YpwnCoPUHRv56YKxxxCTWmg$$

步骤5: 经过上述步骤我们登录上了服务器,但是我们的状态仍然是离线。为了能够发送和接受信息,我们需要把我们的状态改成在线。客户端通过如下命令完成这步:

>>> CHG 7 NLN

服务器则向客户端发送回在线的好友及其相应的状态:

<<< ILN 7 NLN btxxxe@hotmail.com nick
<<< ILN 7 AWY wmxxe@hotmail.com mike
<<< ILN 7 BSY tehpxxp@hotmail.com jerry
<<< MSG Hotmail Hotmail 223
<<< MIME-Version:1.0
<<< Content-Type:text/x-msmsgsinitialemailnotification;charset=UTF-8
<<< Inbox-Unread:293
<<< Folders-Unread
<<< Inbox-URL:/cgi-bin/HoTMaiL
<<< Folders-URL:/cgi-bin/folders
<<< Post-URL:http://www.hotmail.com

步骤6: 向服务器发送的下一个命令是和当前使用的客户端的版本相关的,客户端向服务器发送它的版本号和所在机器的信息像操作系统和其配置等:

>>> CVR 8 0x0409 win 4.10 i386 MSMSGS 4.5.0127 MSMSGS

0x0409 win4.10 i386 指出客户端当前的运行环境是win98,使用的是Intel的微处理器;MSMSGS 4.5.0127 MSMSGS 指出msmsgs.exe的版本号。

服务器回应提供下载最新版本及一些其它的信息的地址:

<<< CVR 8 4.5.0127 4.5.0127 1.0.0863
<<< http://download.microsoft.com/do ... /en-us/mmssetup.exe
<<< http://messenger.microsoft.com

这个CVR命令的发送并不是必须的,无论此命令是否发送,MSN协议都可以正确的工作.



为了获得我们的好友列表,我们可以发送如下命令

>>> LST 9 RL

服务器将相应发送回“反向列表”,此反向列表为当你在线时,可以看到你并能向你发送即时消息的用户列表。你也可以使用LST 9 FL命令向服务器请求 “ 正向列表 ” ,此正向列表包括你加入到好友列表中的所有好友。服务器所做的回应如下

<<< LST 9 RL 69 1 19 ideal_wang@hotmail.com venkat
<<< LST 9 RL 69 2 19 puxxxxx@hotmail.com puja
<<< LST 9 RL 69 3 19 vancxxxx@hotmail.com ramachandran
<<< LST 9 RL 69 4 19 moxxxxx@hotmail.com chandramouli
<<< LST 9 RL 69 6 19 v_n_xxxx@hotmail.com Narakatesh
<<< ........
<<< LST 9 RL 69 19 19 puneetagarxxx@hotmail.com puneet
re: MSN协议分析--转载 游子 2006-12-19 14:53
ETHEREAL中MSN消息包的过滤表达式

大家知道,MSN消息的传输基本是明文传输的,在用ETHEREAL抓包时,只对聊天内容感兴趣,因此做了一个显示过滤,如下:

1)过滤MSN消息
  msnms
2)过滤发出的消息(格式:MSG 64 N 128,前面的那个数值是消息的序号,每次加1)
  frame[54:80] matches "^MSG [0-9]* N"
3)过滤收到的消息(格式:MSG abc@hotmail.com  妮称 642)
frame[54:80] matches "^MSG [a-z,0-9]*@[a-z,0-9]*" && !(msnms contains "TypingUser")

然后组合三个条件 : 1 && (2 || 3)

以下是经过实际验证的过滤表达式:
(msnms) && ((frame[54:80] matches "^MSG [0-9]* N") ||((frame[54:80] matches "^MSG [a-z,0-9]*@[a-z,0-9]*" ) && !(msnms contains "TypingUser")))

如果要对某个人的聊天记录进行sniffer,只需要增加一个 ip.addr==x.x.x.x就可以了
 
叹!Ethereal的过滤功能实在是强大,连正则表达式都支持,非常实用!!!
re: 招聘保姆 游子 2006-12-17 14:46
已经找到。
re: 尘封 游子 2006-12-17 12:25
足迹
re: 无题 游子 2006-12-17 12:24
你很快就进前10名了,加油啊。
re: symantec的卸载 游子 2006-12-09 15:58
我在自己机器上测试过,方法有效。
我的是10.0,密码symantec无效,但修改注册表有效,不用重启。
re: symantec的卸载 游子 2006-12-08 10:05
我的感觉,symantec查杀病毒的能力不强。
我换用卡巴斯基6.0,效果好多了。
卡巴斯基6.0可以从正版360安全卫士中免费获得。
re: 绝对让你吐血的程序 游子 2006-12-07 14:29
boy.set(nothing); 是什么意思?
re: 绝对让你吐血的程序 游子 2006-12-07 14:27
精典,谁写来出的。
程序员中的高手!
re: 全Flash实现网站——草稿 游子 2006-12-07 14:20
怎么不能动?
看不懂,window按键突破专家,用来突破什么按键?
re: 文本方式设置IP地址 游子 2006-11-16 23:43
我记得在WINDOWS下也有文本设置和保存IP的方法。
需要的朋友可以到我的博客里搜一下:)
@xiangzi
如果是吴淞或老游也在呢?会是什么样子?
re: 最伟大的IT人物10强 游子 2006-11-11 23:46
有些人都不认识,是不是我太寡闻了?
re: 征集“线程”管理办法 游子 2006-11-05 22:48
居然没有人答复。
不过我已经完成这个功能了,谁需要可以联系我。
re: 奇怪的网页 游子 2006-11-05 20:02
你看的是哪篇?
是《cable modem为什么上不了线?》吗?
也许你禁用了某些脚本执行吧?
但是我使用这个函数时,说没有定义。不知道这个函数的头文件是哪个?
re: 一个博客平台系统 游子 2006-11-02 23:01
@天天影院
难道你想研究博客平台?
@xzV
谢谢 你的回复,让这篇文章更有价值。
re: 常规赛11月NBA直播表 游子 2006-11-02 11:42
好,顶一下。
我收藏了,谢谢!
re: 庆祝我的博客进入50强 游子 2006-10-25 11:18
呵呵,几个月了,都是这个名次,上也上不去,下也下不来(即使半个月不理它)。

你也不错,21名,共勉!
我什么时候可以退休?
re: 我的博客准备搬家了 游子 2006-09-23 12:16
说得没错,我很早就有bokee了,这所以现在才去,就是不喜欢它的风格和速度。
不过,看在钱的面子上:)))
cnitblog真的不错!
re: Windows2000可執行文件一覽 游子 2006-09-20 14:32
牛啊,哪弄来的?
转自:
http://blog.iyi.cn/start/2004/12/
上面还有许多好东东,如:
JAVA把汉字转拼音,
用javamail收发gmail等
re: 测测你Blog的DNA 游子 2006-09-19 08:48
怎么我看你的日志都没有图呢?是我的问题还是?
re: 软件自动化测试 游子 2006-09-19 08:47
讲得太泛,不太明白
没有图片
希腊95-64中国
中国惨败!让我们清醒!
用XML作sql和web应用的桥 游子 2006-08-27 22:16


onjava网站上介绍了一篇来自dev2dev的文章,XML as a Bridge between SQL and Web Applications。介绍了一个Oracle提供的工具Oracle XML-SQL Utility (XSU). ,使用该工具能够让你的sql操作很简单的以XML的格式返回。同时文章还介绍了在web应用中,如何使用这个工具取得数据,以及如何使用xsl和jsp taglib来显示xml数据。可以直接使用xsl来显示数据,还介绍了如何使用weblogic提供的一个xsl处理的jsp标签库Using the JSP Tag to Transfer XML Data 在jsp中转换xml数据。例子代码如下:
程序用xsu工具取得xml格式的数据后,直接使用xsl标签将数据转换成html。

1. <%@ taglib uri="xmlx.tld" prefix="x"%>

2. <HTML>
3. <HEAD>
4. <TITLE>:: An XML bridge ::</TITLE>
5. </HEAD>
6. <BODY>

7. <%@page import="java.sql.*"%>
8. <%@page import="oracle.xml.sql.query.*"%>
9. <%@page import="oracle.jdbc.*"%>

10. <%

11. String tableName = "emp";
12. int maxRows = 3;

13. Context ctx = new InitialContext ();
14. DataSource ds = (DataSource) ctx.lookup ("MyOra");

15. Connection conn = ds.getConnection ();

16. OracleXMLQuery qu = new OracleXMLQuery
(conn, "select EMPNO, ENAME from " + tableName);

17. qu.setMaxRows (maxRows);
18. qu.setRowsetTag ("EMPLOYERS");
19. qu.setRowTag ("PERSON");

20. String xmlString = qu.getXMLString ();

21. conn.close ();
22. %>

23. <x:xslt stylesheet="html.xsl">
24. <x:xml>
25. <%=xmlString%>
26. </x:xml>
27. </x:xslt>

28. </BODY>
29. </HTML>



8月27日 18:30 中国VS希腊
凶多吉少!

sohu篮球直播:
男篮世锦赛中国VS希腊
http://weblive.sports.sohu.com/basketball/index.php?c=sports009
re: 我的MSN群 游子 2006-08-25 14:37
WLM是什么?请指教
我觉得群易的想法很好。它可以为任何聊天软件做群,只需要分析软件的通讯协议。甚至可以把QQ的消息发往MSN。
好东东
re: 我的MSN群 游子 2006-08-24 14:49
谢谢,有空常来坐客!
:)
re: 我的MSN群 游子 2006-08-23 18:07
@lester
为啥?
re: 串口通讯问题 游子 2006-08-22 16:38
我通过别人写的一个PC程序往该嵌入式设备发数据,总是让设备中断出现问题:
task 0 "Interrupt[0]" stopped at 0x12345679 by user breakpoint
不知道那个程序做了什么?我没有源码,看不到。很晕.
对波多,输得太可惜,太冤啊
看起来很有见地!
re: 串口通讯问题 游子 2006-08-21 17:46
不是我程序的问题,我把程序拷到别人的机器,正常。
于是我把自己的机器重启一下,也正常了。
鸟机器!
中国输给了意大利,又输给了美国。接下来的情况会怎么样?也许一场也胜不了吧?
共5页: 1 2 3 4 5 

欢迎大家扔鸡蛋!送鲜花!

博客可以收入过千吗?

<2007年7月>
日一二三四五六242526272829301
23456789101112131415161718192021222324252627282930311234

常用链接

留言簿(8)

随笔分类(314)

随笔档案(337)

文章分类(7)

文章档案(10)

相册

收藏夹(1)

其它

友情链接

数字电视

生活、旅游

自己的链接

计算机

搜索

  •  

积分与排名

  • 积分 - 407922
  • 排名 - 9

最新评论

阅读排行榜

评论排行榜