admin管理员组

文章数量:1531661

2023年12月22日发(作者:)

河南农业大学

计算机网络综合实验

实验报告

综合实验名称:ftp、tftp、telnet

实验学期:

学院: 专业:

班级: 姓名: 学号:

指导教师:

实验日期:

概述:

ftp是应用层的协议,它基于传输层,为用户服务,它们负责进行文件的传输。ftp是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像mime或unencode一样。但是,ftp有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间会非常长,并且不时的必需执行一些冗长的登陆进程。ftp服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。当数据通过数据流传输时,控制流处于空闲状态。而当控制流空闲很长时间后,客户端的防火墙会将其会话置为超时,这样当大量数据通过防火墙时,会产生一些问题。此时,虽然文件可以成功的传输,但因为控制会话会被防火墙断开,传输会产生一些错误。 ftp的工作原理:

文件传输协议(ftp)是tcp/ip提供的标准机制,用来将文件从一个主机复制到另一个主机。ftp使用tcp的服务。

ftp优缺点:

优点:

1.促进文件的共享(计算机程序或数据)

2.鼓励间接或者隐式的使用远程计算机

3.向用户屏蔽不同主机中各种文件存储系统的细节

4.可靠和高效的传输数据

缺点:

1.密码和文件内容都使用明文传输,可能产生不希望发生的窃听。

2.因为必须开放一个随机的端口以建立连接,当防火墙存在时,客户端很难过滤处于主动模式下的ftp流量。这个问题通过使用被动模式的ftp得到了很大解决。

3.服务器可能会被告知连接一个第三方计算机的保留端口。

ftp虽然可以被终端用户直接使用,但是它是设计成被ftp客户端程序所控制。

运行ftp服务的许多站点都开放匿名服务,在这种设置下,用户不需要帐号就可以登录服务器,默认情况下,匿名用户的用户名是:“anonymous”。这个帐号不需要密码,虽然通常要求输入用户的邮件地址作为认证密码,但这只是一些细节或者此邮件地址根本不被确定,而是依赖于ftp服务器的配置情况。

使用模式:

ftp有两种使用模式:主动和被动。主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接。在这种情况下,客户端由于安装了防火墙会产生一些问题。所以,创立了被动模式。被动模式只要求服务器端产生一个监听相应端口的进程,这样就可以绕过客户端安装了防火墙的问题。

一个主动模式的ftp连接建立要遵循以下步骤:

1.客户端打开一个随机的端口(端口号大于1024,在这里,我们称它为x),同时一个

ftp进程连接至服务器的21号命令端口。此时,源端口为随机端口x,在客户端,远程端口为21,在服务器。

2.客户端开始监听端口(x+1),同时向服务器发送一个端口命令(通过服务器的21号命令端口),此命令告诉服务器客户端正在监听的端口号并且已准备好从此端口接收数据。这个端口就是我们所知的数据端口。

3.服务器打开20号源端口并且建立和客户端数据端口的连接。此时,源端口为20,远程数据端口为(x+1)。

4.客户端通过本地的数据端口建立一个和服务器20号端口的连接,然后向服务器发送一个应答,告诉服务器它已经建立好了一个连接。

被动模式

ftp:

为了解决服务器发起到客户的连接的问题,人们开发了一种不同的ftp连接方式。这就是所谓的被动方式,或者叫做pasv,当客户端通知服务器它处于被动模式时才启用。

在被动方式ftp中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。

当开启一个 ftp连接时,客户端打开两个任意的非特权本地端口(n > 1024和n+1)。第一个端口连接服务器的21端口,但与主动方式的ftp不同,客户端不会提交port命令并允许服务器来回连它的数据端口,而是提交 pasv命令。这样做的结果是服务器会开启一个任意的非特权端口(p > 1024),并发送port p命令给客户端。然后客户端发起从本地端口n+1到服务器的端口p的连接用来传送数据。

对于服务器端的防火墙来说,必须允许下面的通讯才能支持被动方式的ftp:

1. 从任何大于1024的端口到服务器的21端口 (客户端的初始化连接)

2. 服务器的21端口到任何大于1024的端口( 服务器响应到客户端的控制端口的连接)

3. 从任何大于1024端口到服务器的大于1024端口 (客户端初始化数据连接到服务器指定的任意端口)

4. 服务器的大于1024端口到远程的大于1024的端口(服务器发送ack响应和数据到客户端的数据端口)

ftp用户授权

(1)用户授权

要连上 ftp 服务器(即“登陆”),必须要有该 ftp 服务器授权的帐号,也就是说你只有在有了一个用户标识和一个口令后才能登陆ftp服务器,享受ftp服务器提供的服务。

