Samba服务所使用的端口和协议:

1)Port 137 (UDP) - NetBIOS 名字服务 ; nmbd
2)Port 138 (UDP) - NetBIOS 数据报服务
3)Port 139 (TCP) - 文件和打印共享 ; smbd (基于SMB(Server Message Block)协议,主要在局域网中使用,文件共享协议)
4)Port 389 (TCP) - 用于 LDAP (Active Directory Mode)
5)Port 445 (TCP) - NetBIOS服务在windos 2000及以后版本使用此端口, (Common Internet File System,CIFS,它是SMB协议扩展到Internet后,实现Internet文件共享)
6)Port 901 (TCP) - 用于 SWAT,用于网页管理Samba  
windows系统之间的文件共享协议:NetBEUI(NetBIOS Extend User Interface)协议和IPX/SPX协议
NetBEUI协议是一种短小精悍、通信效率高的广播型协议,安装后不需要进行设置,特别适合于在“网络邻居”传送数据。
NETBEUI缺乏路由和网络层寻址功能,既是其最大的优点,也是其最大的缺点。因为它不需要附加的网络地址和网络层头尾,所以很快并很有效且适用于只有单个网络或整个环境都桥接起来的小工作组环境。
因为不支持路由,所以NETBEUI永远不会成为企业网络的主要协议。NETBEUI帧中唯一的地址是数据链路层媒体访问控制(MAC)地址,该地址标识了网卡但没有标识网络。路由器靠网络地址将帧转发到最终目的地,而NETBEUI帧完全缺乏该信息。
NetBEUI协议主要用于本地局域网中,一般不能用于与其他网络的计算机进行沟通。 
IPX/SPX (Internetwork Packet Exchange/Sequences Packet Exchange,Internet分组交换/顺序分组交换IPX/SPX)是Novell公司的通信协议集。与NetBEUI形成鲜明区别的是IPX/SPX比较庞大,在复杂环境下具有很强的适应性。这是因为IPX/SPX在设计一开始就考虑了网段的问题,因此它具有强大的路由功能,适合于大型网络使用。
IPX主要实现网络设备之间连接的建立维持和终止;SPX协议是IPX的辅助协议,主要实现发出信息的分组、跟踪分组传输,保证信息完整无缺的传输。 其中,IPX协议负责数据包的传送;SPX负责数据包传输的完整性。
LINUX系统之间文件共享 和 LIUNX与WINDOWS系统之间的文件共享:IBM SMB,服务器信息块协议
服务器信息块(SMB)协议是一种IBM协议,用于在计算机间共享文件、打印机、串口等。SMB协议可以用在因特网的TCP/IP协议之上,也可以用在其它网络协议如IPX和NetBEUI之上。

http://blog.csdn.net/wangsifu2009/article/details/6780749

------------------------------------------------------------------------------

基于SMB/JCIFS协议的共享文件上传和下载(局域网中共享文件获取文件)

SMB最初是IBM的贝瑞·费根鲍姆(Barry Feigenbaum)研制的,其目的是将DOS操作系统中的本地文件接口“中断13”改造为网络文件系统。后来微软对这个发展进行了重大更改,这个更改后的版本也是最常见的版本。微软将SMB协议与它和3Com一起发展的网络管理程序结合在一起,并在Windows for Workgroups和后来的Windows版本中不断加入新的功能。
CIFS (Common Internet File System) 通用Internet文件系统
 

  在windows主机之间进行网络文件共享是通过使用微软公司自己的CIFS服务实现的。 

 

  CIFS 是一个新提出的协议,它使程序可以访问远程Internet计算机上的文件并要求此计算机的服务。CIFS 使用客户/服务器模式。客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。CIFS是公共的或开放的SMB协议版本,并由Microsoft使用。SMB协议(见最后的名词解释)现在是局域网上用于服务器文件访问和打印的协议。象SMB协议一样,CIFS在高层运行,而不象TCP/IP协议那样运行在底层。CIFS可以看做是应用程序协议如文件传输协议和超文本传输协议的一个实现。

 

  CIFS 可以使您达到以下功能:

 

  1.访问服务器本地文件并读写这些文件

 

  2.与其它用户一起共享一些文件块

 

  3.在断线时自动恢复与网络的连接

 

  4.使用西欧字符文件名

 

  一般来说,CIFS使用户得到比FTP更好的对文件的控制。它提供潜在的更直接地服务器程序接口,这比使用HTTP协议的浏览器更好。CIFS最典型的应用是windows用户能够从“网上邻居”中找到网络中的其他主机并访问其中的共享文件夹.

 

  CIFS 是开放的标准而且已经被作为Internet应用程序标准被提交到IETF。

