Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Python脚本运行时未找到Nmap_Python_Linux_Python 3.x_Popen - Fatal编程技术网

从Python脚本运行时未找到Nmap

从Python脚本运行时未找到Nmap,python,linux,python-3.x,popen,Python,Linux,Python 3.x,Popen,我已经为目标ip编写了基本端口扫描程序,当我通过kali vm运行它时,它会显示sh:1:nmap-F192.168.234.135:notfound。但是当我运行nmap-F 192.168.234.135。。。它工作得很好。有人能指出背后的原因吗。谢谢 import os def get_nmap(options,ip): command = "nmap" + options + "" + ip process = os.popen(command) result

我已经为目标ip编写了基本端口扫描程序,当我通过kali vm运行它时,它会显示
sh:1:nmap-F192.168.234.135:notfound
。但是当我运行
nmap-F 192.168.234.135
。。。它工作得很好。有人能指出背后的原因吗。谢谢

import os

def get_nmap(options,ip):
    command = "nmap" + options + "" + ip
    process = os.popen(command)
    result = str(process.read())
    return result

print(get_nmap('-F','192.168.234.135'))

您需要在命令字符串中添加空格。换成

  command = "nmap " + options + " " + ip
更好的方法是使用模块:


... “用python编写端口扫描程序”实际上不仅仅是通过python调用
nmap
的过程。您需要在选项和IP之间留出一个空间。将其更改为command=“nmap”+options+“”+ipMaybe check out,这将帮助您解决根本问题:如果您还不是Linux专业人士,请不要使用Kali。坦率地说,这个问题完全令人困惑。我不明白这是现在公认的答案。这个问题已经得到了回答,这与它最初不起作用的原因无关。最好不要在不需要的时候检查外壳。OP问他的代码不起作用的原因。这不是那个问题的答案。
def get_nmap(options, ip) :
    return subprocess.check_output(["nmap", options, ip])
#end get_nmap