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