JCIFS是CIFS 在JAVA中的一个实现,是samba组织负责维护开发的一个开源项目,专注于使用java语言对cifs协议的设计和实现。他们将jcifs设计成为一个完整的,丰富的,具有可扩展能力且线程安全的客户端库。这一库可以应用于各种java虚拟机访问遵循CIFS/SMB网络传输协议的网络资源。类似于java.io.File的接口形式,在多线程的工作方式下被证明是有效而容易使用的

Java代码 
  1. package com.smb;
  2. import java.io.BufferedInputStream;
  3. import java.io.BufferedOutputStream;
  4. import java.io.File;
  5. import java.io.FileInputStream;
  6. import java.io.FileOutputStream;
  7. import java.io.IOException;
  8. import java.io.InputStream;
  9. import java.io.OutputStream;
  10. import jcifs.smb.SmbFile;
  11. import jcifs.smb.SmbFileInputStream;
  12. import jcifs.smb.SmbFileOutputStream;
  13. public class Smbtest {
  14. /**
  15. * 从局域网中共享文件中得到文件并保存在本地磁盘上
  16. * @param remoteUrl 共享电脑路径 如:smb//administrator:123456@172.16.10.136/smb/1221.zip  , smb为共享文件
  17. * 注:如果一直出现连接不上,有提示报错,并且错误信息是 用户名活密码错误 则修改共享机器的文件夹选项 查看 去掉共享简单文件夹的对勾即可。
  18. * @param localDir 本地路径 如:D:/
  19. */
  20. public static void smbGet(String remoteUrl,String localDir){
  21. InputStream in = null;
  22. OutputStream out = null;
  23. try {
  24. SmbFile smbFile = new SmbFile(remoteUrl);
  25. String fileName = smbFile.getName();
  26. File localFile = new File(localDir+File.separator+fileName);
  27. in = new BufferedInputStream(new SmbFileInputStream(smbFile));
  28. out = new BufferedOutputStream(new FileOutputStream(localFile));
  29. byte []buffer = new byte[1024];
  30. while((in.read(buffer)) != -1){
  31. out.write(buffer);
  32. buffer = new byte[1024];
  33. }
  34. } catch (Exception e) {
  35. e.printStackTrace();
  36. }finally{
  37. try {
  38. out.close();
  39. in.close();
  40. } catch (IOException e) {
  41. e.printStackTrace();
  42. }
  43. }
  44. }
  45. /**
  46. * 把本地磁盘中的文件上传到局域网共享文件下
  47. * @param remoteUrl 共享电脑路径 如:smb//administrator:123456@172.16.10.136/smb
  48. * @param localFilePath 本地路径 如:D:/
  49. */
  50. public static void smbPut(String remoteUrl,String localFilePath){
  51. InputStream in = null;
  52. OutputStream out = null;
  53. try {
  54. File localFile = new File(localFilePath);
  55. String fileName = localFile.getName();
  56. SmbFile remoteFile = new SmbFile(remoteUrl+"/"+fileName);
  57. in = new BufferedInputStream(new FileInputStream(localFile));
  58. out = new BufferedOutputStream(new SmbFileOutputStream(remoteFile));
  59. byte []buffer = new byte[1024];
  60. while((in.read(buffer)) != -1){
  61. out.write(buffer);
  62. buffer = new byte[1024];
  63. }
  64. } catch (Exception e) {
  65. e.printStackTrace();
  66. }finally{
  67. try {
  68. out.close();
  69. in.close();
  70. } catch (IOException e) {
  71. e.printStackTrace();
  72. }
  73. }
  74. }
  75. public static void main(String[] args) {
  76. smbPut("smb://administrator:123456@172.16.10.136/smb", "E:/1221.zip");
  77. smbGet("smb://administrator:123456@172.16.10.136/smb/1221.zip", "D:/");
  78. }
  79. }
 
http://iteye.blog.163.com/blog/static/1863080962012111155514179/
------------------------------------------------------------------------------

