-
چهارشنبه, ۱۷ ارديبهشت ۱۳۹۹، ۱۰:۴۳ ب.ظ
-
۷۰۴
نوشتن اسکریپت اسکن سیستم های LIVE در شبکه در بش (BASH)
درود به همه !
سلام دوستان . امروز اومدم یه اسکریپت خیلی باحال دیگه رو باهم برسی کنیم .
این اسکریپت رو با نام PING SWEEP میشناسنش . کارش اینه که میاد کل رنج آی پی های شبکه رو اسکن میکنه و آی پی های لایو و فعال رو توی شبکه شناسایی میکنه . (روش های بهتری هم غیر PING SWEEP هست )
این اسکریپت رو میخوایم با بش (BASH) بنویسیم .
خب بزارید یه توضیح بدیم که طرز کار اسکریپت چیه ؟ خب این اسکریپت از ابزار PING برای تشخیص لایو بودن آی پی ها در شبکه استفاده میکنه . همینطور که میدونید PING یکی از ابزار های پرکاربرد شبکه هست که معمولا برای عیب یابی دیوایس های شبکه ازش استفاده میکنن . طرز کار ابزار پینگ به این صورته که وقتی شما یه آی پی رو پینگ میکنید سیستم شما یه سری پکت ICMP میفرسته به سیستم هدف و سپس اگه سیستم هدف روشن باشه (همچنین ICMP رو بلاک نکرده باشه) برای شما یه سری ریپلای هایی میفرسته که نشون میده اون آی پی زندس و داره به ما جواب میده . حالا ما از همین مکانیزم برای تشخیص فعال بودن آی پی ها استفاده میکنیم . یعنی کل رنج آی پی های شبکه رو دونه به دونه پینگ میکنیم هر کدوم جواب برای ما فرستادند یعنی فعالن .
خب بریم سراغ اسکریپت . یه فایل بش اسکریپت میسازیم و سورس زیر رو میریزیم داخلش :
#!/bin/bash
# MrPython.blog.ir
for host in $(seq 254)
do
ping -c 1 192.168.1.$host | grep "bytes from" | cut -d " " -f4 | cut -d ":" -f1
done
همونطور که میبینید اسکریپت خیلی ساده ایه . اولین خط سورس که شبانگ رو زدیم که مشخص میکنه این اسکریپت با چه مفسری اجرا بشه . ما گفتیم با مفسر خود بش اجرا بشه . دومین خط هم که بماند ....
از سومین خط بخش اصلی اسکریپت شروع میشه . ما یه حلقه فور نوشتیم که اعداد ۱ تا ۲۵۴ رو هر بار میزاره به جای اکتت (بخش) آخر آی پی که من در زیر بخش آخر آی پی رو ایکس میزارم . خودمونی بگم این اعداد رو یکی یکی میزاره جای x
192.168.1.x
و به این صورت هر کدوم از آی پی ها که جوابی برای ما بر میگردونه یعنی اون زندس و با ترکیبی از دستورات grep و cut ، آی پی اون سیستم رو روی ترمینال نشون میدیم .
البته نکته اینجاس که اسکریپت بسته به پیکربندی های شبکه فرق میکنه . الان network id شبکه من 192.168.1.0 هستش شاید از شما مثلا 10.0.0.0 باشه یا ... و همچنین سابنت ماسک من 255.255.255.0 هستش (سابنت ماسک یه جورایی محدوده ی آی پی های شبکه رو مشخص میکنه) بنابراین فقط اکتت آخر آی پی تغییر میکنه . پس با توجه به شبکه خودتون اسکریپت رو میتونید تغییر بدید .
خب اینم از این اسکریپت
پست بعدی در مورد چی باشه ؟ اگه بحث خاصی مد نظرتونه که میخواید توی پست بعدی روش بحث کنیم داخل بخش نظرات این مطلب بگید .
یا حق !