【理论课程FTP协议与NFS协议】

实验目的

1、NFS协议的应用范围
??文件读写的时候?

2、NFS挂载操作的原理
整个协议,与文件的读写有什么关联??

3、NFS的安全机制
NFS的安全机制到底是啥??
SSL这种原理有借鉴之处吗? 如果有,效率是如何保障的?

4、NFS读写操作的原理
读?写操作会有什么不一样?一样?

5、学习使用Wireshark分析NFS的方法
**【请忽略以上脑残问题!O(∩_∩)O哈哈~】**

实验环境

操作机:Windows XP

实验工具

wireshark

学习NFS协议的挂载

这里我们结合着Wireshark来分析一下NFS协议数据,来学习一下它的挂载过程安全机制以及读写过程,以直观的方式进行学习。首先分析一下协议的挂载时所捕获的数据包:

上图中,IP地址为10.32.106.159是客户端10.32.106.62则为服务器端,我们逐条分析一下每个数据包:
1、客户端想连接服务器的NFS进程,于是询问应该使用哪个端口(GETPORT)。“Replay In 2”,说明2号数据包就是对于这个数据包的回应。
2、服务器回应客户端:NFS端口是2049(随机端口)。“Call In 1”说明这是对1号数据包的回应。
3、客户端尝试连接服务器的NFS进程判断2049端口是否被防火墙拦截NFS服务是否已经开启
4、服务器回应:我已收到请求,你可以连接我了。
5、客户端想连接服务器的mount服务,询问该服务的端口。但由于mount端口是随机生成的,因此客户端需要先进行询问。
6、服务器回应:我的mount服务端口是1234.
7、客户端尝试连接mount进程判断1234端口是否被防火墙拦截mount服务是否已经开启
8、服务器响应请求:你可以连接我了。
9、客户端提出要求,请求挂载(MNT)”/code”这个共享目录。NFS主要提供了 /code/document这两个共享目录,分贝被挂载到多台客户端的本地目录上。 当用户在这些本地目录进行文件的读写时,实际上实在NFS的服务器上进行。
10、服务器同意了客户端的请求,服务器端要求客户端使用file handle 0x75a18429进行目录的访问 (查看wireshark的封包详情)。
11、客户端尝试服务器端的NFS进程是否能连接上。
12、服务器回应可以连接。其实【11、12】完全没有必要,因为NFS一直处理连接的状态。
13、客户端要求查看文件句柄为0x75a18429的文件的属性。
14、服务器端为客户端提供了该文件系统的大小和空间使用率等属性,之后就可以在客户端看到这些信息了。
15、客户端要求查看文件句柄为0x75a18429的文件属性。
16、服务器为客户端提供该文件的属性。
利用portmap请求没有得到回复,这就说明很可能是防火墙相对端口进行了拦截;如果发现mount请求服务被拒绝,可以考虑检查共享目录的权限设置。

了解NFS的安全机制

NFS的安全机制主要包括对客户端的访问控制对用户的权限控制
a. 客户端的访问控制:通过IP地址实现。创建关键共享目录时可以指定哪些IP允许读写,哪些IP只允许读操作,哪些IP不给予任何权限。
b. 客户端的访问控制:下面借助试验来理解,试验场景【一个客户端上的用户admin在/code目录里新建了一个名为abc.txt 的文件,该文件的owner正常显示为admin。但是在另一台客户端上查看该文件时,owner却变成了nasadmin.】

我们关注一下第4个数据包。从上图中的Credentials中可以看到,用户在创建文件时并没有使用admin这个用户名,而是使用了admin的UID 501来代表自己的身份。而NFS协议是只认UID不认用户名的。当admin通过客户端创建了一个文件,那么UID 501就会被写到文件里面,成为了owner的信息。而当另一个客户端上的用户查看该文件的属性时,看到的就是UID 501。但是不同的客户端上UID值与其所对应的名称往往是不一致的。因此创建文件的客户端的UID 501表示的就是admin,但是换了客户端,UID就对应着nasadmin了。那么为了防止这样的问题,需要大家在实际的操作中,保证每个客户端的UID与用户名的映射是一致的。

