x32x01
أدارة أكتب كود
- بواسطة x32x01 ||
برمجة أداة nmap بنفسك لفحص عناوين الآيبي للمواقع و السيرفرات في لغة بايثون
برمجة أداة nmap بلغة بايثون
كما نعرف بأن أداة nmap مهمتها فحص الأيبيات و المواقع و السيرفرات و اختبار البورتات المفتوحة و المغلقة و معرفة نوع نظام تشغيل السيرفر.....الخ.لتثبيت مكتبة nmap نكتب
Python:
pip3 install python-nmap
بهذا الأمر لقد استدعينا المكتبة nmap و ثبتناها في البايثون, في بعض الاحيان نريد عمل مهمة في nmap فيمكن عملها مباشرتاً من المحرر دون الخروج للترمنال و استخدامها بشكل منفرد.
البدء ببرمجة أداة nmap
استدعاء مكتبة nmap بالأمر
Python:
import nmap
انشاء متغير بإسم scanner لتعريف PortScanner الذي سوف تكون به جميع النتائج لدينا.
Python:
scanner = nmap.PortScanner()
انشاء متغير target عبر دالة الإدخال من أجل الطلب من المستخدم ادخال عنوان الآيبي الذي يريد فحصه.
Python:
target = input('Please enter an IP address: ')
عمل فحص شامل من البورت 1 حتى البورت 1024 يعني اول 1024 بورت.
Python:
scanner.scan(target,'1-1024','-sV')
طلبنا الطباعة على الشاشة الهوست الذي تم الحصول عليه.
Python:
print("the host name is: " + scanner[target].hostname())
بعدها طلبنا منه ان يعطينا حالة الجهاز الهوست هل يعمل أم لا.
Python:
print("the host status is: " + scanner[target].state())
عرفّنا متغير جديد يعرف لنا البورتات الموجودة لدينا و نوع البورتات هنا عبارة عن tcp تكون داخل قاموس كي يعرض البيانات على شكل قاموس Dictionary.
Python:
keys = scanner[target]['tcp'].keys()
ادخلنا البيانات المخرجة في حلقة لوب نوع for لتبيان نوع البورت كي يعطينا البورتات بشكل مفصل و مرتب جيداً.
Python:
for i in keys:
print('-----------------------')
print('the port ' + str(i) + " : ")
انشانا متغير res ليجمع لنا كل البيانات به في الحلقة كي يعرض لنا البورت و ما هو رقمه و عمله و حالته .....الخ.
Python:
res = scanner[target]['tcp'][i]
for re in res:
print(re + " : " + res[re])