(2)ftp地址格式

ftp地址如下: ftp://用户名:密码@ftp服务器ip或域名:ftp命令端口/路径/文件名 上面的参数除ftp服务器ip或域名为必要项外,其他都不是必须的。

ftp服务器及匿名ftp:

ftp的全称是file transfer protocol(文件传输协议),顾名思义,就是专门用来传输文件的协议。ftp的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着 ftp服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。

其实 早期在internet上传输文件,并不是一件容易的事,我们知道 internet是一个非常复杂的计算机环境,有pc、工作站、mac、服务器、大型机等等,而这些计算机可能运行不同的操作系统,有unix、dos、 windows、macos等等,各种操作系统之间的文件交流,需要建立一个统一的文件传输协议,这就是所谓的ftp。虽然基于不同的操作系统有不同的

ftp应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送

给别人,或者从其它的用户环境中获得文件。

与大 多数internet服务一样,ftp也是一个客户机/服务器系统(c/s)。用户通过一个支持ftp协议的客户机程序,连接到远程主机上的ftp服务器 程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户指定目录中。ftp客户程序 有字符界面和图形界面两种。字符界面的ftp的命令复杂、繁多。图形界面的ftp客户程序,操作上要简洁方便的多。

在ftp的使用当 中,用户经常遇到两个概念:下载(download)和上载(upload)。下载

文件就是从远程主机拷贝文件至自己的计算机上;上载文 件就是将文件从自己的计算机中拷贝至远程主机上。用internet语言来说,用户可通过客户机程序向(从)远程主机上载(下载)文件。

在ftp的使用过程中,必须首先登录,在远程主机上获得相应的权限以后,方可上传或下载文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户id和口令,否则便无法传送文件。这种情况违背了internet的开放性,internet上的ftp主机何止千 万,不可能要求每个用户在每一台主机上都拥有帐号。因此就衍生除了匿名ftp。

tftp(trivial file transfer protocol,简单文件传输协议)是tcp/ip协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。

目的

tftp是一个传输文件的简单协议,它基于udp协议而实现,但是我们也不能确定有些tftp协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的。因此它不具备通常的ftp的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据。传输中有三种模式:netascii,这是8位的ascii码形式,另一种是octet,这是8位源数据类型;最后一种mail已经不再支持,它将返回的数据直接返回给用户而不是保存为文件。

概况

任何传输起自一个读取或写入文件的请求,这个请求也是连接请求。如果服务器批准此请求,则服务器打开连接,数据以定长512字节传输。每个数据包包括一块数据,服务器发出下一个数据包以前必须得到客户对上一个数据包的确认。如果一个数据包的大小小于512字节,则表示传输结束。如果数据包在传输过程中丢失,发出方会在超时后重新传输最后一个未被确认的数据包。通信的双方都是数据的发出者与接收者,一方传输数据接收应答,另一方发出应答接收数据。大部分的错误会导致连接中断,错误由一个错误的数据包引起。这个包不会被确认,也不会被重新发送,因此另一方无法接收到。如果错误包丢失,则使用超时机制。错误主要是由下面三种情况引起的:不能满足请求,收到的数据包内容错误,而这种错误不能由延时或重发解释,对需要资源的访问丢失(如硬盘满)。tftp只在一种情况下不中断连接,这种情况是源端口不正确,在这种情况下,指示错误的包会被发送到源机。这个协议限制很多,这些都是为了实现起来比较方便而进行的。

初始连接

初始连接时候需要发出wrq(请求写入远程系统)或rrq(请求读取远程系统),收到一个确定应答,一个确定可以写出的包或应该读取的第一块数据。通常确认包包括要确认的包的包号,每个数据包都与一个块号相对应,块号从1开始而且是连续的。因此对于写入请求的确定是一个比较特殊的情况,因此它的包的包号是0。如果收到的包是一个错误的包,则

这个请篇二:tftp协议实验报告

篇三:tftp实验讲义

tftp实验报告

实验目的:

1. 复习router启动过程

2. 掌握router从tftp server启动

3. 从tftp server下载配置文件以及备份配置文件到tftp server

4. 上传(备份)ios到tftp server.

实验器材:

路由器,pc机(终端使用), 安装tftp软件的tftp服务器(78.25*)

准备知识:

1, tftp 协议(trivial file transfer protocol)

使用tftp能够很好的保存网络设备的配置副本。

tftp不需要密码,没有目录。所以需要注意安全性。