了解NFS的读文件过程

筛选出NFS协议,研究NFS协议读取文件abc.txt的过程:

1、 客户端向服务器询问:我可以ACCESS0x75a18429吗【也就是进入/code】?
2、服务器端回应:允许进入。
3、客户端想要查看这个目录里的文件和文件的句柄。
4、服务器回应:客户端索要的信息【在wireshark封包详情中查看】。

可见abc.txt的file handle为0x056560e1

5、客户端询问file handle为0x056560e1的文件属性是什么。

6、服务器回应了该文件的权限、UID、GID以及文件的大小等信息。

7、客户端询问是否可以打开file handle为0x056560e1的文件。

8、服务器同意了请求,并给予了相应的权限。

9、从0x056560e1的偏移量为0的位置,也就是abc.txt文件的开头位置,读取(READ)131072字节的数据。

10、从0x056560e1的偏移量为131072的位置,再读取131072字节的数据。

148、服务器回应客户端,允许读取131072字节的数据。

288、同上。

这样,NFS就完成了文件的读操作。

了解NFS的写文件操作

将名为abc.txt的文件写入NFS共享文件夹的过程。首先依旧加入筛选条件nfs:

1、客户端向服务器发出请求,要求进入0x75a18429,也就是/code目录。

2、服务器接受请求。

4、客户端询问服务器,查找(LOOKUP)名为abc.txt的文件。因为在创建一个文件之前,需要首先检查一下是否有同名文件的存在。如果不存在同名文件,才能够继续写入,否则要询问用户是否覆盖原文件。

5、服务器回应没有这个文件。

6、客户端要求创建(CREATE)一个名为abc.txt的文件。

7、服务器答应了请求。在wireshark封包详情s面板中展开就可以找到文件的file handle为0x056560e1。

69、客户端要求从0x056560e1的偏移为0的位置,也就是abc.txt文件的开头,写入(WRITE)131072个字节。

104、服务器回应:我已经写完了。

130、客户端要求从0x056560e1的偏移为131072的位置,即abc.txt文件的开头,写入(WRITE)131072个字节。接下来的两个数据包同理。

302、服务器回复已经写入。下面两个数据包同理。

306、客户端询问,刚才所写的数据是否已经存盘,也就是COMMIT操作,只有经过COMMIT过的数据才算是真正的写好了。

307、服务器回应都保存好了。

308、客户端要求查看刚才所写入的文件的属性(GETATTR)。

309、服务器将文件的权限、UID、GID以及文件的大小等信息交给客户端。

由这个例子可以发现,写操作是多个WRITE Call连续发送过去的。其实我们刚才的读文件的操作也是如此。同时将多个请求一起发出,接下来等待回应的这种方法,比发一条回复一条,发一条回复一条的方式要更加有效率。特别是在高带宽高延迟的情况下,NFS的这种读写特性的优势就会非常的明显。对于写操作而言,如果我们在挂载的时候没有指定任何参数,那么就会采用默认的async(异步)写的方式。而与之相对应的是sync(同步)方式。如果在挂载时指定了sync参数,那么客户端就会先发送一个WRITE Call,等到收到Reply之后再发送下一个请求,也就是说,请求和回应是交替出现的。对于我们这个捕获文件而言,由于采用的是默认挂载方式,所以数据包的WRITE操作会有一个UNSTABLE,表示的是步的方式。如果是同步方式,则会出现FILE_SYNC的标志。

转载于:https://www.cnblogs.com/Erma/p/10340993.html

