اطلاعیه

بستن
No announcement yet.

یک شل اسکریپت ساده برای پیدا کردن ip های آزاد درون lan

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    یک شل اسکریپت ساده برای پیدا کردن ip های آزاد درون lan

    با استفاده از شل اسکریپت زیر، محدوده ای از آأرس ها مانند 192.168.244.1 تا 192.168.244.200 بررسی شده و سپس برای هر آدرس ip درون این محدوده در خروجی چاپ می شود که آیا آدرس استفاده شده است یا نه. اسکریپت بسیار ساده است. ابتدا توسط یک حلقه for آدرس های ip در محدوده شبکه 192.168.244.1 تا 192.168.1.200 را ایجاد و درون فایلی می ریزد، بطوریکه در هر خط آن یک آدرس ip وجود دارد. سپس توسط دستور ping هر خط این فایل خوانده شده و چک می شود که آیا قابل ping شدن است یا نه؟
    اگر ping شود پس مقدار متغیر ?$ برابر صفر و پیغام “This IP Address [ $IPADDR ] is USED!!!” و در غیر اینصورت پیام “This IP Address [ $IPADDR ] is not USED!!!” چاپ می شود.متغیر ip (یا بهتر بگم ip$) در حلقه for یک آدرس می شود و در فایل HOME/iplist$ ذخیره می شود. متغیر IPADDR$ وقتی هر خط فایل را می خوانیم بعنوان یک آدرس از هر خط آن فایل خوانده شده و درون این متغیر قرار می گیرد و در خط بعدی توسط دستور ping -c 3 بررسی می شود که آیا این آدرس استفاده شده یا نه؟ در اولین خطوط هم بررسی می شود که آیا UID کاربر صفر است یا نه؟ یعنی بررسی می شود که آیا کاربر مورد نظر root است یا خیر، که اگر root نباشد پیام نشان داده شده و با دستور exit 1 اجرای اسکریپت خاتمه می یابد. در دومین خط دستور زیر وجود دارد، دستور trap عکس العملی را برای سگنال های ارسال شده انجام می دهد. بطور مثال خط زیر درون اسکریپت وقتی سیگنال 0 یا سگنتال 1 و یا سیگنال 2 که همان Ctrl+C است و یا سگنال 3 و سیگنال 15 به سکریپت آمد بصورت نرمال خارج می شود.
    یعنی عکس العملی که روی سگنال ها گفته شده انجام می دهد، خروج نرمال از اجرای اسکریپت و بازگشت به os با استفاده از دستور exit می باشد.

    کد PHP:
         trap “exit” 0 1 2 3 15 
    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	testip_shell.png نمایش ها:	1 اندازه:	19.9 KB شناسه:	18263

    برای اجرا نخست فایل را دانلود کنید. فایلی دانلوی با پسوند txt است، بهتر است آنرا درون دایرکتوری usr/local/bin/ کپی کرده و سپس با دستور زیر آنرا از نام testip به نام testip تغییر دهید. مجور لازم را برای اجرا شدن اهدا به اسکریپت با دومین خط زیر بدهید. تنها کافیست که نام اسکریپت را در خط فرمان نوشته و Enter کنید.

    کد PHP:
         mv testip.txt testip 
    کد PHP:
         chmod 755 testip 
    نکته هم اینکه شما باید با توجه به LAN خود اسکریپت را تغییر دهید. بطور مثال در شکل بالا محدوده آدرس شبکه 192.168.244.0/24 است که شما بطور مثال می توانید در حلقه for آنرا به 192.168.1 تغییر دهید که به صورت زیر خواهد شد.

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	testip_shell2.png نمایش ها:	1 اندازه:	1.0 KB شناسه:	18264

    و می توایند محدوده درون حلقه for ( که در آکولاد ها آمده اند) را از 1 تا 254 قرار دهید.
    به این صورت :

    کد PHP:
         {254..1
    نویسنده نامی امیر
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-12-2020, 01:20 AM.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی

ایمیل مدیریت

Habili@linux-zone.org

در حال انجام ...
X