tftp使用udp协议,69端口。由于简单传输的性能要求,所以不需要面向连接的可靠性服务。 (对应的,ftp使用tcp的面向连接的服务,20data/21control端口)。

可以用文件服务器,工作站或者cisco路由器做tftp server。

2,router启动过程:

step1:当router power up后,首先进行power-on self test,检测硬件

step2:load bootstrap frot rom

step3:load ios software。 (通常路由器先检查boot system命令,若无接按顺序分别从flash,tftp server,rom寻找ios。)

step5:load configuration file from nvram (如果找不到,进入setup模式)

实验步骤:

1. 连接console,配置路由器以太口,确认tftp服务器已经开启。

登陆路由器->进入特权模式->确认router和tftp server的连接(ping)

2. 备份配置文件到tftp server以及从tftp server下载配置文件

1>. 备份:使用命令copy running-config tftp ,其中过程包括输入tftp ip地址,输入配置文件名字以及确认。

2>. 下载:使用命令copy tftp running-config 然后选择host or network(我们要选择的是host),接着依提示依次输入host ip地址,文件名(或使用缺省的),最后确认即可。

注:network是指包含应用于网络上所有router和terminal servers的配置

命名要符合系统规则(dos界面是8.3)。 host是指包含应用于某一特定router的配置命令。 使用命令copy running-config startup-config 存储配置文件到nvram

默认文件名是‘路由器名字-confg’

若自己输入相应的名字,记得做记录.

3. 上传(备份)ios到tftp server

1>. 使用show flash,从中获得the system image 文件名

2>. copy flash tftp (然后依提示填写ip地址和文件名) *补充(下载ios):四个步骤:

1,确认连接 ping

2,查询flash空间 show flash

3,记录文件名字 ls/dir

4,copy tftp flash,

如果flash没有删除旧的ios,则新的不起作用

show flash 时被标志[deleted]

4. 从tftp 启动router

配置过程:config t

boot system tftp ios_name tftp_ipadress exit (ctrl+z)

copy running-config startup-config reload

实验人:ligia&&mininew篇四:实验八 tftp报文格式及协议分析

实验八 tftp报文格式及协议分析

【实验目的】

1. 理解tftp的基本工作原理和工作过程;

2. 熟悉tftp协议的报文格式;

3. 熟悉常用的tftp命令。

【实验内容】

1、 分析tftp报文的结构,熟悉各个字段的内容、功能、格式和取值范围;

2、 单个或批量发送已经编辑好的tftp报文;

3、 分析tftp的会话过程。

【实验原理】

tftp报文

ftp协议功能比较复杂,有时并不需要这么多功能,tftp能够应用于无盘工作站中,tftp在熟知端口上使用udp服务。tftp共有5种类型的报文:rrq、wrq、data、ack和error。

rrq(读请求)报文由客户使用,用来建立一条从服务器读数据的连接,其格式如下

wrq(写请求)报文由客户使用,用来建立一条把数据写到服务器的连接,它的可是与rrq相同,除了opcode字段是2。

ack(确认)报文由客户或服务器使用,用来确认收到数据块,这个报文只有4字节长,格式如下所示。

error(错误)报文由客户或服务器使用,用于当一条连接不能建立或在数据传输种出现了问题,它可以作为rrq或wrq的负面响应,差错报文不能用于对受损伤或重复的报文声明,error的报文格式如下所示。

连接和数据传送

tftp使用udp服务,udp是不提供连接的。tftp使用rrq、wrq、ack和error报文来建立连接,它使用具有小于512字节的数据块来终止连接。

udp没有任何流量控制和差错控制进制,tftp必须创建流量控制和差错控制机制,以便传送由连续数据块构成的文件。tftp实现流量控制的方法是给数据块编号和在发送下一个数据块之前等待ack。tftp使用的差错控制机制是对称的,即发送端和接收端都使用超时进制,如果超时则重传。

【实验步骤】

练习一:分析tftp报文格式

1、 运行报文仿真编辑器。

2、 选择“文件”菜单中的“打开”菜单项,选择安装目录下data目录中的报文仿真编辑器存档文件。或者选择“操作”菜单中的“新建报文”菜单项,选择tftp类型添加一条报文记录。模本文件中的报文或新增加的报文会自动显示在报文列表框中。报文列表框中显示的内容包括:报文序号、源ip地址和目的ip地址。

3、 从报文列表框中选中一条记录,报文仿真编辑器中间部分自动显示此条报文记录的

协议结构树,同时16进制对照表中显示该条报文对应的16机制值。

