یک اسکریپت Bash بنویسید که یک آدرس IP و یک بازه پورت (مثلاً 20-1024) را دریافت کند و پورت‌های باز را در آن بازه چاپ کند.

4.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:05

0.0

برای حل این مسئله می‌توانید از یک حلقه for برای پیمایش پورت‌ها استفاده کنید و برای هر پورت با استفاده از قابلیت /dev/tcp در Bash یا ابزار netcat (nc -z -w1) تلاش کنید به پورت وصل شوید؛ در صورت موفقیت پورت را به عنوان باز چاپ کنید. نکات مفید: از زمان‌سنجی کوتاه (timeout) برای جلوگیری از کندی استفاده کنید، فقط روی میزبان‌هایی که اجازه دارید اسکن کنید و در صورت نیاز برای افزایش سرعت به اسکن‌های موازی (اجرای پس‌زمینه با &) فکر کنید.

توسط پژوهشگر در 220 روز قبل ساعت 02:05
دسته بندی ها: Bash Scripting Bash Scripting for beginner
arash در 220 روز قبل ساعت 11:02

برای کارآمدی بهتر، اجرای موازی پورت‌ها با استفاده از & یا ابزارهایی مانند xargs -P محدود به حداکثر همزمان مشخص می‌تواند سرعت اسکن را به طور قابل توجهی افزایش دهد. با این حال، برخی از محیط‌ها به پشتیبانی کامل /dev/tcp یا گزینه‌های nc متفاوت واکنش نشان می‌دهند؛ استفاده از nc -z -w1 معمولاً پایدارتر است. خروجی را تنها با موفقیت اتصال تفسیر کنید (کد خروجی 0) و اگر لازم است برای پورت‌های پاسخ‌ندار، سریع با timeout واکنش نشان دهید. همچنین به مسائل اخلاقی و قانونی احترام بگذارید و فقط اسکن مجاز انجام بدهید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری