Forehead
MSN Messenger is a chat tool developed by Microsoft and is currently a large user group in China. Using MSN Messenger can perform text chat, voice conversation, video conferencing, etc., can also view contacts online by this software. The latest version of the software is 6.1.
In 1999, Microsoft submitted a draft "MSN Messenger Service 1.0 Protocol" draft to IETF, which is the original version of MSN Messenger protocol. In the next few years, the company no longer discloses an upgrade of the MSN Messenger protocol and modify the official documentation of the details. But whether it is developing third-party chat client software (such as GAIM, Myim, etc.) or to do protocol analysis, must have an in-depth understanding of its communication protocol. Because of this, some civilians have conducted research on these agreements (see "related resources" section of this article).
When we are still sighing "this world, change", the MSN Messenger's agreement has reached the 10th edition, referred to as MSNP10, corresponding to MSN Messenger 6.1. MSN Messenger 6.0 uses MSNP9. Now Microsoft forces MSN Messenger users upgrade to 6.0 or 6.1, because the server is no longer supported by the version below MSNP8. The MSN Messenger protocol described in this paper and subsequent article is mainly for MSNP9 / MSNP10.
Connected
The MSN Messenger protocol is established above TCP / IP. In addition to file transfer and voice chat, all other situations are performed through the server.
On logic, there are three types of servers, each of which:
Dispatch Server, DS) - the server initially connected. Responsible to assign a suitable notification server to the client. The domain name is Messenger.hotmail.com, and the standard service port is 1863. After completing the dispatched task, cut off the TCP connection. Notification Server (NS) - The client needs to keep a connection server. Many tasks should be completed in this session, including login, change status, get a list of users, modify user information, launch chat, accept calls, mail notifications, exit, and so on. The service port is specified by the dispatch server, usually 1863. Wiring Server (SS) - The transit server used by the client between the client. Every time you open a chat window, the client and server create a TCP session. When the client needs to be filed or voice chat, send the system message to create a "point-to-point" session channel (which may turn to use UDP). The service port is usually 1863. The port used by the "point-to-point" communication is determined by the client automatically, such as file transfer usually uses 6891 ports. 2. Command MSN Messenger command uses a pure ASCII code. Use URL encoding for non-ASCII code characters. The syntax of the command is XXX [
Content-type: text / plain; charset = UTF-8 / R / N
X-MMS-IM-FORMAT: FN =% E5% AE% 8B% E4% BD% 93; EF =; CO = 0; CS = 86; PF = 0 / r / N
/ r / n