پایتون به‌عنوان یکی از ساده‌ترین و محبوب‌ترین زبان‌های برنامه‌نویسی دنیا، جایگاه ویژه‌ای در حوزه شبکه و امنیت دارد. با پایتون می‌توانید دستگاه‌های متصل به شبکه را بررسی کنید، دستورات سیستم‌عامل را اجرا کنید و حتی نتایج را در فایل ذخیره نمایید.
در این راهنما، مراحل زیر را یاد می‌گیرید:

  • نصب و راه‌اندازی پایتون

  • اجرای Ping برای IP یا دامنه

  • دریافت ورودی از کاربر

  • ذخیره نتایج در فایل متنی

این مقاله برای افراد مبتدی نوشته شده و نیازی به پیش‌زمینه برنامه‌نویسی ندارد.

آموزش نصب پایتون

  • هدف: نصب محیط برنامه نویسی پایتون برای کدنویسی.

1.    برنامه نویسی پایتون قابل اجرا بر روی تمام سیستم‌عامل‌ها اعم از windows, mac, linux است. ابتدا به سایت مرجع برای دانلود به آدرس python.org مراجعه کرده و نسخه هماهنگ با سیستم‎‌عامل خود را دانلود کنید.

سایت دانلود پایتون

2.    بعد از دانلود روی فایل دانلود شده کلیک کنید و گزینه «Install» را انتخاب کنید.

پنچره نصب پایتون در ویندوز

3.  اگر در طی فرآیند پرسشی نمایش داده شد، پاسخ Yes دهید تا دسترسی‌ها تأیید شوند.

پنچره تنظیمات نصب پایتون در ویندوز

4.    پس از نصب، برنامه IDLE در سیستم شما ایجاد می‌شود.
IDLE مخفف Integrated Development and Learning Environment است و امکان اجرای مستقیم کد پایتونی را فراهم می‌کند.

آیکون IDE پایتون

آموزش Ping در پایتون

 هدف: بررسی اتصال و در دسترس بودن یک IP یا دامنه در شبکه.

ماژول و کتابخانه در پایتون چیستند؟

  در برنامه‌نویسی «ماژول» مجموعه‌ای از کدهای آماده است که برنامه‌نویس‌های دیگر قبلا نوشته‌اند تا کارهای مشخصی را برای ما انجام دهند و نیازی نیست ما کد آن فرآیندها را از صفر بنویسیم؛ مثل یک جعبه ابزار از پیش ساخته شده و آماده استفاده است. «کتابخانه» مجموعه‌ای از ماژول‌ها است که هدف مشخصی دارند مثل کار با شبکه، تصویر یا داده‌ها.

ماژول subprocess چیست؟

  « subprocess»  به پایتون امکان اجرای برنامه‌ها و یا فرمان‌های سیستم‌عامل (مثل دستور ping) را میدهد. از آنجایی که خود پایتون به صورت مستقیم دستورات سیستمی را اجرا نمی‌کند، پس ما با کمک این ماژول آن را از طریق سیستم‌عامل اجرا می‌کنیم.

ماژول platform چیست؟

«platform» به برنامه می‌گوید پایتون الان روی چه سیستم‌عاملی (ویندوز، لینوکس، macOS) اجرا می‌شود. زیرا دستور ping پارامتر متفاوتی برای «تعداد بسته‌ها» در هر سیستم عامل دارد، باید از این ماژول استفاده کنیم.

در کد پایتونی زیر به سه آدرس IP پینگ زده می‌شود و خروجی چاپ خواهد شد. تابع ping host یک آدرس آیپی یا نام دامنه را می‌گیرد و بررسی می‌کند که آیا به آن پاسخ داده می‌شود یا خیر. خروجی تابع مقدار منطقی (True یا False) است که نشان دهنده‌ی در دسترس بودن آن میزبان است.

  • از platform برای شناخت سیستم‌عامل (ویندوز یا غیر ویندوز) استفاده می‌کنیم. ویندوز از -n و لینوکس/مک از -c برای تعیین تعداد بسته‌ها استفاده می‌کنند.

  •  فهرستی نیز از چند IP دامنه برای تست سریع مشخص می‌کنیم.

کد پایتونی تست اتصال پینگ

خروجی کد به این صورت خواهد بود و اگر دامنه در دسترس نباشد پیام no reply نمایش داده می‌شود.

خروجی تست اتصال پینگ

آموزش گرفتن ورودی از کاربر در پایتون

  • هدف: دریافت داده از کاربر و استفاده از آن در برنامه.

تابع چیست؟

تابع یک «دستورالعمل آماده» در برنامه‌نویسی است. با صدا زدن آن کاری که برایش مشخص شده است را انجام می‌دهد و ممکن است خروجی را نیز برگرداند.

تابع input()  چیست؟

این تابع پیام مشخص شده داخلش را به کاربر نشان می‌دهد و منتظر ورودی او می‌ماند. جالب است بدانید پایتون هنگام دریافت ورودی، اعداد را تشخیص نمی‌دهد و مانند متن ذخیره می‌کند. برای تعریف کردن عدد باید روش دیگری استفاده کنید که در تصویر این بخش توضیح داده شده است.

تابع strip() چیست؟

این تابع فاصله‌های اضافی یا همان space ها را حذف می‌کند.

 کد، پیام سبز را چاپ کرده و منتظر ورودی کاربر می‌ماند تا آن را دریافت کرده و داخل متغیر prefix ذخیره کند.

دریافت ورودی متنی از کاربر

استفاده از int() برای تعریف ورودی عددی در پایتون.

دریافت ورودی عددی از کاربر

خروجی نهایی و چاپ متغیرها.

خروجی نهایی

آموزش نمایش نتایج در خروجی فایل

  •   هدف: ذخیره کردن مقادیر یا نتایج یک برنامه در یک فایل.

کد نمونه زیر نحوه ذخیره مقادیر در فایل را نشان میدهد که اینجا برای مثال همان IP های فعال را ذخیره می‌کنیم. متغیر active  فرض می‌شود که شامل لیست آیپی‌های فعال است (یا هر چیز دیگری که می‌خواهید داخل فایل ذخیره کنید) و در صورت خالی نبودن این متغیر، کد مقادیر داخل آن را درون فایل active_ips.txt ذخیره می‌کند.  

اگر هنگام اجرای برنامه فایل باز باشد، با خطای «permission» مواجه می‌شوید (همانطور که بنده برای اولین بار با آن مواجه شدم) کافی است فایل را بسته و دوباره برنامه را اجرا کنید.

  •     بخش with open(..., "w") as f فایل را برای عملیات نوشتن باز می‌کند (اگر فایلی از قبل وجود نداشته باشد آن را می‌سازد).
  •     حلقه for هر آیپی فعال را در یک خط فایل ذخیره می‌کند.
  •     زبان پایتون برای سازگاری بهتر با حروف فارسی قابلیت encoding="utf-8" را دارد که می‌توان از آن استفاده کرد.

ذخیره مقادیر در فایل

جمع‌بندی

در این آموزش از زبان پایتون، یاد گرفتیم برنامه‌ای بسازیم که بتواند IP های فعال در شبکه را با استفاده از Ping زدن شناسایی کند. در طول این مسیر، با نحوه نصب پایتون، اجرای دستورات ساده شبکه، دریافت ورودی از کاربر و ذخیره آن در فایل آشنا شدیم.

پیشنهاد می‌شود در ادامه، به دنبال یادگیری مباحثی مانند شرط‌ها (if)، حلقه‌ها (for, while) بروید تا برنامه‌تان بهینه‌تر شود.