Joh*_*ian 2 python ubuntu os.system python-2.7 ubuntu-11.04
所以我在Ubuntu 11.4和Python 2.7上运行看起来像这样的代码:
p_scan_command = "sudo nmap -sC -sV -PN -O 192.168.0.1/24"
time.sleep(1.5)
os.system(p_scan_command)
f = open('nmapscan1.log', 'r')
print f.read()
f.close()
Run Code Online (Sandbox Code Playgroud)
发生的事情是我最终没有结果,并且扫描没有运行,可能是因为它正在运行'sudo'.我想知道
您确定甚至创建了日志文件吗?我看不出这个名字的位置 - 但也许它是默认创建的.
你被要求输入密码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()
Run Code Online (Sandbox Code Playgroud)
或者,如果您不需要该文件,只需
sp = subprocess.Popen(['sudo', 'nmap', '-sC', '-sV', '-PN', '-O', '192.168.0.1/24'],
stdout=subprocess.PIPE)
print sp.stdout.read()
sp.wait()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1212 次 |
| 最近记录: |