c# - 如何在 C# 中通过 CIFS 中的 Socket 发送 SMB_COM_SESSION_SETUP_ANDX 请求?
问题描述
如何在 C# 中通过 CIFS 中的 Socket 发送 SMB_COM_SESSION_SETUP_ANDX 请求?我想发送此请求并从 C# 中的目标地址获得响应。我想以 CIFS 格式发送 CIFS 请求。
任何代码片段都受到高度赞赏。
提前致谢。
解决方案
本质上,您需要实现能够执行请求和解释响应所需的 CIFS 协议的所有方面。这里的起点是CIFS 规范和/或通用 Internet 文件系统 (CIFS) 技术参考。
通常,此请求是SMB_COM_NEGOTIATE
CIFS 消息交换中的第二个请求(在选择要使用的 CIFS/SMB 方言之后),代表协议的用户登录阶段。
如果您只需要能够针对 CIFS 服务器对用户进行身份验证,则范围可能足够小以使自定义实现变得可行。不过,这取决于您需要哪种身份验证。如果基于明文密码的身份验证就足够了,您可以坚持使用最简单的身份验证机制。否则,在 NTLM/Kerberos 的情况下(如在明文密码的情况下,不应再从安全 POV 使用 NTLM),事情会变得更加复杂,通常需要多次往返才能完成身份验证过程。
一个更简单的替代方案是SMBLibrary,它实现了基于 C# 的协议。
推荐阅读
- amazon-web-services - 如果存储桶名称不包含 sagemaker,则需要哪些权限才能允许 Lambda 函数创建 SageMaker 批量转换作业?
- node.js - node js express会话如何在浏览器打开之前保持所有路径和页面重新加载相同
- python-3.x - python中的硒在尝试抓取数据时正在跳过文章
- kubernetes - Kubernetes Rest API 调用等效于 kubectl replace -f POD.yaml --force
- java - 试图在 Netbeans 中更改作者姓名,现在我无法提交到 Github
- android - setState 在浮动操作按钮内不起作用并且无法在颤动中呈现 ui?
- node.js - 无法使用 pact-js 生成具有规范 v3 的协议
- java - 如何使用java代码在String中剪切字段32A
- python - 如何在 mac、linux 和 windows 等所有平台的 selenium 中使用 chromedriver?
- python-3.x - 在python中将连续值转换为离散值