NetBios, NetBios over TCP/IP, SMB 之间的关系

首先提到的是NetBios,NetBios是Network Basic Input/Output System的缩写,提供了一种允许局域网内不同电脑能够通信的功能。严格来说,NetBios是一套API,而并不是一个网络协议。

如今,我们使用的网络协议栈是TCP/IP协议栈,在Windows操作系统上,NetBios运行在NetBios over TCP/IP的协议上,NetBios over TCP/IP(简称NBT或者NetBT)是一个网络协议,允许以前使用NetBios API的应用程序能够在现代的TCP/IP网络中。如下图:

再说SMB,SMB是Server Message Block的缩写,作为一个应用层的协议,主要提供一个网络中文件共享、文件打印和进程间通信等功能,如今SMB的使用主要存在于Windows系统中。

SMB协议是运行在会话层之上的网络层协议,有两种运行方式,第一种通过NetBios API,如下图:

使用的是UDP的137和138端口以及TCP的137和139的端口。

第二种是直接运行在TCP和UDP协议之上,使用的是445端口,可以称为"Direct hosting of SMB over TCP/IP"。

总结一下,Windows主机上文件打印、文件共享等都通过SMB协议来实现,而SMB通过两种方式运行在139和445端口之上。我们可以通过手段使得SMB只通过第二种方式运行,而不通过NetBios API。本地连接属性àInternet协议版本4属性à高级àWINSà禁用TCP/IP上的NetBios.这样的话SMB就只运行在445端口之上了。

禁用前:

禁用后:

 

转载https://www.cnblogs.com/wangaohui/p/5116519.html

posted @   pipci  阅读(6395)  评论(0编辑  收藏  举报
编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
· 程序员转型AI:行业分析
· 重磅发布!DeepSeek 微调秘籍揭秘,一键解锁升级版全家桶,AI 玩家必备神器!
历史上的今天:
2017-12-19 设置Linux系统的空闲等待时间TMOUT
点击右上角即可分享
微信分享提示