从Python脚本运行时找不到Nmap

时间:2017-10-19 13:37:08

标签: python linux python-3.x popen

我已经为目标ip编写了基本的端口扫描程序,当我通过kali vm运行时它会显示sh: 1: nmap-F192.168.234.135: not found。但是当我跑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'))

2 个答案:

答案 0 :(得分:0)

您需要在命令字符串中添加空格。将其更改为

  command = "nmap " + options + " " + ip

答案 1 :(得分:0)

更好,使用subprocess模块:

def get_nmap(options, ip) :
    return subprocess.check_output(["nmap", options, ip])
#end get_nmap