【问题标题】:AWS lambda : PortScannerError: 'nmap program was not found in path'AWS lambda:PortScannerError:“路径中未找到 nmap 程序”
【发布时间】:2021-10-21 02:17:55
【问题描述】:

当我从 AWS lambda 函数运行 nmap 时,我遇到了下面提到的错误。

[ERROR] PortScannerError: 'nmap program was not found in path. PATH is : /var/lang/bin:/usr/local/bin:/usr/bin/:/bin:/opt/bin'
Traceback (most recent call last):
  File "/var/lang/lib/python3.7/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/var/lang/lib/python3.7/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 696, in _load
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/var/task/lambda_function.py", line 38, in <module>
    nmScan = nmap.PortScanner()
  File "/var/task/nmap/nmap.py", line 134, in __init__
    os.getenv('PATH')

请帮我解决这个错误。

【问题讨论】:

    标签: python-3.x amazon-web-services aws-lambda


    【解决方案1】:

    Lambda 环境没有nmap。使用它的最简单方法可能是将您的函数部署为Lambda container image。您可以使用nmap 构建自己的图像。

    【讨论】:

    • 感谢您的回复。我创建了容器映像并在其中安装了 nmap,但从 Lambda 运行时仍然遇到相同的错误。当我从容器运行脚本时,它运行良好。你知道如何解决这个问题吗?
    • @Rukender 你现在必须使用你的容器。将其部署为链接文档中的 lambda 函数。
    • 我在 ECR 中部署了相同的容器,并在 lambda 函数中使用了 continer。但这仍然给了我同样的错误。
    • @Rukender 容器可能有问题。 lambda 容器需要特殊的准备和设置。我建议用相关细节提出新问题。
    • 我也安装了 nmap,我在 exec 模式下运行容器时也做了同样的事情,它运行脚本文件,但是从 lambda 函数运行它时仍然抛出相同的错误,不知道如何解决这个问题.
    猜你喜欢
    • 2021-11-18
    • 2012-10-08
    • 2012-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 2013-04-02
    相关资源
    最近更新 更多