با سلام
ببخشيد که من قبلاً فينگليش تايپ کرده بودم مثله اينکه کسی نتونسته بود بخونه
و اما توضيح الگوريتم
واسه اينکه بتونی همچين کاری رو انجام بدی بايد چند تا نکته رو مد نظر بگيری
نميدونم تا چه حدی با شبکه آشنايی داری ولی زمانی که چندين کلاينت از يک سرويس استفاده ميکنند
برای هر کلاينت يک مشخصه تعين ميشه ، که سرويس دهنده بتونه توسط اين مشخصه کلاينت يا سرويس گيرنده رو
شناسايی کنه . اين کار رو ميشه به شکل های مختلفی انجام داد ، يک روش اينه که سرويس دهنده از يک داتا بيس استفاده ميکنه
و برای هر سرويس گيرنده مشخصاتی رو که از قبل تعين ميشه رو توی اون ثبت ميکنه ( مثل ياهو) حالا هر
سرويس گيرنده که ميخواد از سرويس استفاده کنه بايد اون اطلاعات يا مشخصات رو داشته باشه . روش ديگه اينه که
سرويس دهنده به صورت پابليک کار ميکنه و يک سری مشخصات مهدود رو توی خودش ثبت ميکنه
اين مشخصات برای تمام سرويس گيرنده ها ثابت هستش ، مثل برنامه های فايل شرينگ که برای همه
قابل استفاده هست و کار بر فقط بايد اون مشخصات رو داشته باشه ( مثلاً 50 گيگ شر يا سرعت بالا ) وقتی که
ميخوايد همچين سيستمی رو طراحی کنيد بايد اول بدونيد که به چه شکلی از اين سرويس ميخواد استفاده بشه
و طبق اون هم پيش بريد. خوب اين از مقدمه
حالا اصل کار ، اينکه چطوری يک سرور ميتونه ارتباط بين دو کلاينت ديگه برقرار کنه
واسه اين کار بايد برای هر کلاينت يک مشخصه تعريف کنيد که ميتونه يک کلمه يا آی پی يا هر چيز ديگه هم باشه
به تو مثال اگه ياهو رو زير نظر بگيری ميبينيد که زمانی که با کسی چت ميکنيد يک سری اطلاعات به صورت کد بندی شده
بين شما و سرور ياهو ردو بدل ميشه ، حالا اگه دقيق تر اين اطلاعات رو نگاه کنيد ميتونيد چند نکته رو ازشون بيرون بکشيد
نمونه
کد:
1Pouria5IranVig1497148263;06401002115107274742611-881894794
توی اين نمونه ميشه چند چيز رو فهميد اول مشخصه هر تو شخص رو که دارند از سرويس استفاده ميکنند
و دوم هم بقيه کد هستش که ياهو قبول ميکنه ، سرور ياهو با گرفتن اين اطلاعات چه کار ميکنه ؟
اول از همه پاکت فرستاده شده بايد شرايط از قبل تعين شده رو داشته باشه ( همون کد های اجق وجق) که نشون داده
بشه که سرويس گيرنده از ياهو هستش و اجازه استفاده از سرويس رو بگيره ، بعد از اينکه کد توسط سرور
پذيرفته شد بايد خونده بشه ، توی کد دو تا کلمه هست که نشون ميده که اين پی ام توسط چه شخصی فرستاده شده Pouria
و چه شخصی گيرنده IranVig هستش با دونستن اين اطلاعات ميشه خيلی راحت پيغام رو پاس کرد
از اينجا به بعدش رو ديگه نسبت به برنامه ای که ميخوايد بنويسيد بايد طراحی کنيد ، سرور ميتونه اينجا
نقش خودش رو ادامه بده و تمام پاکت ها رو انتقال بده يا اينکه بعد از شناسايی کردن ارتباط رو بين دو
کار بر مستقيم کنه و خودش رو کنار بکشه، اينکه چجور ميشه ارتباط مستقيم رو برقرار کرد خيلی سخت نيست
ميتونيد واسه اينکار از کد های تروجان ها استفاده کنيد که چطور ميشه به صورت رموت روی يک دستگاه
عملی رو انجام داد ، نوشتن يک همچين سيستمی کار سختی نيست ولی مهمترين و سخت ترين کار
امنيت برنامه يا شبکه هستش که بيشتر وقت رو ميبره
اميدوارم که مفهوم رو رسونده باشم ، اساتيد ديگه هم اينجا هستند که فکر ميکنم بتونند بيشتر کمک کنند :oops:
موفق باشيد
[/code]