Come saltare un IP quando si utilizza Nmap in Python?
-
12-12-2019 - |
Domanda
Sto usando NMAP in Python e sto cercando di eseguire la scansione della rete utilizzando un file di testo.Tutte le gamme di scansione sono in un file di testo, come SO:
192.168.1.1-100 192.168.1.120-200. ...
Però, diciamo se la scansione non ha trovato l'host 192.168.1.3, perché è stato offline.Il programma si bloccherà.C'è un modo in cui posso aggirare questo incidente?Posso usare qualcosa come provare / cattura?
Grazie, Jay
.
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')
.
Questo è il campione del codice
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'}
.
Questo è l'errore
Soluzione
nmap
prende due argomenti per l'esclusione.--exclude
prende il nome host e --excludefile
accetta un file contenente il nome di host che devono essere esclusi.Usa uno di questi come bisogno.
Per ulteriori informazioni sul bersaglio di impostazione, vedere il uomo pagina.
Ecco il mio risultato del test -
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': ''}}}
>>>
.
Puoi usare il try-catch -
try:
nm.scan(content[counter], '517', '-sU -sT')
except:
#handle exception...
.
Poiché non si scaricano i server, è possibile eseguire il ping del server prima di procedere alla scansione NMAP.