使用impacket的SMB客户端连接Windows机器时出现“无法请求会话”错误

2 投票
1 回答
1394 浏览
提问于 2025-04-17 04:00

我现在在用 Fedora 15(Python 2.7)。

我试过用 imapcket.smb 这个工具去连接 Windows 2000 SP4(法语版)、Windows XP SP2(法语版)和 Windows XP SP3(法语版),结果都很好用。但是当我用它去连接 Windows 7(法语版)64位系统时,就不行了。

这是我在 Python 中的代码:

>>> import impacket.smb as smb
>>> session = smb.SMB ( '*SMBSERVER' , '192.168.56.103' )

每次我都得到以下这一行:

>>> NetBIOSError ( 'Cannot request session', 240, 130 )

我搞不懂为什么会这样。

1 个回答

2

*SMBSERVER 是一个 NetBios 别名,它可以让你在不知道目标 Windows 机器真实的 NetBIOS 服务器名称的情况下,建立一个通过 NetBIOS(端口 139)连接的 SMB 连接。不过,从 Vista 开始,这个别名就不再使用了。

所以你有两个选择:

  1. session = smb.SMB ( '<目标 NetBIOS 名称>' , '192.168.56.103' )。你需要提前知道目标的 NetBIOS 名称。
  2. session = smb.SMB ( '192.168.56.103' , '192.168.56.103', sess_port = 445 )。这样你可以连接到目标的 445 端口,而不需要知道目标的 NetBIOS 服务器名称。

撰写回答