مشاهده نسخه کامل
: ارسال فراوان بسته
سلام
عزیزان یکی از دوستان بحث باهاش می کردیم. گفت بزار تست کنم!!
با هم در یک شبکه بودیم. یک برنامه اجرا کرد ، آین قدر بسته به سمت سیستم من فرستاد که Network Usage من رو رسوند به 100 درصد در کارت شبکه
چیزی هم از برنامه نگفت.
متاسفانه با زبان های سطح بالا اصلا این کار عملی نیست. این قدری که لود روی سیستم مااندازه روی سیستم مقابل نمی اندازه
اگر بخواهم این برنامه رو خودم بنویسم.. باید با اسمبلی بنویسم؟ مثلا یک فایل text چند کیلوبایتی رو با زبان اسمبلی ، بفرستم به کامپیوتر مقابل؟
برنامه نویسی شبکه با اسمبلی سخت نیست؟
بسم الله الرحمن الرحیم.
سلام.
من فکر نمی کنم ارسال پکت به شبکه ربطی به زبان برنامه نویسی یا سطح بالا و پایین بودن ان داشته باشه چون در هر صورت سیسم عامل اینو مدیریت میکنه.
ولی دو تا سوال:
1.شما با دات نت این رو تست کردید؟
2.رنج بایتی که برای ارسال و دریافت فرستادید چقدر بوده؟
بسم الله الرحمن الرحیم.
سلام.
من فکر نمی کنم ارسال پکت به شبکه ربطی به زبان برنامه نویسی یا سطح بالا و پایین بودن ان داشته باشه چون در هر صورت سیسم عامل اینو مدیریت میکنه.
ولی دو تا سوال:
1.شما با دات نت این رو تست کردید؟
2.رنج بایتی که برای ارسال و دریافت فرستادید چقدر بوده؟
سلام
راستش این بحث برای 2-3 سال پیش هست که اون موقع نشد پیگیر بشم
یک کد با زبان سی شارپ نوشتم. دیدم لود انداخت رو سیتسم ما و مشکلی برای سیستم مقابل ایجاد نکرد
این رفیق مون هم یادمخ اصلا سی شارپ بلد نبود. رشته اش سخت افزار بود و من به نظرم شاید با زبان سی نوشته بود.
خوب دوست عزیزم خیلی مهمه که چه کدی در این زمینه نوشته باشید برای همین پرسیدم که رنج ارسال و دریافت پکت چقدر بوده.
خوب دوست عزیزم خیلی مهمه که چه کدی در این زمینه نوشته باشید برای همین پرسیدم که رنج ارسال و دریافت پکت چقدر بوده.
آقای علی ممنون از شما و به خاطر اینکه چند سال گذشته از این جریان کد هاش یادم نیست.
اما به هر حال به صورت کلی: ما وقتی به زبان جاوا یا سی شارپ این کد رو بزنیم، به هر حال ارسال بسته کند تر صورت خواهد گرفت. چون باید تبدیل بشه به زبان سطح پائین
و اگر ما این کار را با سی انجام دهیم. به صرفه تر نیست؟ یکی میگفت باید رفت سراغ node.js اگر اشتباه نکنم و درست یادم مونده باشه
راستی شما برای ارسال بسته ها رنج و سایز خاصی مد نظر دارید؟
راستش خیلی دوست دارم به صورت عملی این موارد رو تست کنم و تجربه کسب کنم..
ممنون که دوستان راهنمایی میکنند :n16:
خواهش میکنم.
نه ارتباطی به این نداره که با چه زبانی دارید کد میزنید چون ارسال بسته ها در حافظه بقدری سرعتشان زیاد هست که شما نمی تونید این سرعت رو متوجه بشید مگر اینکه پردازشگر سی پی یو و رم شما سرعتش پایینتر از هارد و شبکه ی شما داشته باشه.
برای همین سرعت ارسال و دریافت پکت ها خیلی مهم هستند برای مثال شما میتونی در هر بار دریافت یا ارسال بسته های بایتی از شبکه یا دیسک یک بایت درخواست بدی یا اینکه 10 مگابایت درخواست بدی.. اگر مورد اول رو استفاده کنی مسلماً در زبان سی هم به مشکل بر میخوری و سرعت کندی خواهید داشت ولی اگر بسته های ده مگابایتی یا 20 مگ یا بالاتر ارسال کنی از تمامی سرعت ارسال و دریافت اطلاعات میتونی استفاده کنی.
برای مثال:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در کد بالا مقدار lenght متغیر buffer که 32 * 1024 همون مقدار پکت ارسالی هست که هرچی کمتر باشه سرعت استفاده از شبکه برای ارسال فایل رو کمتر میکنه و اگر شما اونو به 10 مگابات یا 20 مگبایت بسته به سرعت هارد خودتون و طرف مقابل برسونید فکر کنم بهترین سرعت رو داشته باشید مثلاً 1024*1024 *20 ...
ببخشید وسط بحث می آیم. (خدایی تاپیک رو خیلی قشنگ شروع کردی!!!)
------------
ربطی به زبان ندارد. این عمل (ارسال پیاپی) به عنوان یک نوع حمله در شبکه مطرح است که به آن Flood Attack که از زیر مجموعه های DOS هست گویند.
شاید این اسم کمی شما را راهنمایی کند که در مورد آن جستجو کنید. بهترین توضیح هم ویکی ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) است. (خلاصه: ارسال یکسری پیام بی معنای UDP به پورت های Random و یا پاسخگویی بی معنی در ICMP زمانی که هیچ Requestی مطرح نبوده!)
اگر دنبال نرم افزار آماده هستید می توانید از PacketTrap برای شرکت Dell استفاده کنید. یک مجموعه ابزار برای کار با شبکه است.
موفق باشید.
موفق باشید.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.