Python 脚本 运行 时找不到 Nmap

Nmap not found when run from Python script

我已经为目标 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'))

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

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

更好,使用 subprocess 模块:

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