- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经开始为基于 Z80 的旧机器开发 SMB 服务器。这台机器运行一个非常简单的、类似MS-DOS的操作系统(没有多任务,没有用户概念,只有FAT文件系统,没有unicode,只有8.3文件名)并且内存有限,因此我的第一个想法是只实现SMB核心协议(protocol)。我将使用 TCP 传输。
就目前而言,我只有一个非常短的测试代码,它仅回复 SMB_COM_NEGOTIATE 命令,表明核心协议(protocol)(“PC NETWORK PROGRAM 1.0”)是所需的方言。为了测试它,我尝试从 Windows 7 计算机进行连接,打开资源管理器窗口并输入 "\\<server IP>"
在地址栏中。我已使用 Wireshark 验证服务器收到协商命令并发送(显然)正确的响应。
问题:一旦 Windows 客户端收到响应,它就会显示一条通用的“无法访问资源”错误消息(错误代码为 0x80004005),然后什么也没有发生(没有进一步的 SMB)消息已发送)。我期望收到 SMB_COM_TREE_CONNECT 或类似的命令。
我当时想,也许Windows 7不支持核心协议(protocol)(它很旧,而且缺乏任何安全功能),但是,为什么它会在协商请求中列出核心方言名称呢?也许我错过了一些步骤?服务器必须在协商响应后发送任何额外的数据包吗?
客户端操作系统是 Windows 7 Ultimate 64 位,以下是请求和响应的 Wireshark 转储,以防任何人在过程中发现任何错误:
请求:
响应:
更新:如果我选择 NT LM 0.12 方言而不是核心方言,我会收到来自客户端的 SESSION_SETUP_AND_REQUESTX 命令。显然,Windows 7 确实不支持核心协议(protocol)。无论如何,任何额外的信息将不胜感激。
最佳答案
我相信 Windows 7 确实支持核心协议(protocol)。当按照 here 连接到旧服务器时,它会降级到 SMB 1.0。
根据 Windows 7 连接到 Samba 服务器的问题,我认为指定核心协议(protocol)的问题是由于 Windows 7 计算机上的 LANMAN 工作站/客户端设置造成的。
建议的更改是
网络安全:LAN Manager 身份验证级别发送 LM 和 NTLM 响应
【HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\【LmCompatibilityLevel】
值更改为0,按照here在注册表中的 LanmanWorkStation 和 NetLogon 中添加以下参数 HKLM\System\CCS\Services\LanmanWorkstation\Parameters
DWORD 域兼容性模式 = 1
DWORD DNSNameResolutionRequired = 0
HKLM\System\CCS\Services\Netlogon\Parameters
DWORD RequireSignOnSeal = 0
DWORD RequireStrongKey = 0
列出了通过注册表和安全策略可能对这些设置进行的更改 here
这些更改应确保 LanmanWorkstation 不使用 NTLMv2 session 安全性。
关于windows-7 - Windows 7真的支持SMB核心协议(protocol)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5014350/
我正在尝试使用 JCIFS 将一些远程文件复制到本地驱动器,在 Java 中。 远程机器在域内。本地机器不在域中。 下面的代码有效,但它真的很慢(700Kb 需要 2 分钟......而且我有很多 M
我必须更新使用适用于 Windows Server 2012 的 JCIFS 的旧文件共享软件。出于安全目的,我们必须禁用 SMB 1.0/CIFS 兼容性。有谁知道可以在 Java 中使用的 JCI
在下面的代码语句中: SmbFileInputStream din==new SmbFileInputStream(src); 我正在尝试创建一个 SmbFileInputStream 对象。如果 S
在 Mac 上,我有一个共享文件夹 ~\Documents。有两个子文件夹:Data 和 Data_2011,前者包含过去几年的文件文件夹,后者包含指向 Data 文件夹中自 2011 年 1 月 1
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 4年前关闭。 Improve thi
要读取 R 中的文件,我通常会执行如下操作: read.csv('/Users/myusername/myfilename.csv') 但是,我正在尝试读取位于远程服务器(Windows SMB/CI
我正在尝试通过 JCIFS 访问公司网络中的共享文件夹。但是当我尝试列出共享文件夹下的文件时,它会抛出 SmbException,如下所示, jcifs.smb.SmbException: 0xC00
我正在尝试将 jar 文件复制到 Windows 共享文件夹,并且使用 smb 来执行此操作,但出现以下错误。还有其他方法可以复制文件吗? String user = "abc"; S
如何将 Mplayer 移植到 iOS?并使其支持 SMB? 我构建了ffmpeg,但另一件事是我不知道如何使这个支持smb。 我想要的是在 iOS 上开发一个支持 smb 的播放器。 最佳答案 我在
我知道 smbclient 不允许输出重定向,但是否有任何解决方法可以将输出输出到文本文件或标准文件? 最佳答案 你试过这个吗: $ smbclient -U USER%PASSWORD //IPTO
命令行的mac上的“连接到服务器”等效于什么? 我想自动化这个过程,而不是每次需要连接到服务器时都调用对话框。 最佳答案 有多种方法可以连接到远程服务器! 我假设您有在 Windows 操作系统上运行
我正在寻找一种在 SMB 远程共享上检索比某个日期/时间更新的文件的方法,所有这些都在 Windows 下工作。我一直在使用DirectoryInfo.EnumerateFiles() ,并在返回时进
我有一个文件存储在服务器中,路径如下:\\myserver\folder\myfile.txt 如何将此 SMB 地址放入带有超链接的单元格中? Hyperlink link = createHelp
在 PowerShell 中: PS> (Get-SmbConnection)[0].Encrypted 我如何在 C# 中执行此操作? 最佳答案 这是一个 WMI 方法。要在 C# 中做到这一点,您
我在删除方法上收到以下错误: jcifs.smb.SmbException:进程无法访问该文件,因为该文件正在被另一个进程使用。 如何确保文件没有被锁定以便可以将其删除? 我的代码: try{
我正在开发一个 Android 应用程序,它可以在 Windows PC 上写入和读取文件 (*.txt)。该应用程序连接到 WiFi 网络并使用 SMB。当网络有互联网连接时,该应用程序运行良好。当
是否可以使用 jcifs 列出网络上所有可用的 smb 服务器?我尝试了另一篇将 smb:// 传递给 SmbFile 构造函数的建议,但没有给我任何结果。而我能够传递 smb://username:
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
我在 Android SDK 中使用 Smb。 我有下一个代码: public AuthListFiles() throws Exception { 1 SmbFile file = n
我一直在尝试找到一种通过 swift 2 和 Xcode 7 连接到我的网络驱动器的方法。我可以连接到我的桌面或文档目录,但不能连接到我的服务器。我玩过 NSString/NSURL 等但无济于事。以
我是一名优秀的程序员,十分优秀!