یک اسکریپت Bash بنویسید که یک آدرس IP یا نام دامنه را بهعنوان ورودی دریافت کرده و پورتهای 1 تا 1024 را اسکن کرده و فقط پورتهای باز را نمایش دهد.
18.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 02:07 0.0
میتوانید از حلقه for برای پیمایش پورتها و از قابلیت ویژه Bash به نام /dev/tcp یا ابزار nc (netcat) برای تلاش اتصال استفاده کنید؛ خطاها را به /dev/null هدایت کنید و با بررسی وضعیت خروجی (exit status) مشخص کنید که اتصال برقرار شده است. برای جلوگیری از قفل شدن در پورتهای بدون پاسخ از دستور timeout یا گزینههای nc استفاده کنید و خروجی را به شکل "پورت X باز است" قالببندی نمایید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
اگر میخواهید اسکن سریعتر باشد، پورتها را بهصورت موازی با xargs -P یا اجرای پروسسهای پسزمینه انجام دهید و از timeout یا گزینه -w در nc برای جلوگیری از قفل شدن استفاده کنید. برای خروجی خواناتر خطاها را به /dev/null هدایت کرده و با بررسی وضعیت خروجی تنها پورتهای باز را گزارش کنید. توجه کنید که اسکن پورتها ممکن است توسط فایروال یا سیستمهای تشخیص نفوذ گزارش شود و پیش از اسکن از داشتن مجوز مناسب اطمینان حاصل کنید. برای اسکنهای پیشرفتهتر و دقیقتر میتوانید از ابزارهای تخصصی مثل nmap بهره ببرید.
گزارش