Samba 服务使用的端口和协议(是一组TCP UDP协议的组合,主要使用CIFS协议,有一个Java例子)的更多相关文章

  1. 网络协议中HTTP,TCP,UDP,Socket,WebSocket的优缺点/区别

    先说一下网络的层级:由下往上分为 物理层.数据链路层.网络层.传输层.会话层.表示层和应用层 1.TCP和UDP TCP:是面向连接的一种传输控制协议.属于传输层协议.TCP连接之后,客户端和服务器可 ...

  2. TCP/UDP端口列表

    http://zh.wikipedia.org/wiki/TCP/UDP%E7%AB%AF%E5%8F%A3%E5%88%97%E8%A1%A8 TCP/UDP端口列表     本条目可通过翻译外语维 ...

  3. TCP/UDP 常用端口列表

    计算机之间依照互联网传输层TCP/IP协议不同的协议通信,都有不同的对应端口.所以,利用短信(datagram)的UDP,所采用的端口号码不一定和采用TCP的端口号码一样.以下为两种通信协议的端口列表 ...

  4. TCP/UDP端口列表(WIKIpedia)

    计算机之间依照互联网传输层TCP/IP协议不同的协议通信,都有不同的对应端口.所以,利用短信(datagram)的UDP,所采用的端口号码不一定和采用TCP的端口号码一样.以下为两种通信协议的端口列表 ...

  5. 部署samba服务之后,在客户端用挂载访问的方式,错误信息:mount: block device //192.168.1.108/mysqldata is write-protected, mounting read-only mount: cannot mount block device //192.168.1.108/mysqldata read-only

    部署samba服务之后,在客户端用挂载访问的方式,错误信息:mount: block device //192.168.1.108/mysqldata is write-protected, moun ...

  6. 网络协议OSI模型-TCP/IP-三次握手

    OSI模型 在制定计算机网络标准方面,起着重大作用的两大国际组织是:国际电信联盟电信标准化部门,与国际 标准组织(ISO),虽然它们工作领域不同,但随着科学技术的发展,通信与信息处理之间的界限开始 变 ...

  7. (转)协议森林07 傀儡 (UDP协议)

    协议森林07 傀儡 (UDP协议) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们已经讲解了物理层.连接层和网络层.最开始的 ...

  8. TCP UDP 协议的区别和联系

    TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接.一个TCP连接必须要经过三次“对话”才能建立起 ...

  9. Linux系统学习 二十、SAMBA服务—介绍、安装、端口

    1.简介 网络数据文件共享服务器 可以和Windows中的网上邻居通用 数据共享的方法: Windows中最常用的是“网上邻居”.网上邻居使用的文件系统是CIFS(通用互联网文件系统)协议进行数据共享 ...

随机推荐

  1. 微软职位内部推荐-SDEII

    微软近期Open的职位: Software Engineer II for Customer Experience (Level 62+) Location: Suzhou Contact Perso ...

  2. 团队作业(NABC的分析)

    我们的团队课题是游戏:躲避小球. 我认为它其中的一个优点是:丰富用户的短暂闲暇时间,使用户得到身心的放松 下面我将从N,A,B,C四个方面简述理由 N(需求):现代社会逐渐步入快节奏时代,大众生活压力 ...

  3. Netsharp快速入门(之17) Netsharp基础功能(参照高级设置)

    5.2     参照高级设置 1. 以往来字段为例,打开平台工具-界面管理-列表管理,找到往来单位的资源节点,记下列表项目中的名称 2.记下往来单位部件工作区的id 3. 打开平台工具-界面管理-参照 ...

  4. 【CentOS】samba服务器安装与配置

    参考资料: http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html 1.简介 2.安装 3.配置 1.简介 Samba是一个能让Li ...

  5. bzoj 3293 数学整理

    和1045一模一样,找到这道题的时候还愣了下神,最后发现样例都是 一样的,直接粘了1045的代码,具体题解看 http://www.cnblogs.com/BLADEVIL/p/3468729.htm ...

  6. 【HDOJ】【2829】Lawrence

    DP/四边形不等式 做过POJ 1739 邮局那道题后就很容易写出动规方程: dp[i][j]=min{dp[i-1][k]+w[k+1][j]}(表示前 j 个点分成 i 块的最小代价) $w(l, ...

  7. Codeforce 438D-The Child and Sequence 分类: Brush Mode 2014-10-06 20:20 102人阅读 评论(0) 收藏

    D. The Child and Sequence time limit per test 4 seconds memory limit per test 256 megabytes input st ...

  8. C++实现CString和string的互相转换

    CString->std::string 例子: CString strMfc=“test“; std::string strStl; strStl=strMfc.GetBuffer(0); u ...

  9. Hadoop的RPC框架介绍

    为什么会引入RPC: RPC采用客户机/服务器模式.请求程序就是一个客户机,而服务提供程序就是一个服务器.当我们讨论HDFS的,通信可能发生在: Client-NameNode之间,其中NameNod ...

  10. Sqli-labs less 30

    Less-30 Less-30与less-29原理是一致的,我们可以看到less-30的sql语句为: 所以payload为: http://127.0.0.1:8080/sqli-labs/Less ...