天天看点

什么是SMB?

今天在网吧作了一天的试验!我才发现原来人们的安全意识还是这样的淡薄!非常容易的就进入了网吧的主机!是金钥匙管理系统!最后用x-can扫了一下,发现主机可以通过smb连接注册表,到底什么是smb?

为了进行通信,我们人类需要同一种语言,如汉语或英语,计算机可不一样了,它们使用的语言规则不能称之为语言,而要称为协议。tcp/ip,netbeui,和appletalk等都是协议。我们现在大家都知道什么tcp/ip,听说西安出租车司机都在谈这个东西。但是还有另外一种使用十分广泛的协议称为服务器信息块(server message block)标准,它可以用户共享文件,磁盘,目录,打印机,在某些情况下甚至可以共享com端口。microsoft总希望把好东西叫成自己的,它希望将基于smb的网络称为windows网络,把这种协议叫cifs,但我们在本文中还是称为smb吧。

一个smb客户或服务器可以和许多种机器和网络相互连接,这里就不一一说明了。下面是它们的名称:warp c 4,lan server,lan server/400,ibm pc lan和ibm的warp server,在smb模式下的lantastic,ms-client,windows for workgroups,windows 95,lan manager和windows nt workstation & server,dec的pathworks,lm/ux,as/ux,syntax 和samba,这里面的东西,我们很多都没有使用过。因此不能加以详细介绍。

既然东西这么多,那它们能不能相互协同工作呢?从短期来看是可以的,但是长期可能就有问题,因此许多生产厂商的修改使得smb成了对话式的协议,但是用户至少可以使用smb兼容系统进行打印机和文件的共享,因此不同厂商的产品有所差异,因此在访问异种网时可能有一些麻烦。当说smb不说netbios和netbeui是不可能的,因此基于smb的网络使用的底层协议虽然不一样,但是最基本的是基于netbeui的netbios和基于tcp/ip的netbios,有时候我们也把后者称为rfc/netbios或tcpbeui。

smb客户或服务器总是希望使用netbios接口,换而言之,无论底层使用什么协议,smb总希望使用统一的接口和远程系统进行通信。我们可以把netbios想象为乘客,而把它下层的协议想像成随便什么交通工具,这些交通工具载着乘客从a地到达b地,完成通信。那么在使用netbeui时会有什么问题呢?netbeui的问题我们还可以用上面的例子进行说明,在这种环境下,netbeui基本上就是一个netbios,它被直接传上网络,这个乘客本来可以坐车的,现在要自己从a地走到b地。netbeui采用一种广播式的发送方式,它象一个在大街上到处大喊着找人的乘客,这样虽然也找到,而且有时候速度还挺快,可是网络(这里我们把网络比喻为大街)会变得十分乱。在默认情况下,windows和os/2 warp使用netbeui作为默认协议,因此这种协议不同任何配置即可使用。

我们上面还提到了在tcp/ip的基础上使用netbios,那么我们为什么要使用tcp/ip呢,我们在什么时候要使用这种协议呢?因为用tcp/ip协议在计算机间进行通信有它的优势,这种方法不采用广播式的发送方法,而采用直接发送的方法,这样可以让网络内的无用噪声减少。而基于tcp/ip使用netbios是一个非常流行的使用方法(当然用户也可以使用别的通信协议传送netbios信息),因为互联网的广泛使用,计算机上一般都安装了tcp/ip,这对使用提供了方便,事实上,samba甚至要求使用基于tcp/ip的netbios,而根本不支持基于netbeui的netbios。

因为基于tcp/ip使用netbios时要使用到tcp/ip,用户必须将安全性考虑在内,这一点十分重要,不然出了问题不好办。如果用户现在使用的是windows 95,他可能会注意到没有什么基于tcp/ip的netbios,只有一个netbeui选项,这是因为用户没有安装tcp/ip协议,在用户安装了tcp/ip之后,就会自动出现基于tcp/ip的netbios。这时,出于安全性的考虑,在网络配置中的tcp/ip一项上请不要选择文件和打印机共享。能否将os/2作为smb客户连接到windows nt或windows for workgroups上呢?这当然是可以的,os/2 warp 4和warp c warp 4中就内建了tcp/ip,netbeui和ipx,随着用户的需要也可以再添加新的协议,os/2 warp 4中还内建了一个程序称为“ibm文件和打印客户”请,大家注意这个程序的使用。如果用户没有warp 4或warp c lan manager client for os/2也可以达到同样的目的。最后我们说一下如何使msipx协议和nt或netware服务器连接。基于ipx的netbios也称为ipxbeui或msipx,在os/2 warp 4和warp c netbios仿真,这就可以了。

继续阅读