یک اسکریپت Bash بنویسید که یک آدرس IP یا نام دامنه را به‌عنوان ورودی دریافت کرده و پورت‌های 1 تا 1024 را اسکن کرده و فقط پورت‌های باز را نمایش دهد.

18.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 02:07

0.0

می‌توانید از حلقه for برای پیمایش پورت‌ها و از قابلیت ویژه Bash به نام /dev/tcp یا ابزار nc (netcat) برای تلاش اتصال استفاده کنید؛ خطاها را به /dev/null هدایت کنید و با بررسی وضعیت خروجی (exit status) مشخص کنید که اتصال برقرار شده است. برای جلوگیری از قفل شدن در پورت‌های بدون پاسخ از دستور timeout یا گزینه‌های nc استفاده کنید و خروجی را به شکل "پورت X باز است" قالب‌بندی نمایید.

توسط پژوهشگر در 198 روز قبل ساعت 02:07
دسته بندی ها: Bash Scripting Bash Scripting for beginner
nima در 198 روز قبل ساعت 02:08

اگر می‌خواهید اسکن سریع‌تر باشد، پورت‌ها را به‌صورت موازی با xargs -P یا اجرای پروسس‌های پس‌زمینه انجام دهید و از timeout یا گزینه -w در nc برای جلوگیری از قفل شدن استفاده کنید. برای خروجی خواناتر خطاها را به /dev/null هدایت کرده و با بررسی وضعیت خروجی تنها پورت‌های باز را گزارش کنید. توجه کنید که اسکن پورت‌ها ممکن است توسط فایروال یا سیستم‌های تشخیص نفوذ گزارش شود و پیش از اسکن از داشتن مجوز مناسب اطمینان حاصل کنید. برای اسکن‌های پیشرفته‌تر و دقیق‌تر می‌توانید از ابزارهای تخصصی مثل nmap بهره ببرید.

گزارش

1 پاسخ

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

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