使用带有smbrelayx.py的impacket时,“无法导入名称smbserver”

时间:2015-12-10 09:45:46

标签: python impacket

我知道这不是一个实际的信息问题,但我遇到了让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编程,我希望有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

您似乎安装了旧的impacket版本,并且使用的是smbrelayx.py的较新版本。

首先要知道你有什么版本。您可以通过在Python解释器中键入以下内容来轻松完成此操作:

from impacket import version
print version.BANNER

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

import impacket
print impacket.__file__

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

现在你的系统很干净,你有两个选择:

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

    python setup.py install 
    

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

  2. 安装开发版本:首先需要git clone开发版本:

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

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

    python setup.py install
    

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