使用check_output函数从pythons子进程模块调用nmap不起作用

时间:2015-05-07 15:45:00

标签: python-2.7 subprocess nmap

我想使用python脚本来使用nmap。我意识到python-nmap有一个包。但我想创建一个简单的脚本来解释nmap命令的输出,然后根据它的输出做更多的事情。

尝试使用check_output(" nmap"),就像这个链接一样:

Running shell command from Python and capturing the output

通过运行:

sp.check_output(
"nmap",
stderr=sp.STDOUT)

我收到错误:

CalledProcessError: Command 'nmap' returned non-zero exit status 255

该命令适用于apt-get,ls和python。 我认为nmap可能是一个已安装的程序,check_output正在正确的位置进行搜索以找到它。

nmap可以在我的终端中使用。

任何指针?

1 个答案:

答案 0 :(得分:0)

好的,明白了。 你必须将一些参数传递给nmap才能成功执行,以及shell' shell'应该启用。 以下命令有效:

subprocess.check_output("nmap -V", shell=True)