The MSN Messenger Protocol Torn Apart: Part 1/3
(Page 1 of 7 )
Ever wanted to build your own MSN messenger? In this article series Neville rips apart the MSN messenger protocol for all to see. It's a must read for any developer!As I sat at my desk one night, I wondered "How do these damn messenger programs work?". I wondered if I could make a client of say yahoo or msn messenger myself, or maybe understand how instant messaging software communicated. To start off, I got hold of a port monitor and monitored the msn messenger packets as I worked on it. After a while I went and checked the log file, which were recording all of my activity on the port just to find lots of data transferred.
Truly, at the first glance it was looking quite alien. Then I thought instead of sitting and trying to figure out what all these packets meant, let me just try to search online for some information. Well I found more information than expected.
The program I have spoken about is a port monitor not a port scanner. It's important that you know the difference. A port scanner is a program that tells you which ports are open on a host (don't port scan just any host. If they find out you may be in trouble). A port monitor is a program, which monitors all activity on a particular port on a host. That's what I used to monitor msn messenger on my local machine.
Now let me tell you why I choose msn messenger and not any other. Firstly, I use msn messenger a lot more than any other messenger. Secondly, on searching, I found out that Microsoft (to my surprise) has published an official protocol draft on the msn messenger protocol - It is quite informative. I also came across a few tutorials on the net which had explained bits about the msn messenger protocol. Those too were quite helpful.
So, you're a bit confused? You see, I really can’t sit and explain what packets are and how data is transferred exactly between two sources -- this is not a networking tutorial. You will need some basic networking knowledge to follow this tutorial. You should be aware of networking terminology such as packets, sockets, ports, port scanners, port monitors etc.
I will be explaining as much as I can as I proceed. I do advise complete beginners who are fascinated by the idea of creating their own version of msn messenger to keep away. This article is not targeted at beginners.
Next: Digging Into the Protocol >>
More HTML Articles
More By Neville Mehta