Windows Live Messenger Has a New Protocol Underway
July 25, 2007
I’ve been messsing around with some protocol stuff in Windows Live Messenger (formerly known as MSN). The current version of the protocol is MSNP15. This does not stand for Microsoft Network (MSN) Protocol, but stands for Microsoft Notification Protocol. Sending a VER message to the server checks to see if you have an acceptable version of the protocol to connect with. Versions below seven do not return proper responses (those were never used in public programs), but all other protocols that have been used respond correctly. MSNP16 resepons correctly, even though the current version is MSNP15! What I think this means is that the next version of the protocol is underway and there may be some new features in the upcoming Windows Live Messenger release. The Windows Live Messenger team has been hard at work giving us a great product. I love Messenger and I think it provides a very nice work environment. It just looks and runs so much better than AIM (although AIM Pro has some features I really love). One thing I really love about the development cycle is that they get personal with the program’s users. I found this information out thanks to Python and connected to the server with the built-in socket module that provides a “low-level networking interface” (a.k.a. the TCP/IP protocol used to connect Windows Live Messenger). Here’s the code I used to do this:
#Start Code
import socket
HOST = ‘messenger.hotmail.com’ # The remote host
PORT = 1863 # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.send(‘VER 0 MSNP16 CVR0\r\n’)
data = s.recv(1024)
s.close()
print ‘Received’, repr(data)
#End Code
I’m going to be working on a little text-based Windows Live Messenger in Python.
Cheers,
Ivan
Edit:
Turns out someone discovered this before me by using netcat.
Entry Filed under: Computers, Internet, Scripting, Software. .
Trackback this post | Subscribe to the comments via RSS Feed