اتصال
اولین قدم برای اتصال برقراری ارتباط با dispatch سرور می باشد. ابندا یک سوکت tcp با مشخصات آدرس messenger.hotmail.com و شماره پورت ۱۸۳۶ باز کنید. وقتی اتصال برقرار گردید دستور ver را با یکی از پارامترهای MSNP7 – MSNP6 – MSNP5 – MSNP4 –CVR0 ارسال کنید. این پارامتر شماره نسخه پروتکل ارتباطی می باشد. من پیشنهاد می کنم که از MSNP2 استفاده کنید. وقتی که پاسخ از سرور دریافت کردید اگر اولین مقدار بعد از کد یکتا اتصال مخالف با صفر بود بدین معنی است که سرور کد نسخه پروتکل شما را قبول کرده است. سپس دستور INF را برای دریافت اطلاعات تصدیق اتصال ارسال می کنیم. در پاسخ سرور یک دستور INF همراه با یک کد MD5 ارسال می کند که برای ما به صورت یکتا در نظر گرفته است. سپس ما دستور user همراه با پارامتر MD5 I myuser@hotmail ارسال می کنیم . توجه داشته باشید که myuse@hotmail گذرنامه عبور ( کد کاربری) ما می باشد.
در این زمان سرور با یک دستور XFR همراه با پارامتر NS w.x.y.z:1836 0 A.B.C.D:1836 پاسخ ما را ارسال می کند. پارامترهای دریافتی یکی w.x.y.z:1836 شماره سوکت Notification سرور می باشد و دیگری A.B.C.D:1836 شماره سوکت فعلی می باشد. حالا ما اتصال فعلی را قطع می کنیم و با سرور Notification که توسط سرور بدست آورده ایم اتصال برقرار می کنیم.
در زیر یک گفتگو بین ما ( Client) و سرور Dispatch را می بینید.
>>> VER 0 MSNP7 MSNP6 MSNP5 MSNP4 CVR0
<<< VER 0 MSNP7 MSNP6 MSNP5 MSNP4 CVR0
>>> INF 1
<<< INF 1 MD5
>>> USR 2 MD5 I example@passport.com
<<< XFR 2 NS 207.46.106.145:1863 0 207.46.104.20:1863
Client Disconnects
Notification Server
برقراری با Notification سرور عینا” مثل برقراری ارتباط با Dispatch سرور می باشد. دقیقا تا مرحله قبل از پاسخ سرور با دستور XFR. مثل dispatch سرور باید عمل کنیم. در این مرحله سرور با دریافت دستور USR همراه با کد کاربری ما منتظر کلمه عبور می ماند. در این لحظه ما یک دستور USR دیگر به شکل زیر ارسال می کنیم.
در این دستور پارامتر S به سرور می گوید که این دستور حامل کلمه عبور می باشد و #.# همان کلمه عبور ما می باشد که با MD5 کد شده است. در این لحظه سرور با دستور
پاسخ ما را میدهد. در صورتی که مشکلی در اتصال باشد کد خطای ۹۱۱ از طرف سرور می آید.
در دستور OK بازگشتی از سرور user@host کد کاربری و Name اسم اسکرین ما می باشد.
در این لحظه در صورت دریافت دستور ok از طرف سرور ما به MSN مسنجر وارد شده ایم و باید وضعیت فعلی خود را ارسال کنیم. با استفاده از دستور CHG و پارامتر ۳ حرفی وضعیت خود را در زمان اتصال مشخص می کنیم. سرور نیز دقیقا دستور ارسالی را برای تایید وضعیت ارسال می کند. در حالت عادی اتصال پارامتر NLN ارسال می گردد. کلا ۹ پارامتر برای دستور CHG وجود دارد. به طور مثال اگر با پارامتر HDN دستور CHG را ارسال کنید ما به صورت مخفی وارد مسنجر می شویم.
در زیر یک گفتگو بین ما ( client) و Notification سرور را می بینیم.
>>> VER 3 MSNP7 MSNP6 MSNP5 MSNP4 CVR0
<<< VER 3 MSNP7 MSNP6 MSNP5 MSNP4 CVR0
>>> INF 4
<<< INF 4 MD5
>>> USR 5 MD5 I example@passport.com
<<< USR 5 MD5 S 1013928519.693957190
>>> USR 6 MD5 S 23e54a439a6a17d15025f4c6cbd0f6b5
<<< USR 6 OK example@passport.com My%20Screen%20Name 1
>>> CHG 7 NLN
<<< CHG 7 NLN
ادامه اتصال
اولین پیامها
بعد از برقراری ارتباط با سرور مسنجر از طرف سرور ۲ پیام برای ما ارسال می گردد اولین پیام شامل پروفایل ما می باشد و دومین پیام در صورتی که ما در صندوق پست الکترونیکی خود نامه ای داشته باشیم که هنوز نخوانده باشیم ارسال می گردد. اطلاعات ارسالی از سرور که شامل پروفایل ما می باشد دارای یک مایم تایپ می باشد. این مایم تایپ از نوع
,و به صورت یونیکد می باشد
یک نمونه از پروفایل ارسالی از طرف سرور به شکل زیر می باشد.
MIME-Version: 1.0
Content-Type: text/x-msmsgsprofile; charset=UTF-8
LoginTime: 1016941010
EmailEnabled: 1
MemberIdHigh: 41922
MemberIdLow: -619232012
lang_preference: 1033
preferredEmail: example@passport.com
country: US
PostalCode: 12345
Gender: M
Kid: 0
Age:
sid: 507
kv: 2
MSPAuth: 2AAAAAAAADMoV8ORoz64BVwmjtksIg!kmR!Rj5tBBqEaW9hc4YnPHSOQ$$
پیام هشدار وجود پست الکترونیکی با مایم تایپ
ارسال می گردد.یک نمونه از پیام ارسالی از طرف سرور برای هشدار وجود ایمیل جدید به شکل زیر می باشد.
MIME-Version: 1.0
Content-Type: text/x-msmsgsinitialemailnotification; charset=UTF-8
Inbox-Unread: 21
Folders-Unread: 33
Inbox-URL: /cgi-bin/HoTMaiL
Folders-URL: /cgi-bin/folders
Post-URL: http://www.hotmail.com
بعد از برقراری ارتباط اگر در طول مدت اتصال ایمیل جدیدی برای شما ارسال گردد یک پیام از سمت سرور به شکل زیر برای ما ارسال می گردد.
MIME-Version: 1.0
Content-Type: text/x-msmsgsemailnotification; charset=UTF-8
From: Mike Mintz
Message-URL: /cgi-bin/getmsg?msg=MSG1029401739.3&start=1610592&len=402&curmbox=ACTIVE
Post-URL: https://lc1.law13.hotmail.passport.com/ppsecure/domessengerlogin/EN
Subject: Hi
Dest-Folder: ACTIVE
From-Addr: example@passport.com
id: 2
در زمانی که یک نامه الکترونیکی پاک شود پیام زیر از طرف سرور ارسال می گردد.
MIME-Version: 1.0
Content-Type: text/x-msmsgsactivemailnotification; charset=UTF-8
Src-Folder: ACTIVE
Dest-Folder: trAsH
Message-Delta: 1
خوب حالا ارتباط ما برقرار است اگر کسانی که در لیست دوستان ما هستند تغییر وضعیت دهند سرور تغییر وضعیت ایشان را با دستور ILN به ما اطلاع می دهد.سرور این دستور را با ۳ پارامتر کد وضعیت , کد کاربری , و نام اسکرین برای ما ارسال می کند.
یک نمونه از پیام ارسالی از طرف سرور به شکل زیر می باشد.
<<< ILN 7 NLN name_123@hotmail.com Name_123
<<< ILN 7 BSY myname@msn.com My%20Name
امیدوارم که از این مقاله هم استفاده کرده باشید در مقالات بعدی به مباحث پیشرفته تری خواهیم پرداخت.
دیدگاه خود را بیان کنید.
باید وارد سایت شده باشید برای دیدگاه دادن