Вы уверены, что файл журнала даже создан?Я не вижу, где упомянуто это имя, но, возможно, оно создано по умолчанию.
Вас спрашивают пароль по sudo
?Это может сказать вам, действительно ли sudo запущено.
os.system
отчасти устарело или, по крайней мере, осуждается;лучше использовать subprocess.call()
, subprocess.check_call()
или subprocess.Popen()
(дает объект, который вы можете использовать для дальнейшего управления процессом).
РЕДАКТИРОВАТЬ: Только что протестировано.Здесь сканирование выполняется, но вывод выводится вместо записи в файл.Возможно, вы пропускаете часть > nmapscan1.log
в вызове os.system()
.
С subprocess
вы бы написали
sp = subprocess.Popen(['sudo', 'nmap', '-sC', '-sV', '-PN', '-O', '192.168.0.1/24'],
stdout=file("nmapscan1.log", "w"))
sp.wait()
f = open('nmapscan1.log', 'r')
print f.read()
f.close()
или, если вам не нужен файл, просто
sp = subprocess.Popen(['sudo', 'nmap', '-sC', '-sV', '-PN', '-O', '192.168.0.1/24'],
stdout=subprocess.PIPE)
print sp.stdout.read()
sp.wait()