2017-08-18 1 views
0

apprécierait vos conseils sur la façon d'exclure les hôtes de l'analyse à l'intérieur de la nm.scan() J'ai le script suivant qui fonctionne parfaitement lorsque j'entre dans la plage: par exemple 10.0.0.0/24Comment exclure les hôtes de la plage IP de l'analyse à l'intérieur du script python nmap

import sys 
import os 
import subprocess 
import csv 
import nmap       # import nmap.py module 
try: 
    nm = nmap.PortScanner()   # instantiate nmap.PortScanner object 
except nmap.PortScannerError: 
    print('Nmap not found', sys.exc_info()[0]) 
    sys.exit(0) 
except: 
    print("Unexpected error:", sys.exc_info()[0]) 
    sys.exit(0) 

file = raw_input('\nEnter the name of the file where the scan will be saved/add .csv/: ') 
ip_range = raw_input('\nEnter the IP range you want to scan/in the following foramt:x.x.x.x/mask: ') 
nmap_arguments= raw_input('\nEnter the nmap arguments : ') 
nm.scan(hosts=ip_range, arguments= nmap_arguments) 
nm.command_line()     # get command line used for the scan 
nm.scaninfo()      # get nmap scan informations {'tcp': {'services': '22-443', 'method'nect'}} 
nm.all_hosts()      # get all hosts that were scanned 


if (len(sys.argv) > 1 and sys.argv[1]): 
    save_csv_data(nm.csv(), path=sys.argv[1]) 
else: 
    save_csv_data(nm.csv()) 

print "Completed!" 

mais Par exemple, si je veux balayer la plage mais excluent les 2 hôtes, quand je rentre: nm.scan(hosts='10.0.0.0/24 --exclude 10.0.0.1, 10.0.0.2, arguments= nmap_arguments) - elle exclut seulement 10.0.0.1, mais encore à balayage 10.0.0.2.So ligne de fond est comment entrer la partie IP dans le nmap()

Répondre

0

Je l'ai eu.J'ai besoin de mettre les arguments d'abord:

nm.scan(arguments='-sT --open --exclude X.X.X.X,X.X.X.X',hosts='X.X.X.0/24')