NFS协议分析——wireshark实战相关推荐

  1. 网络安全协议分析-wireshark流量监控(未完)

    文章目录 TCP的六个标志 一.ARP欺骗 二.SYN半连接扫描. 三.FTP爆破 HTTP抓包修改 DNS与DHCP协议分析 DNS DHCP(饿死攻击) DDOS攻击 TCP的六个标志 TCP的六 ...

  2. Chrome 远程调试协议分析与实战

    背景 某一天,A 君想获取 Chrome 页面中的性能数据,诸如时间.白屏和首屏等,因为需要和竞品进行对比分析,无法注入代码,该怎么办? 此时,你也许能想到开发者工具(DevTools),也许知道Ti ...

  3. Ubuntu搭建NFS服务器,NFS协议详细分析

    目录 1. Ubuntu搭建NFS服务器 2. NFS协议分析 2.1 实验拓扑: 2.2 在kali抓包分析 1. Ubuntu搭建NFS服务器 ​ NFS(Network FileSystem,网 ...

  4. WireShark实战笔记之DNS协议分析

    DNS协议分析 DNS协议概述 DNS工作机理概述 dns报文 WireSahrk分析DNS协议 查看第一个包: 查看第四个包(响应包) DNS协议概述 DNS协议也可以称为DNS服务,全称是Doma ...

  5. PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析

    Python黑帽编程1.5  使用Wireshark练习网络协议分析 1.5.0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks At ...

  6. ICMP协议抓包分析-wireshark

    ICMP协议抓包分析-wireshark ICMP- (Internet Control Message Protocol,网际报文协议)是Internet协议族的核心协议之一,也可称为是网际控制报文 ...

  7. TCP协议抓包分析 -- wireshark

    TCP协议抓包分析 – wireshark TCP- (Transmission Control Protocol,传输控制协议)是一种面向连接的.可靠的.基于IP的传输层协议.它的主要目的就是为数据 ...

  8. UDP协议抓包分析 -- wireshark

    UDP协议抓包分析 – wireshark UDP是User Datagram Protocol用户数据报协议的简称.他是OSI七层模型中一种无连接的传输层协议,提供面向事务的简单的不可靠信息传送服务 ...

  9. 互联网协议IP抓包分析 -- wireshark

    互联网协议IP抓包分析 – wireshark 互联网协议IP是Internet Protocol的缩写,中文缩写是网协 互联网协议也就是为计算机相互连接进行通信而设计的协议. IP地址协议报文首部 ...

最新文章

  1. cmake error C2220: 以下警告被视为错误
  2. 使用PHP读取和创建txt,doc,xls,pdf类型文件
  3. 共用体和枚举,写写意思下
  4. c#抓取別的網頁的內容
  5. 学JS的心路历程 -函式(三)this
  6. Codeforces 1163A - Eating Soup
  7. 设置Panel的布局管理器为BorderLayout,分别向其中的每个区域加入一个按钮
  8. 《产品经理面试攻略》PART 3:准备好作品
  9. 超级计算机的生产流程,PCB生产工艺流程,你知道吗?
  10. excel求回归直线方程的公式_求回归直线方程的三种方法
  11. excel vba两个单元格内容合并
  12. Vue笔记 (一) Vue的MVVM
  13. 长春公办计算机学校有哪些条件,长春小学初中哪些学校民办?哪些公办?最新一览表来也!...
  14. C语言:fflush()的用法以及缓冲区的概念
  15. 使用公开页实现扫码签到功能
  16. 核芯基站_更新CLE版本
  17. RK3588S 介绍
  18. wolfpack是什么_Steam
  19. 云主机如何保证信息安全?
  20. 【JVM学习篇】剖析JVM类加载机制

热门文章

  1. elgamal签名java_ElGamal算法的数字签名
  2. 16 NB-IoT系统宏基站射频技术指标
  3. 利用vue+axios调用api做一个获取笑话页面
  4. 软件测试面试题:I P协议、RARP协议、ICMP协议与ARP协议的功能是什么?
  5. 假脱机(Spooling)系统
  6. 新华硕笔记本ubuntu18.04双系统安装之后,wifi没有显示无法链接wifi
  7. 827. 最大人工岛[DFS+岛屿编号]
  8. Excel 批量打印合集1.0测试版发布
  9. GRNN、RBF、PNN、KELM之间究竟有什么联系?
  10. Android 横向滚动列表 (类似横向ListView)