ورود

View Full Version : وقتی Ping میکنیم ، پاکت به کجا ارسال میشه ؟



explod_javad
پنج شنبه 09 آبان 1387, 08:28 صبح
با سلام خدمت دوستان اهل شبکه .
من در حال نوشتن یک نرم افزار که از وب و اپلیکیشن متشکل است ، هستم که اپلیکیشن برروی سرور باید نصب شود.
من اینو میدونم که پنیگ از پروتکل icmp استفاده میکند.
یک نمونه هم یاهو مسنجر هست که از این روش استاده میکند(نسخه جدید)
یه سوال برام پیش اومده.
اون اینه که وقتی یک پینگ انجام میشه ، packet ارسالی از کلاینت توسط کدام قسمت از سرور پاسخ داده میشه ؟
-آیا به پورت خاصی ارسال میشه ؟
-آیا به پورت خاص میشه فرستاد.(البته اگر باز باشد)
-آیا میشه پاسخ دلخواه در جواب یک پینگ فرستاد؟
-آیا توسط نرم افزار میشود فهمید که چه کلاینتی آن را ارسال کرده ؟ ( ای پی اون رو گرفت)

javad0062
پنج شنبه 09 آبان 1387, 15:50 عصر
پروتکل ICMP در کنار پروتکل IP ، برای بررسی انواع خطا و ارسال پیام برای مبدا بسته در هنگام بروز اشکالات ناخواسته استفاده می شود.
پیام ICMP ، ( در اینجا ping)خود درون یک بسته IP جاسازی می شود ، بنابراین فیلد protocol در سرآیند بسته IP باید با شماره مشخصه پروتکل ICMP تنظیم شود (شناسه جهانی پروتکل ICMP عدد 1 است)

سوال قشنگی هست ! اگر بقیه بتونن جوابشو کامل کنن:متفکر::متفکر:

Developer Programmer
پنج شنبه 09 آبان 1387, 16:50 عصر
-آیا به پورت خاصی ارسال میشه ؟بله

آیا به پورت خاص میشه فرستاد.(البته اگر باز باشد)اگه پورت 7 ازserver بسته باشه، echo request ها بهش نمی رسه

-آیا میشه پاسخ دلخواه در جواب یک پینگ فرستاد؟در پاسخ به echo request فقط echo response ارسال میشه

یا توسط نرم افزار میشود فهمید که چه کلاینتی آن را ارسال کرده ؟ ( ای پی اون رو گرفت)بله

packet ارسالی از کلاینت توسط کدام قسمت از سرور پاسخ داده میشه ؟در دنیای برنامه نویسی شی گرا، چیزی ساخته شده به اسم event؛ زمانی که echo request از سمت کلاینت به server برسه؛ event اتفاق میافته و شما به IP دریافت شده باید echo response بدین.

اطلاعات بیشتر:
http://en.wikipedia.org/wiki/Ping
http://www.faqs.org/rfcs/rfc792.html

explod_javad
پنج شنبه 09 آبان 1387, 21:03 عصر
سلام . از پاسخ شما متشکرم


در دنیای برنامه نویسی شی گرا، چیزی ساخته شده به اسم event؛ زمانی که echo request از سمت کلاینت به server برسه؛ event اتفاق میافته و شما به IP دریافت شده باید echo response بدین.

این event کجا بررسی میشه ؟
اگه در زمینه برنامه نویسی اطلاعات دارین میشه کمکم کنید
یه نگاه به اینجا بندازید
http://barnamenevis.org/forum/showthread.php?t=128992

Developer Programmer
پنج شنبه 09 آبان 1387, 21:13 عصر
این event کجا بررسی میشه ؟بستگی داره با چه کامپوننتی برنامه مینویسی.
به طور کلی وقتی پورتی از Server رو باز کردی و listen میکنی... به محض رسیدن پکت از Client یه event اتفاق میافته که اسمش چیزی مثل DataArrival میتونه باشه. کافیه کد دلخواهت رو تو این Event بنویسی.یه نگاهی به متدها و پراپرتی WinSock و کامپوننت Indy بنداز.

explod_javad
جمعه 10 آبان 1387, 13:20 عصر
آقا Afshin ممنون از راهنماییت.
من توی یکی از نرم افزار هایی که نوشتم از این کمپوننت استفاده کردم(مدیریت کافی نت )
توی این برنامه یک پکت از طرف کلاینت ارسال و از طرف سرور دریافت میشد.البته با همون event که شما فرمودید.
اما من دارم یک وب اپلیکیشن مینویسم
و البته کد ارسال پینگ در asp.net را هم گیر آوردم.ولی نمی دونم آیا می تونم توی وب سرورم که شخصی هست یک اپلیکیشن Run کنم که Event دریافت دیتا رو داشته باشه (مثل مدیریت کافی نت من)

-نمی دونم که کمپوننت من باید روی کدام پورت listen کنه ؟
-آیا این پورت باز ،مشکل امنیتی به وجود نمیاره؟
-آیا میشه
-با این کامپننت که من هم دارم (Winsock Orcas.dll)، آیا میشه مشخصات ارسال کننده پکت رو (مثال ipو غیره ) رو فهمید؟


البته من با Winsock Orcas.dll در شبکه محلی lan خیلی کار کردم و به دردم خورد ولی توی وب نمی دونم
آبا ماهیتشان یکی هست ؟
خیلی سوال مطرح کردم واقعاً باید ببخشید.
ممنون.

Developer Programmer
یک شنبه 12 آبان 1387, 22:09 عصر
نمی دونم که کمپوننت من باید روی کدام پورت listen کنه ؟تو پست قبلی اشاره کردم

آیا این پورت باز ،مشکل امنیتی به وجود نمیاره؟باز بودن یک پورت به معنی هک شدن کامپیوتر نیست.

با این کامپننت که من هم دارم (Winsock Orcas.dll)، آیا میشه مشخصات ارسال کننده پکت رو (مثال ipو غیره ) رو فهمید؟تو پست قبلی اشاره کردم

آبا ماهیتشان یکی هست ؟
نمیدونم