您确定甚至创建了日志文件吗?我看不到这个名字是在哪里提到的——但它可能是默认创建的。
是否要求您输入密码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()