Edite! IPs só vão até 255 !
Existem 256 elementos por sub-rede, mas são indexados com zero. Você quer: 0-255
Usando as máscaras de sub-rede padrão:
nm.scan(hosts='10.10.0.0/24', arguments='-sn')
Eu tenho essa função:
if subnet==16:
nm = nmap.PortScanner()
a=nm.scan(hosts='172.16.2.0-256', arguments='-sn')
for k,v in a['scan'].iteritems():
if str(v['status']['state']) == 'up':
print str(v)
try: print str(v['addresses']['ipv4']) + ' => ' + str(v['addresses']['mac'])
except: print str(v['addresses']['ipv4'])
Mas o resultado é:
Traceback (most recent call last):
File "APINMAP.py", line 101, in <module>
main()
File "APINMAP.py", line 19, in main
a=nm.scan(hosts='172.16.2.0-256', arguments='-sn')
File "/usr/local/lib/python2.7/dist-packages/nmap/nmap.py", line 302, in scan
nmap_err_keep_trace = nmap_err_keep_trace)
File "/usr/local/lib/python2.7/dist-packages/nmap/nmap.py", line 360, in
analyse_nmap_xml_scan
raise PortScannerError(nmap_err)
nmap.nmap.PortScannerError: u'Your host specifications are illegal!\nQUITTING!\n'
Edite! IPs só vão até 255 !
Existem 256 elementos por sub-rede, mas são indexados com zero. Você quer: 0-255
Usando as máscaras de sub-rede padrão:
nm.scan(hosts='10.10.0.0/24', arguments='-sn')