4、 选中协议结构树中的“tftp”结点,报文仿真编辑器右侧部分的属性列表自动显示当前tftp各个字段的内容,协议结构树中的结点与16进制对照表的内容是联动的,选中一个结点,16进制对照表中会在相应的位置改变颜色。

5、 在属性列表中查看tftp中每行的结构和所代表的内容。

练习二:发送和接收tftp报文序列

1、 运行报文解析器,选择“开始捕获”快捷菜单,此时报文解析器处于捕获状态。

2、 在报文仿真编辑器的报文列表框中选择一条或多条报文记录,然后点击“发送报文”快捷菜单,当看到“发送成功”消息框时表示所选报文已经发送到所在的局域网中。

3、 报文解析器中的报文列表框中会自动显示已经捕获到的报文,报文列表框中显示的内容包括:报文序号、源ip地址和目的ip地址。

4、 点击报文解析器的报文列表框中的一条记录,报文解析器中间部分自动显示此条报文记录的协议结构树,对照报文仿真编辑器中协议结构树中的内容,查看是否一致。 练习三、分析tftp报文的会话过程

1、 单击报文仿真编辑器工具栏上的“打开”按钮,选择安装目录下data目录中报文仿真编辑器存档文件,报文仿真编辑器显示预存的tftp报文段;

2、 单击报文解析器工具栏上的“开始捕获”按钮,报文解析器开始捕获数据报;

3、 单击报文仿真编辑器工具栏上的“发送报文”按钮,报文仿真编辑器弹出“发送成功”

对话框,发送出报文列表框中的报文;

4、 可以看到报文解析器接收到报文仿真编辑器发出的报文,单击报文解析器工具栏上的

“停止捕获”按钮,停止捕获报文;

5、 单击工具栏上的“协议分析”按钮,报文解析器弹出协议分析对话框。在“协议”下拉

列表中选择“tftp”,对话框下部的列表框中显示存在的tftp连接。选择一个tftp连接,单击“确定”按钮;

6、 报文解析器左侧的报文列表中显示这一次tftp连接中所有的报文,右侧以图形的方式

显示该tftp连接的交互过程。选中左侧报文列表中的一条记录,报文解析器中部显示该报文的协议结构树,右侧的协议交互图中以蓝色突出显示该tftp报文段;

7、 在左侧的报文列表中选择不同的tftp报文段,观察协议交互的进行过程,以及tftp

各个字段值的变化。

【实验报告要求】

1. 记录实验数据

2. 分析实验结果

例: mac帧首部

目的地址:ff-ff-ff-ff-ff-ff

源地址:00-01-6c-e9-0d-2c

类型:arp

arp

硬件类型:以太网

协议类型:ip

硬件地址长度:6

协议地址长度:6

操作:arp请求

源硬件地址:00-01-6c-e9-0d-2c

源协议地址:192.168.1.6

目的硬件地址:00-00-00-00-00-00

目的协议地址:192.168.1.2

(16进制显示框)

00000000:ff ff ff ff ff ff 00 01 – 6c e9 0d 2c 08 06 00 01

00000010:08 00 06 04 00 01 00 01 – 6c e9 0d 2c c0 08 01 06

00000020:00 00 00 00 00 00 c0 a8 – 01 02

其中“类型:arp”对应值为08 06

3.未知数据包的分析

本部分通过sniffer软件捕获本机所在计算机网络中的未知数据包,要求对所捕获的数据包进行分析。

数据包一如下(下图截取了该数据包16进制表中的前10行):

未知数据包一的16进制值

根据以下举例,分析上述捕获的数据包为一个什么协议的请求报文。

未知数据包二如下:

未知数据包二的16进制值

分析如下:

第一行前12个字节为协议mac帧首部中的目的硬件地址和源地址。

紧随其后的两个字节是mac帧首部中的类型字段,标识从上层接收到什么类型的协议,“08 06”表示从上层收到的是 类型的数据报。

则接下来的数据就代表该数据报的内容。

“00 01”表示硬件类型为以太网,

“08 00”表示采用的协议类型为ip类型,

“06 04”分别表示硬件地址长度为6字节及协议地址长度为4字节,

“00 01”表示执行arp请求操作,

“00 13 d4 ae 44 26” “3b 4f 12 9b”表示了源硬件地址,源协议地址(59.79.18.155)

“00 00 00 00 00 00” “3b 4f 12 fe” 表示了目的硬件地址和目的协议地址(59.79.18.254)。

剩余的0均为填充数据。综上得出,该数据包为一个什么协议的请求报文。

本文标签: 报文服务器连接文件端口