اگر علاقه به یادگیری خط فرمان ویندز (Command Prompt) دارید، بهتر است همین حالا دست به اقدام بزنید. آموزش خط فرمان ویندوز به صورت 100% تضمینی با 7 روز گارانتی بازگشت وجه بدون قید و شرط و 59% تخفیف ویژه (اطلاعات بیشتر…)

ساخت IP Scanner با Batch Script

آموزش ساخت IP Scanner با Batch Script

تا به امروز ابزار های زیادی جهت بررسی IP های درون یک شبکه درست شده است که حقیقتا بعضی از آنها مثل Advanced IP Scanner بسیار کاربردی و مفید میباشند. اما امروز میخواهیم خودمان یک IP Scanner بسازیم که از سرعت بالایی در بررسی IP های درون یک شبکه برخوردار باشد و تا حدی نیاز مان را نسبت به برنامه های Third Party ویندوز برطرف سازد.

نیازمندی های ساخت IP Scanner با Batch Script

آنچه که در این آموزش مورد نیاز ما میباشد وجود دستور Ping در ویندوز است که ما میخواهیم با استفاده از این دستور از وجود IP های زنده در شبکه خود با خبر شویم.

برای شروع ابتدا باید با استفاده از دستورات echo و title و color و mode و setlocal بخش اصلی برنامه IP Scanner خود را بسازیم تا کاربران مان با یک محیط جذاب روبرو شوند 🙂 . برای مثال:

@echo off

title TMLMANAGER IP SCANNER

color 0f

mode con cols=100 lines=25

setlocal enabledelayedexpansion

echo ____________________________________________________________________________________________________

echo.

echo                                 Welcome to The TMLMANAGER IP Scanner

echo.

echo ____________________________________________________________________________________________________

echo.

استفاده از دستور Set و ساخت متغیر

با استفاده از دستورات بالا فقط ظاهر برنامه IP Scanner ساخته شده است. حال باید با استفاده از دستور Set از کاربر درخواست IP بکنیم و آن IP را در یک متغیر ذخیره کنیم. برای مثلا:

set /p IPRANGE=Please enter your IP Address here:

استفاده از دستور For و ساخت حلقه

پس از دریافت آدرس آی پی از کاربر باید آدرس را با استفاده از دستور for به چهار متغیر مختلف تقسیم کنیم و اکتت آخر آنرا حذف کنیم تا بتوانیم یک Range از آدرسهای آی پی را با آن بررسی کنیم.  برای مثال:

for /f "usebackq tokens=1-4 delims=." %%a in ('!IPRANGE!') do (

    set IPADDRESS=%%a.%%b.%%c

)

استفاده از دستور for و if برای چرخش و شرطی سازی

حال باید یک دستور for به همراه پارامتر /l برای شمارش عدد 1 تا 254 درست کنیم و این دستور for را در دستور for قبلی قرار دهیم تا رنج آدرسهای مشخص شده ما یکی یکی با دستور ping بررسی شوند و پس از آن با استفاده از دستور if صحت عملکرد دستور ping را بررسی کنیم و در نهایت شرطی مشخص کنیم که اگر ما به درستی به آدرس آپی دسترسی داشتیم آن آدرس را در یک فایل متنی برای مان ذخیره کند. برای مثال:

for /f "usebackq tokens=1-4 delims=." %%a in ('!IPRANGE!') do (

    set IPADDRESS=%%a.%%b.%%c

    for /l %%g in (1,1,254) do (

        ping -n 2 -w 1 !IPADDRESS!.%%g >nul

        if !errorlevel! equ 0 (

            echo Founded IP Address: !IPADDRESS!.%%g >>FoundedIPAddress.txt

        )

    )

)

خب تا اینجا به همین سادگی برنامه IP Scanner ما ساخته شد اما این برنامه ای که درست کردیم سر شار از مشکلات میباشد که باید آنها را برطرف سازیم. مثلا یکی از این مشکلات این است که ما مشخص نکردیم که اگر غیر از IP چیز دیگری وارد شد آن مقدار از کاربر پذیرفته نشود و … پس باقی کار رو به خودتون می سپارم 🙂

برای دریافت فایل آماده برنامه باید در سایت عضو شوید تا بتوانید فایل را مشاهده و دانلود کنید.

اگر سوال و یا انتقادی نسبت به آموزش ساخت IP Scanner با Batch Script دارید تی ام ال منیجر را از محبت خود محروم نکنید.


اگر نیاز به نسخه PDF مقاله های سایت دارید به شما پیشنهاد میکنم حتما در سایت ثبت نام کنید تا به صورت رایگان آنها را دریافت کنید. ورود به سایت | ثبت نام در سایت

 


اگر علاقه به یادگیری خط فرمان ویندز (Command Prompt) دارید، بهتر است همین حالا دست به اقدام بزنید. آموزش خط فرمان ویندوز به صورت 100% تضمینی با 7 روز گارانتی بازگشت وجه بدون قید و شرط و 59% تخفیف ویژه (اطلاعات بیشتر…)
محمد برغمدی

محمد برغمدی

امام علی علیه السلام: با مردم آنگونه معاشرت كنيد، كه اگر مرديد بر شما اشك ريزند، و اگر زنده مانديد، با اشتياق سوي شما آيند.

5 دیدگاه برای «ساخت IP Scanner با Batch Script»

  • مهر 13, 1397 در t 01:22
    Permalink

    سلام در فرم ورود وقتی نام کاربری صحیح وارد شود و رمزعبور اشتباه به پیغام (خطا: رمزعبوری که برای نام کاربری iman-pakrouh وارد کرده‌اید، صحیح نیست. رمزتان را گم کرده‌اید؟)
    بر میخوریم که این پیغام از لحاظ امنیتی کاملا مشکل داره و شما میتوانید با اضافه کردن تکه کد
    function failed_login () {
    return ‘the login information you have entered is incorrect.’;
    }
    add_filter ( ‘login_errors’, ‘failed_login’ );
    به فایل functions.php جلوگیری کنید.

    پاسخ دادن
    • محمد برغمدی
      مهر 13, 1397 در t 17:51
      Permalink

      سلام ایمان جان
      ممنون از محبت تون، بله کاملا درسته، نباید نام کاربری رو فاش کنه 🙂
      ولی در کل سایت تی ام ال منیجر یک بلاگ عادی و اطلاعات کاربری خاصی در سایت ثبت نمیشه ولی بازهم امنیت اطلاعات مربوط به کاربر ها حرف اول رو میزنه و من از شما بابت کدی که ارسال کردید واقعا ممنونم.
      موفق و سربلند باشید.

      پاسخ دادن
  • مهر 16, 1397 در t 15:45
    Permalink

    من یه سوال دارم اونم اینه که مثلا من 1 فایل bat میسازم و کدامو هم مینویسم.
    برای اینکه کدم تمیز باشه میخوام این 1 فایل رو تبدیل به 3 فایل کنم.
    و میخوام یک فایل چهارمی وجود داشته باشه که هر 3 این فایل هارو درون اون فایل صدا بزنم.
    و سوالم اینه که باید با چه دستوری این فایل هارو صدا بزنم؟

    پاسخ دادن
    • محمد برغمدی
      مهر 16, 1397 در t 19:45
      Permalink

      سلام ایمان جان
      شما میتونید هم از دستور call استفاده کنید هم از دستور start
      دستور start یک پنجره جدا باز میکنه اما دستور call در همون پنجره فعلی برنامه رو اجرا میکنه

      پاسخ دادن

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *