1

我知道这不是一个实际的信息安全问题,但我在让 smbrealyx.py 模块工作时遇到问题。由于某种原因,当我尝试执行上述 python 程序时出现以下错误。

Traceback (most recent call last):
 File "smbrelayx.py", line 43, in <module>
 from impacket import smbserver, smb, ntlm, dcerpc, version
File "/usr/lib/python2.7/dist-packages/impacket/smbserver.py", line 18, in <module>
  from impacket import smbserver, version
ImportError: cannot import name smbserver

我不熟悉 python 编程,我希望有人可以帮助我解决这个问题。

4

1 回答 1

1

看起来您安装了旧impacket版本,而您使用的是较新版本的smbrelayx.py.

首先很高兴知道你有什么版本。您可以通过在 Python 解释器中键入以下内容轻松地做到这一点:

from impacket import version
print version.BANNER

假设您有一个旧版本,首先最好删除现有版本。根据您的 Unix 发行版,它可能与删除python-impacket软件包一样简单,或者您可以通过了解这些文件的位置来手动删除库文件:

import impacket
print impacket.__file__

这将为您提供安装库的路径。我建议删除整个目录。

现在您的系统是干净的,您有两个选择:

  1. 安装稳定版本:从这里获取最新的稳定版本。在临时目录中解压缩它,然后运行:

    python setup.py install 
    

    这将安装库和示例脚本(例如smbrelayx.py

  2. 安装开发版本:您git clone首先需要运行以下命令来安装开发版本:

    git clone https://github.com/CoreSecurity/impacket
    

    克隆 repo 后,在impacket目录类型中:

    python setup.py install
    

    这将安装库和示例脚本(例如smbrelayx.py

于 2015-12-11T15:47:25.417 回答