当以系统用户身份运行nmap时,子进程访问被拒绝错误

时间:2018-11-13 13:23:52

标签: python windows nmap

当系统在Windows 10工作站上引导时,我正在尝试运行python脚本。当我以具有管理特权的用户身份在其他目录中启动时,但在系统引导我从C:\ Windows \ System32 \ GroupPolicy \ Machine \ Scripts \ Startup文件夹中的bat文件运行该脚本时,我的python脚本运行正常在我的日志中收到以下错误。

2018-11-13 04:43:58,913 - VP - Level 55 - nmap args: ['"C:\\Program Files (x86)\\Nmap\\nmap.exe"', '-oX', 'C:\\\\nmap\\NmapResults\\scan-192.168.1.5-20181113044358.xml', '-sS', '-n', '-p-', '--allports', '--scan-delay', '1ms', '-sU', '-sV', '--version-all', '192.168.1.5']

Traceback (most recent call last):

  File "secnmap\nmap_scanner.py", line 596, in <module>

    exit_code = main()

  File "secnmap\nmap_scanner.py", line 248, in main

    run_nmap(args, scan_options, host_data_list, use_service_name_check)

  File "secnmap\nmap_scanner.py", line 268, in run_nmap

    nmap_proc = subprocess.Popen(nmap_cmd_list, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

  File "C:\Python27\lib\subprocess.py", line 390, in __init__

    errread, errwrite)

  File "C:\Python27\lib\subprocess.py", line 640, in _execute_child

    startupinfo)

WindowsError: [Error 5] Access is denied

这是.bat文件的内容。

cd C:\\nmap_startup
python nmap_startup.py

我已经尝试使用代码片段中所示的完整nmap.exe路径以及普通的旧nmap。无论哪种方式,我都会得到拒绝访问错误。我在subprocess.py中没有看到太多内容,也无法使我相信这是python代码的错误,因此我认为这是系统用户运行脚本的问题。如果有人有其他想法或想法,我很想听听他们的意见。谢谢

编辑:我选择从bat文件运行,因为我的python版本是32位,并且在C:\ windows \ system32目录中运行时遇到问题

1 个答案:

答案 0 :(得分:0)

事实证明,nmap路径AndroidManifest.xml未包含在系统环境变量中。当脚本以系统用户身份运行时,它无法识别nmap的位置