یک اسکریپت Bash بنویسید که یک آدرس IP و یک بازه پورت (مثلاً 20-1024) را دریافت کند و پورتهای باز را در آن بازه چاپ کند.
4.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:05 0.0
برای حل این مسئله میتوانید از یک حلقه for برای پیمایش پورتها استفاده کنید و برای هر پورت با استفاده از قابلیت /dev/tcp در Bash یا ابزار netcat (nc -z -w1) تلاش کنید به پورت وصل شوید؛ در صورت موفقیت پورت را به عنوان باز چاپ کنید. نکات مفید: از زمانسنجی کوتاه (timeout) برای جلوگیری از کندی استفاده کنید، فقط روی میزبانهایی که اجازه دارید اسکن کنید و در صورت نیاز برای افزایش سرعت به اسکنهای موازی (اجرای پسزمینه با &) فکر کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای کارآمدی بهتر، اجرای موازی پورتها با استفاده از & یا ابزارهایی مانند xargs -P محدود به حداکثر همزمان مشخص میتواند سرعت اسکن را به طور قابل توجهی افزایش دهد. با این حال، برخی از محیطها به پشتیبانی کامل /dev/tcp یا گزینههای nc متفاوت واکنش نشان میدهند؛ استفاده از nc -z -w1 معمولاً پایدارتر است. خروجی را تنها با موفقیت اتصال تفسیر کنید (کد خروجی 0) و اگر لازم است برای پورتهای پاسخندار، سریع با timeout واکنش نشان دهید. همچنین به مسائل اخلاقی و قانونی احترام بگذارید و فقط اسکن مجاز انجام بدهید.
گزارش