سؤال

أنا أستخدم nmap في لغة python، وأحاول فحص الشبكة باستخدام ملف نصي.جميع نطاقات المسح موجودة في ملف نصي، كما يلي:

192.168.1.1-100 192.168.1.120-200 ...

ومع ذلك، لنفترض أن الفحص لم يعثر على المضيف 192.168.1.3، لأنه غير متصل بالإنترنت.سوف يتعطل البرنامج.هل هناك طريقة يمكنني من خلالها التغلب على هذا الانهيار؟هل يمكنني استخدام شيء مثل حاول/قبض؟

شكرا يا جاي


counter = 0
with open('range.txt') as rangefile:
    content = rangefile.readlines()

while counter < len(content):
    nm = nmap.PortScanner()
    #define the nmap scan here
    nm.scan(content[counter], '517', '-sU -sT')

هذه هي عينة من التعليمات البرمجية

  File "c:\...\nmapscan.py", line 63, in <module> therehost = Host.objects.get(ipv4_address=hosts) va.assessment.models.DoesNotExist: Host matching query does not exist. Lookup parameters were {'ipv4_address': u'134.250.16.103'}

هذا هو الخطأ

هل كانت مفيدة؟

المحلول

nmap يأخذ حجتين للاستبعاد. --exclude يأخذ اسم (أسماء) المضيف و --excludefile يأخذ ملفًا يحتوي على اسم المضيفين الذين يجب استبعادهم.استخدم واحدة من هذه حسب حاجتك.لمزيد من المعلومات حول تحديد الهدف، راجع رجل صفحة.

وهنا نتيجة الاختبار الخاص بي -

Python 3.2.3 (default, May  3 2012, 15:54:42) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import nmap
>>> nm=nmap.PortScanner()
>>> nm.scan('134.250.16.103','517', '-sU -sT')
{'nmap': {'scanstats': {'uphosts': '0', 'timestr': 'Sat Jul 28 12:54:27 2012', 'downhosts': '1', 'totalhosts': '1', 'elapsed': '3.06'}, 'scaninfo': {'udp': {'services': '517', 'method': 'udp'}, 'tcp': {'services': '517', 'method': 'connect'}}, 'command_line': 'nmap -oX - -p 517 -sU -sT 134.250.16.103'}, 'scan': {'134.250.16.103': {'status': {'state': 'down', 'reason': 'no-response'}, 'hostname': ''}}}
>>> 

يمكنك استخدام محاولة الالتقاط-

try:
   nm.scan(content[counter], '517', '-sU -sT')
except:
   #handle exception...

نظرًا لأنك لا تعرف أي الخوادم معطلة، يمكنك اختبار اتصال الخادم قبل متابعة فحص nmap.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top