文档库 最新最全的文档下载
当前位置:文档库 › FTP协议解析课程设计报告

FTP协议解析课程设计报告

FTP协议实验报告

●实验目的

1、在Linux系统上完成一个文件传输协议(FTP)的简单实现。

2、深入理解FTP协议的原理和协议细节。

3、学会利用Socket接口设计实现简单应用层协议。

4、掌握TCP/IP网络应用程序的基本设计方法和实现技巧。

●实验原理

1、FTP协议

FTP是File Transfer Protocol,即文件传输协议的缩写。该协议用于在两台计算机之间传送文件。FTP会话包括了两个通道,一个是控制通道,一个是数据通道。控制通道是和FTP 服务器进行沟通的通道,连接FTP服务器,发送FTP指令;数据通道则是和FTP服务器进行文件传输或者获取文件列表的通道。

FTP协议中,控制连接的各种指令均由客户端主动发起,而数据连接有两种工作方式:主动方式(PORT方式)和被动方式(PASV方式)。主动方式下,FTP客户端首先和FTP服务器的控制通道对应端口(一般为21)建立连接,通过控制通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口(一个大于1024的端口)接收数据。在传输数据的时候,FTP服务器必须和客户端建立一个新的连接,服务器通过自己的TCP 20端口发送数据。被动方式下,建立控制通道的过程和主动方式类似,当客户端通过这个通道发送PASV命令的时候,FTP server打开一个位于1024-5000之间的随机端口并且通知客户端,然后客户端与服务器之间将通过这个端口进行数据的传送。

2、socket编程

(1)什么是Socket

Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程。网络的Socket 数据传输是一种特殊的I/O,Socket也是一种文件描述符。

(2)Socket的建立

为了建立Socket,程序可以调用Socket函数,该函数返回一个socket描述符。Socket 描述符是一个指向内部数据结构的指针,它指向描述符表入口。调用Socket函数时,socket 执行体将建立一个Socket,实际上"建立一个Socket"意味着为一个Socket数据结构分配存储空间。Socket执行体为你管理描述符表。两个网络程序之间的一个网络连接包括五种信息:通信协议、本地协议地址、本地主机端口、远端主机地址和远端协议端口。Socket数据结构中包含这五种信息。

socket函数原型为:int socket(int domain, int type, int protocol);

domain:指明所使用的协议族,通常为PF_INET,表示互联网协议族(TCP/IP协议族);type:指定socket的类型为SOCK_STREAM 或SOCK_DGRAM,Socket接口还定义了原始Socket (SOCK_RAW),允许程序使用低层协议;

protocol:通常赋值"0"。

返回:整型socket描述符。

(3)Socket配置

无连接socket的客户端和服务端以及面向连接socket的服务端通过调用bind函数来

配置本地信息。

Bind函数将socket与本机上的一个端口相关联,随后你就可以在该端口监听服务请求。Bind函数原型为:int bind(int sockfd,struct sockaddr_in *my_addr, int addrlen);

Sockfd:调用socket函数返回的socket描述符

my_addr:一个指向包含有本机IP地址及端口号等信息的sockaddr类型的指针

addrlen:常被设置为sizeof(struct sockaddr)。

struct sockaddr_in结构类型是用来保存socket信息的:

struct sockaddr_in {

short int sin_family; /* 地址族*/

unsigned short int sin_port; /* 端口号*/

struct in_addr sin_addr; /* IP地址*/

unsigned char sin_zero[8]; /* 填充0 以保持与struct sockaddr同样大小*/

};

sin_zero:用来将sockaddr_in结构填充到与struct sockaddr同样的长度,可以用bzero()或memset()函数将其置为零。

使用bind函数时,可以用下面的赋值实现自动获得本机IP地址和随机获取一个没有被占用的端口号:

my_addr.sin_port = 0; /* 系统随机选择一个未被使用的端口号*/

my_addr.sin_addr.s_addr = INADDR_ANY; /* 填入本机IP地址*/

通过将my_addr.sin_port置为0,函数会自动为你选择一个未占用的端口来使用。同样,通过将my_addr.sin_addr.s_addr置为INADDR_ANY,系统会自动填入本机IP地址。

Bind()函数在成功被调用时返回0;出现错误时返回"-1"并将errno置为相应的错误号。需要注意的是,在调用bind函数时一般不要将端口号置为小于1024的值,因为1到1024是保留端口号,你可以选择大于1024中的任何一个没有被占用的端口号。

(4)连接建立

无连接协议从不建立直接连接。面向连接的服务器也从不启动一个连接,它只是被动的在协议端口监听客户的请求。

Listen函数使socket处于被动的监听模式,并为该socket建立一个输入数据队列,将到达的服务请求保存在此队列中,直到程序处理它们。

int listen(int sockfd,int backlog);

Sockfd:Socket系统调用返回的socket 描述符

backlog:指定在请求队列中允许的最大请求数,进入的连接请求将在队列中等待accept()。如果一个服务请求到来时,输入队列已满,该socket将拒绝连接请求,客户将收到一个出错信息。

返回:当出现错误时listen函数返回-1,并置相应的errno错误码。

accept()函数让服务器接收客户的连接请求。在建立好输入队列后,服务器就调用accept 函数,然后睡眠并等待客户的连接请求。

int accept(int sockfd, void *addr, int *addrlen);

sockfd:被监听的socket描述符;

addr:通常是一个指向sockaddr_in变量的指针,该变量用来存放提出连接请求服务的主机的信息(某台主机从某个端口发出该请求);

addrten:通常为一个指向值为sizeof(struct sockaddr_in)的整型指针变量;

返回:出现错误时accept函数返回-1并置相应的errno值。

(5)结束传输

当所有的数据操作结束以后,你可以调用close()函数来释放该socket,从而停止在该socket上的任何数据操作:close(sockfd);

●实验内容

在Linux系统上使用Socket接口实现FTP客户端和服务器的程序,使客户端可以连接至服务器,并且可以进行一些FTP的基本操作,如列出目录、下载文件等。从FTP协议的实现角度来看,客户端与服务器的命令通道和数据通道需要分享,同时应该支持以下一些FTP 命令:

get:取远方的一个文件。

put:传给远方一个文件。

pwd:显示远方当前目录。

dir:列出远方当前目录。

cd:改变远方当前目录。

?:显示你提供的命令

quit:退出返回

●实验过程

1、实现服务器端

(1)全局变量

(2)函数

(3)主函数的实现:

先建立数据通道和命令通道,然后监听,若有客户端连上,则建立一个子进程,先向客

(4)char *getDirName(char *dirPathName)的实现:

由当前工作目录的绝对地址得到当前工作目录的名称,当前工作目录的名称是绝对地址中最后一个“/”号之后的字符串,通过从后向前遍历绝对地址字符串找到最后一个“/”,

(5)void cmd_pwd(int sock)的实现:

调用getDirName函数来得到当前工作目录名称,然后发到客户端

(6)void cmd_dir(int sock)的实现:

先遍历当前目录下的所有文件及子目录,得到文件及目录数,把该数目发给客户端后,

(7) void cmd_cd(int sock,char *dirName)的实现:

遍历当前目录查看是否有与客户输入的目录名相同的目录,这里要区分普通目录和上一级目录(即..),若为普通目录则直接在存放当前目录绝对地址的字符串的后面加上新进的目录,若为上一级目录,则要在存放当前目录绝对地址的字符串中删去最后一个目录,即最后一个“/”号之后的内容。

(9)void cmd_get(int sock,char*fileName)的实现:

(10)void cmd_put(int sock,char *fileName)的实现:

2、客户端的实现

(3)主函数的实现:

(4)void cmd_pwd(int sock,int sockmsg)的实现:

向服务器发出pwd命令,然后接收服务器端发来的当前目录名称,并把它打印出来。

向服务器发出dir命令,然后接收服务器发来的文件及目录数目,打印出来,接着依次

(6)void cmd_cd(int sock,int sockmsg,char *dirName)的实现:

(7)void cmd_help(int sock,int sockmsg)的实现:

向服务器发出?命令,然后接收服务器发来的帮助信息。

把get命令和文件名发到服务器,然后一部分一部分地接收服务器发来的字节流,缓存

与cmd_get命令类似,先向服务器发出put命令和文件名,然后把文件一部分一部分地读

到缓冲区,然后再发送到服务器。

(10)void cmd_quit(int sock,int sockmsg)的实现:

实验总结

1、遇到的困难及解决方法

(1)服务器的socket总是bind不成功,总是显示address already in use

产生原因及解决方法是在网上找到的。原因为先前的socket还处于连接状态,占用原有端口,可以通过setsockopt函数主动清除这种连接。

(2)如何知道此时客户端请求的当前目录是哪个

在服务器端维护一个存放当前目录的绝对路径的字符串,初始化为服务器程序所在的路径。特别注意的是进入上一级目录要进行特殊处理。

(3)在客户端进行多次操作后,服务器端经常会出现stack smashing detected的错误查了很多资料都没有搞清楚产生原因,但可以确定的是char数组的使用不当引起的,通过修改原代码中char数组为char*就解决了问题,还不清楚是为什么。

网络协议分析实验报告

实 验 报 告 课程名称 计算机网络 实验名称 网络协议分析 系别 专业班级 指导教师 学号 姓名 实验日期 实验成绩 一、实验目的 掌握常用的抓包软件,了解ARP 、ICMP 、IP 、TCP 、UDP 协议的结构。 二、实验环境 1.虚拟机(VMWare 或Microsoft Virtual PC )、Windows 2003 Server 。 2.实验室局域网,WindowsXP 三、实验学时 2学时,必做实验。 四、实验内容 注意:若是实验环境1,则配置客户机A 的IP 地址:192.168.11.X/24,X 为学生座号;另一台客户机B 的IP 地址:192.168.11.(X+100)。在客户机A 上安装EtherPeek (或者sniffer pro )协议分析软件。若是实验环境2则根据当前主机A 的地址,找一台当前在线主机B 完成。 1、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析ARP 协议; 2、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析icmp 协议和ip 协议; 3、客户机A 上访问 https://www.wendangku.net/doc/cc13942518.html, ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析TCP 和UDP 协议; 五、实验步骤和截图(并填表) 1、分析arp 协议,填写下表 客户机B 客户机A

2、分析icmp协议和ip协议,分别填写下表 表一:ICMP报文分析

3、分析TCP和UDP 协议,分别填写下表

协议分析实验5-20100505

实验五应用层协议分析1 实验目的: 掌握http协议过程;了解FTP协议过程;了解SMTP协议过程;了解POP3协议过程。 实验类型:验证 实验学时:3学时 实验内容及方法: 观察http协议过程;观察一个FTP协议过程;观察SMTP协议过程;观察POP3协议过程 实验仪器设备:计算机、Ethereal软件。 实验步骤: 1.观察http协议过程。 (1)在计算机上打开Ethereal软件,进行报文截获。 (2)从浏览器上访问https://www.wendangku.net/doc/cc13942518.html,页面,具体操作为打开网页,浏览网页,关掉网页。 (3)停止Ethereal的报文截获。 (4)通过在上网过程中截获报文,分析HTTP协议的报文格式和工作过程。 http通信基本路线是:打开TCP连接、发送图像请求、接收文件、当图像下载完成之后关闭连接。 HTTP协议的工作过程:1、主机先与服务器进行三次握手,握手成功后进行数据传输,得到WEB网页。2、传输完成后进行第二个三次握手握手,传送数据,得到图像。。。。依次进行三次握手得到完整的网页,浏览,断开连接。

2.观察一个FTP协议过程 (1)在计算机上打开Ethereal软件,进行报文截获。 (2)单击“开始/运行”,在运行框中输入命令,打开命令行窗口。 (3)在命令行窗口中,登陆FTP服务器,并下载文件。 (4)停止Ethereal的报文截获。 (5)通过在上网过程中截获报文,分析FTP报文格式和FTP协议的工作过程。 FTP通信工作过程:当命令提示符窗口输入FTP://IP address登录FTP服务器时,进行三次TCP握手,服务器默认为匿名用户登录,当服务器端不支持匿名用户登录时,等待客户端输入用户名和密码进行登录。验证通过后,服务器就会发出已经准备好的信息。再输入提取命令,从服务器上得到一个文件,输入下载命令下载文件,此时进行数据传输,传输完成后输入关闭命令断开连接,关闭数据连接,退出服务器。 3.观察SMTP协议过程 (1)在计算机上打开Ethereal软件,进行报文截获。 (2)使用用户代理发送邮件。 (3)停止Ethereal的报文截获。 (4)通过截获报文,分析SMTP的工作过程 A、安装代理发送邮件的软件 B、使用用户代理发送邮件,分析SMTP的工作过程:用代理发送邮件时,首先要使用代理服务登陆邮箱服务器,建立smtp tcp 连接,建立初始smtp通信。 C、然后发送邮件到smtp服务器,最后关闭smtp 和tcp 连接

《网络协议分析》实验报告

网络协议分析 ——计算机+自动化0902班易珊珊学号:200926100427 1 实验目的 ?掌握如何利用协议分析工具分析IP数据报报文格式,体会数据报发送,转发的过程。 ?通过分析截获TCP报文首部信息,理解首部中的序号,确认号等字段是TCP可靠连接的基础.通过分析TCP连接的三次握手建立和释放过程,理解TCP连接建立和释放机制。 2 实验内容 ?(1)IP协议分析 ?IP协议分析 (图一)IP数据报的格式

(图二)捕获的IP数据报 version:4,版本,占四位。 Header length:20 bytes,IP数据报首部为20字节,等于固定部分长度,说明没有可选字段。 Differentiated services field:ox00,所有服务类型都为0,说明这是一种缺省情况,IP数据报的发送者没有规定IP数据报的服务类型。 Total length:52,IP数据报总长度为52字节。 Identification:oxa47b,标识,占16位。 Flags: 标志,占3位。DF=1,MF=0, Fragment offset:0,说明该数据报没有分片。 Time to live:128,生存时间是128,每过一个路由器它就减1。 Protocol:TCP(ox06)此IP 数据报携带的数据使用TCP协议,协议字段

值为6。 Header checksum:oxdf8a,首部校验和,占16位。Source:192.168.2.10 源地址,占32位。Destination:202.102.233.164 目的地址,占32位。 ?(2)TCP协议分析: (图三)TCP报文段的首部格式

FTP协议分析报告

工程类实验报告 系:网络工程专业:网络工程年级: 2009 姓名:学号:实验课程:网络协议分析 实验室号:____田C510__ 实验设备号:实验时间: 12.26 指导教师签字:成绩: 实验四 FTP 协议分析实验 一、实验目的和要求 学习 Serv-U FTP Server 服务软件的基本配置和 FTP 客户端命令的使用,分析FTP 报文格式和 FTP 协议的工作过程。 二、实验原理 FTP 是文件传输协议(File Transfer Protocol)的简称。 FTP 基于 TCP 协议,它通过两个 TCP 连接来传输一个文件,一个是控制连接,另一个 是数据连接。相应的,在进行文件传输时,FTP 需要两个端口,分别用于控制连接端口(用 于给服务器发送指令以及等待服务器响应)和数据传输端口(在客户机和服务器之间发送 一个文件或目录列表)。 两种连接的建立都要经过一个“三次握手”的过程,同样,连接释放也要采用“四次 握手”方法。控制连接在整个回话期间一直保持打开状态。数据连接是临时建立的,在文件 传送结束后被关闭。 FTP 的连接模式有两种,PORT 和 PASV。PORT 模式是一个主动模式,PASV 是被动模式, 这里都是相对于服务器而言的。 当 FTP 客户以 PORT 模式连接服务器时,它首先动态地选择一个端口号连接服务器 的 21 端口,注意这个端口号一定是 1024 以上的,因为 1024 以前的端口都已经预先被定 义好,被一些典型的服务使用或保留给以后会用到这些端口的资源服务。经过 TCP 的三次 握手后,控制连接被建立。这时客户就可以利用这个连接向服务器发送指令和等待服务器响 应了。当需要从(或向)服务器传送数据时,客户会发出 PORT 指令告诉服务器用自己的 那个端口来建立一条数据连接(这个命令由控制连接发送给服务器),当服务器接到这一指 令时,会使用 20 端口连接客户指定的端口号,用以数据传送。 当FTP 客户以 PASV 模式连接服务器时,控制连接的建立过程与 PORT 模式相同,不 同的是,在数据传送时,客户不向服务器发送 PORT 指令而是发送 PASV 指令,服务器收 到 PASV命令后选择一个端口号发送给客户,客户选择一个本地端口号与服务器发送过来的 端口建立一条数据连接。 微软自带的 FTP 客户端命令工具不支持 PASV 模式。 三、实验设备与环境 实验设备和连接图如图 6-5 所示,一台锐捷 S2126G 交换机连接了 2 台 PC 机,分别命名为

IP协议分析实验报告

计算机网络 实 验 报 告 实验名称: IP协议分析 实验分组号: 实验人:郑微微 班级: 12计算机科学系本四B班学号: 实验指导教师:阮锦新 实验场地:网络实验室706 实验时间: 2014年11月 17号 成绩:

一、实验目的 1、掌握IP协议分析的方法 2、掌握TCP/IP体系结构 3、加深网络层协议的理解 4、学会使用网络分析工具 二、实验要求 1、实验前下载安装Ethereal/Wireshark/Sniffer中的一款网络分析工具软件 2、了解网络分析工具软件的常见功能与常见操作 3、每位学生必须独立完成所有实验环节 三、实验环境 1、操作系统:Windows XP/Windows 7/Windows 2008 2、已安装网络分析工具软件 3、PC机能访问互联网 四、实验内容及原理 1、实验内容 (1)IP头的结构 (2)IP报文分析 2、实验原理 网络之间互连的协议(Internet Protocol,IP)就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。 IP报文由报头和数据两部分组成,如图1所示:

图1 IP报文格式 五、需求分析 IP协议是TCP/IP体系中两个主要的协议之一,而IP地址位于IP数据报的首部,在网络层及以上使用的是IP地址,因此在数据链路层是看不见数据报的IP地址,另外首部的前一部分是固定长度,共20字节。在TCP/IP的标准中,各种数据格式常以32位为单位来描述,通过分析IP数据报的格式就能够知道IP协议都具有哪些功能。 六、实验步骤 1、打开网络分析工具软件 2、抓取浏览器数据包 (1)启动网络分析工具软件,设置抓包过滤条件。 (2)启动浏览器,在地址栏输入要访问的IP地址。 (3)关闭浏览器,停止抓包。 (4)存储所捕获的数据包。 (5)分析数据包。 七、实验分析 1.启动网络分析工具软件,设置抓包过滤条件为“==”

计算机网络实验HTTPFTP协议分析

实验二H T T P、F T P协议分析 1. 本次实验包括HTTP、FTP两个协议的分析(详见一、二)。 2. 参考文档所述步骤,完成数据包的捕获并进行分析; 3. 认真撰写实验报告,叙述实验过程要层次分明,对关键的过程或结果截图说明、分析,回答实验文档所提的思考题、问题。 一、超文本传输协议(HTTP)分析 【实验目的】 掌握HTTP协议的原理和报文格式; 了解HTTP协议的工作过程; 了解应用层协议与传输层协议的关系。 【实验内容】 用浏览器打开网页,捕获HTTP报文并进行分析 编辑一个HTTP数据报文并进行发送,并捕获该报文进行分析。 【实验步骤】 步骤一:使用浏览器打开网页,捕获HTTP数据包并分析: (1) 在主机上打开协议分析仪,点击工具栏上的“过滤器”,“类型过滤器”的下拉列表中 选择“HTTP协议”,确定后开始进行数据捕获:

(2) 使用实验室主机上的浏览器,例如IE,打开一个网页,如URL是 HTTP//https://www.wendangku.net/doc/cc13942518.html, (3) 在协议分析器中找到捕获的数据包,观察HTTP请求报文和响应报文,以及其中所使用的命令:

【思考问题】 结合实验过程中的实验结果,问答下列问题: 1. 当实验主机上同时打开多个浏览器窗口并访问同一WEB站点的不同页面时,系统是根据什么把返回的页面正确地显示到相应窗口的?一个主页是否只有一个连接? 2. 请求主页后,返回的浏览器内容的字节长度是多少? 3. 如果请求一个不存在的网页,服务器将会应答什么? 答: 1. 当实验主机上同时打开多个浏览器窗口并访问同一WEB站点的不同页面时,系统是根据地址信息把返回的页面正确地显示到相应窗口的,一个主页是只有一个连接。 2. 请求主页后,返回的浏览器内容的字节长度是 3. 如果请求一个不存在的网页,服务器将会应答404错误。 二、FTP协议分析 【实验目的】 1、掌握FTP协议的工作原理; 2、了解FTP协议的常用命令,并领会其链路管理、理解FTP的主动模式和被动模式 3、了解应用层协议与传输层协议的关系; 【实验内容】 1. 登录FTP服务器,并捕获FTP报文进行分析;

网络协议分析实验总结

实验一IP协议 练习一利用仿真编辑器发送IP数据包 描述:收发IPv4报文,不填上层协议. 问题:①查看捕获到得报文长度是60,和你编辑的报文长度不同,为什么? 最小帧长度为60,当不足60时,在源数据尾部添加0补足。 ②讨论,为什么会捕获到ICMP目的端口不可达差错报文? 差错报文的类型为协议不可达,因为上层协议为0,未定义。 练习二编辑发送IPV6数据包 描述:收发IPv6报文. 问题:①比较IPV4头,IPV6有了那些变化?IPV4的TTL字段在IPV6里对应那个字段? 比较IPv4 和IPv6 的报头,可以看到以下几个特点: ●字段的数量从IPv4 中的13(包括选项)个,降到了IPv6 中的8 个; ●中间路由器必须处理的字段从6 个降到了4 个,这就可以更有效地转发普通的 IPv6 数据包; ●很少使用的字段,如支持拆分的字段,以及IPv4 报头中的选项,被移到了IPv6 报 头的扩展报头中; ●● IPv6 报头的长度是IPv4 最小报头长度(20 字节)的两倍,达到40 字节。 然而,新的IPv6 报头中包含的源地址和目的地址的长度,是IPv4 源地址和目的 地址的4 倍。 对应:跳限制----这个8位字段代替了IPv4中的TTL字段。 练习三:特殊的IP地址 描述:直接广播地址包含一个有效的网络号和一个全“1”的主机号,只有本网络内的主机能够收到广播,受限广播地址是全为1的IP地址;有限广播的数据包里不包含自己的ip 地址,而直接广播地址里包含自身的ip地址 练习四: IP包分段实验 问题:讨论,数据量为多少时正好分两片?1480*2=2960 练习五: netstat命令 描述: C:>netstat –s ;查看本机已经接收和发送的IP报文个数 C:>netstat –s ;查看本机已经接收和发送的IP报文个数 C:>netstat –e ;观察以太网统计信息,

网络协议分析实验报告样本

网络协议分析实验报告样本 网络协议分析实验报告本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 实验报告99实验名称网络协议分析姓名学号班级313计本班实验目的掌握常用的抓包软件,了解EtherV 2、ARP、P IP协议的结构。 实验内容 11、分析2EtherV2协议 22、分析P ARP协议 33、分析P IP协议实验步骤 11、在S DOS状态下,运行ipconfig,记录本机的IP地址和硬件地址,网关的IP地址。 如下图11所示::本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 图图 12、分析数据链路层协议( (1)、在:PC1的“运行”对话框中输入命令“Ping192.168.191.1,单击“Enter”按钮;图如下图2所示:图图2( (2)、在本机上运行wireshark截获报文,为了只截获和实验内容有关的报文,将Ethereal的的Captrue Filter设置为“No

Broadcastand noMulticast”;如下图3所示:本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 图图3 (33)停止截获报文::将结果保存为MAC--学号,并对截获的报文进行分析:11)列出截获的报文中的协议类型,观察这些协议之间的关系。 答::a a、UDP:用户数据包协议,它和P TCP一样位于传输层,和P IP协议配合使用,。 在传输数据时省去包头,但它不能提供数据包的重传,所以适合传输较短的文件。 b b、WSP:是无线局域网领域推出的新协议,用来方便安全地建立无线连接。 c c、ARP:地址解析协议,实现通过P IP地址得知其物理地址。 在P TCP/IP网络环境下,每个主机都分配了一个232位的P IP 地址,这种互联网地址是在网际范围标本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 识主机的一种逻辑地址。 为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。 这样就存在把P IP地址变换成物理地址的地址转换问题。

FTP协议分析报告

. 工程类实验报告 系:网络工程专业:网络工程年级: 2009 姓名:学号:实验课程:网络协议分析 实验室号:____田C510__ 实验设备号:实验时间: 12.26 指导教师签字:成绩: 实验四 FTP 协议分析实验 一、实验目的和要求 学习 Serv-U FTP Server 服务软件的基本配置和 FTP 客户端命令的使用,分析FTP 报文格式和 FTP 协议的工作过程。 二、实验原理 FTP 是文件传输协议(File Transfer Protocol)的简称。 FTP 基于 TCP 协议,它通过两个 TCP 连接来传输一个文件,一个是控制连接,另一个是 数据连接。相应的,在进行文件传输时,FTP 需要两个端口,分别用于控制连接端口(用 于给服务器发送指令以及等待服务器响应)和数据传输端口(在客户机和服务器之间发送 一个文件或目录列表)。 两种连接的建立都要经过一个“三次握手”的过程,同样,连接释放也要采用“四次 握手”方法。控制连接在整个回话期间一直保持打开状态。数据连接是临时建立的,在文件 传送结束后被关闭。 FTP 的连接模式有两种,PORT 和 PASV。PORT 模式是一个主动模式,PASV 是被动模式, 这里都是相对于服务器而言的。 当 FTP 客户以 PORT 模式连接服务器时,它首先动态地选择一个端口号连接服务器的 21 端口,注意这个端口号一定是 1024 以上的,因为 1024 以前的端口都已经预先被定义好, 被一些典型的服务使用或保留给以后会用到这些端口的资源服务。经过 TCP 的三次握手后,控 制连接被建立。这时客户就可以利用这个连接向服务器发送指令和等待服务器响应了。当需要从 (或向)服务器传送数据时,客户会发出 PORT 指令告诉服务器用自己的那个端口来建立一条 数据连接(这个命令由控制连接发送给服务器),当服务器接到这一指令时,会使用 20 端口 连接客户指定的端口号,用以数据传送。 当FTP 客户以 PASV 模式连接服务器时,控制连接的建立过程与 PORT 模式相同,不同 的是,在数据传送时,客户不向服务器发送 PORT 指令而是发送 PASV 指令,服务器收到

协议分析综合实验报告

协议分析综合实验报告 专业:电子信息科学与技术(1)班 组员: 学号: 时间:2014-12-01 一、实验目的:利用wireshark 抓包工具,结合课本,分析分层的网络结构协议体系: 二、基本步骤: 一、利用任意一台能够访问互联网的主机,安装wireshark抓包工具。 二、关闭所有应用层程序。如qq,ie浏览器,pptv等。 三、打开抓包工具,开始抓包。 四、打开IE浏览器,输入新浪WEB服务器的域名:https://www.wendangku.net/doc/cc13942518.html,,回车。 五、访问新浪主页成功后,立即停止抓包。 六、分析所抓的数据包,找出主机跟新浪WEB服务器之间通信的数据包,按应用层、运输 层、网络层、数据链路层这四个层次,分析其具体工作过程,分别各层用到了哪些协议。 (新浪WEB服务器的IP地址是58.67.149.250) 三、实验分析过程 下图是用Wireshark软件进行抓包数据分析的截图,下面将选取1906号帧来进行相应的层次与过程分析:

1.数据链路层分析 PPPoE会话阶段以太网帧的协议填充为Ox8864.代码填充Ox00,整个会话的过程就是PPP的会话过程,但在PPPOE数据内的PPP数据帧是冲协议域开始的。此过程所用到的协议是IP协议。 2.网络层分析 该层所涉及的协议是IP协议,源地址是121.14.1.190,目的地址是119.124.31.253,区分服务字段为Ox00(DSCP:Ox00:Default;ECN:Ox00),默认的DSCP的值是0,相当于尽力传送。IP包的总长度为64,标志字段为Ox91d5,标记字段为Ox00,没有分片,其偏移量为0,生存时间为57,当减少为0时,该数据包将被丢弃以保证数据包不会无限制的循环,因为 wireshark不自动做TCP校验和的检验,所以显示为validation disabled

实验1:网络数据包的捕获与协议分析

实验报告 ( 2014 / 2015 学年第二学期) 题目:网络数据包的捕获与协议分析 专业 学生姓名 班级学号 指导教师胡素君 指导单位计算机系统与网络教学中心 日期2015.5.10

实验一:网络数据包的捕获与协议分析 一、实验目的 1、掌握网络协议分析工具Wireshark的使用方法,并用它来分析一些协议; 2、截获数据包并对它们观察和分析,了解协议的运行机制。 二、实验原理和内容 1、tcp/ip协议族中网络层传输层应用层相关重要协议原理 2、网络协议分析工具Wireshark的工作原理和基本使用规则 三、实验环境以及设备 Pc机、双绞线、局域网 四、实验步骤 1.用Wireshark观察ARP协议以及ping命令的工作过程: (1)打开windows命令行,键入“ipconfig -all”命令获得本机的MAC地址和缺省路由器的IP地址;结果如下: (2)用“arp -d”命令清空本机的缓存;结果如下 (3)开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包。(4)执行命令:ping https://www.wendangku.net/doc/cc13942518.html,,观察执行后的结果并记录。

此时,Wireshark所观察到的现象是:(截图表示) 2.设计一个用Wireshark捕获HTTP实现的完整过程,并对捕获的结果进行分析和统计。(截 图加分析) 3.设计一个用Wireshark捕获ICMP实现的完整过程,并对捕获的结果进行分析和统计。要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析该ICMP 报文。(截图加分析) 4. 设计一个用Wireshark捕获IP数据包的过程,并对捕获的结果进行分析和统计(截图加分析) 要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析在该数据包中的内容:版本首部长度、服务类型、总长度、标识、片偏移、寿命、协议、源Ip地址、目的地址 五、实验总结

实验七 FTP报文格式及协议分析

实验七FTP报文格式及协议分析 【实验目的】 1、理解FTP的基本工作原理和工作过程; 2、熟悉常用的FTP命令。 【实验内容】 1、分析FTP报文的结构,熟悉各个字段的内容、功能、格式和取值范围; 2、单个或批量发送已经编辑好的FTP报文; 3、分析FTP的会话过程。 【实验原理】 FTP的连接 常用的文件传送协议包括FTP和TFTP,它们都是文件共享协议中的一个大类,即复制整个文件,其特点是:如果要存取一个文件,就必须先获得一个本地的文件副本。如果要修改文件,只能对文件的副本进行修改,然后再将修改后的文件副本传回到原结点。 FTP和其它C/S应用程序的不同是它在主机之间建立两条连接,一条连接用于数据传送,另一条连接用于传送控制信息(命令和响应)。FTP使用TCP的服务,熟知端口21用于控制连接,熟知端口20用于数据连接。 控制连接的步骤如下: ●服务器在熟知端口21发出被动打开,等待客户; ●客户使用临时端口发出主动打开。 数据连接的创建过程与其它不同,其步骤如下: ●客户使用临时端口发出被动打开; ●客户使用PORT命令把这个端口号发送到服务器; ●服务器收到端口号,并使用熟知端口20和收到的临时端口号发出打开。 FTP的通信 在异构计算机上运行的FTP客户和服务器必须进行通信,这两台计算机可以使用不同的操作系统、不同的字符集、不同的文件结构以及不同的文件格式,FTP必须使这种异构性得到兼容。通过控制连接的通信使用NVT ASCII字符集,通信通过命令和响应来完成。通过数据连接的通信遇到的异构问题由定义三个通信属性来解决: ●文件类型,FTP能够在数据连接上传送下列文件类型中的一种:ASCII文件、 EBCIDIC文件和图像文件,图像文件是一个二进制文件。

协议分析实验报告doc

协议分析实验报告 篇一:实验七、UDP 协议分析实验报告 实验七、UDP 协议分析实验报告 序号:姓名:学号:成绩 1.实验目的: 分析UDP协议报文格式. 2.实验环境: 局域网环境,或者是联网的单机。 3.实验步骤: (1)启动ethereal软件,开始报文捕获。 (2)捕获UDP的数据包 (3)停止捕获报文。 4.实验分析,回答下列问题 (1)请说明你是如何获得UDP的捕获文件,并附上捕获的截图。 答:①启动Etherel协议分析软件,并开始抓包。 ②启动某个基于udp的应用程序,例如连接某个FTP站点,或通过浏览器访问某个网页。③等出现浏览的网页后停止数据包的捕获。 ④出现协议分析界面,将filter 一栏填入udp,则只显示udP协议信息信息。 (2)通过捕获的数据包分析UDP的报文结构,将UDP

协议树中各名字字段,字段长度, (3)通过和实验六的结果比较,UDP报文和TCP报文结构有何区别? 答:UDP报文由源端口号、目的端口号、长度、检验和、应用数据报文五个部分组成。而TCP报文结构除此之外还有 1)32比特的序号字段 (2)32比特的确认号字段 (3)16比特的接收窗口字段,用于流量控制 (4)4比特的首部长度字段 (5)可选与变长字段,用于发送方与接收方协商最大报文段长度 (6)比特的标志字段,用于对已被成功接收报文段的确认。 (4)通过实验六和实验七,分析TCP协议和UDP协议的不同之处。 答:TCP协议是可靠的传输协议,具有流控制和拥塞控制,能够防止数据的丢失,还有确认重发机制保证数据的到达,应用于不允许数据丢失但对带宽无严格要求的服务。 UDP协议是不可靠的传输协议,无流控制和拥塞控制,是尽力服务机制,可最大程度的利用带宽,传输速率较快,应用于对带宽有严格要求但可以容忍数据丢失的服务。 篇二:实验三 IP协议分析实验

实验9_使用Wireshark分析FTP协议 V1

实验九使用Wireshark分析FTP协议 一、实验目的 分析FTP协议 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。三、实验步骤 HTTP和FTP都可以用来通过网络传输对象和文件,但它们的工作方式截然不同。HTTP侧重于传送立即浏览的文件或供暂时高速缓存于客户端的文件。HTTP还侧重于表达那些包含了用于规定文件格式的首部信息,以便让浏览器能正确解释内容。而FTP却更侧重于专门进行数据传输,让用户自己去决定文件在本机上的存储时间和如何处理数据。 FTP是一种有状态的协议。FTP客户端与服务器建立一个持续的会话,并通过这个会话发送多个请求。启动会话要输入用户名和密码,然而许多FTP服务器允许公开访问,即客户端可以使用匿名登录(anonymous)及随意设置的密码连接。 一旦建立连接,对FTP会话的操作类似命令行下的操作,用户在提示符下操作,并能浏览一些文件和目录。用户在浏览目录时,FTP服务器保持对用户目录位置的跟踪。用户还可以请求从服务器获取文件或向服务器存储文件,对这些请求的解释与当前工作的目录有关。 FTP总是为正在进行的控制通道维持一个TCP连接,然后建立一个独立的用于数据传输的TCP连接。控制通道通常建立在从客户端到FTP服务器端口21的连接,它用于描述每一个使用中的数据通道的属性,包括客户端或服务器是否启动传输,以及用什么IP地址和端口连接。 用RFC-Editor搜索功能找到定义FTP协议的RFC文档。搜索结果表明该RFC文档在URL ftp://https://www.wendangku.net/doc/cc13942518.html,/in-notes/rfc 959.txt找到。如果你在浏览器窗口中输入以ftp://开头的URL,那么它将作为FTP客户端来获取想要的文件。 1、俘获FTP分组 (1)启动Wireshark嗅探器。 (2)浏览器地址栏中输入如下网址:ftp://https://www.wendangku.net/doc/cc13942518.html,

网络协议分析实验报告

课程设计 课程设计题目网络协议分析实验报告学生姓名: 学号: 专业: 2014年 6 月 29日

实验1 基于ICMP的MTU测量方法 实验目的 1)掌握ICMP协议 2)掌握PING程序基本原理 3)掌握socket编程技术 4)掌握MTU测量算法 实验任务 编写一个基于ICMP协议测量网络MTU的程序,程序需要完成的功能: 1)使用目标IP地址或域名作为参数,测量本机到目标主机经过网络的MTU; 2)输出到目标主机经过网络的MTU。 实验环境 1)Linux系统; 2)gcc编译工具,gdb调试工具。 实验步骤 1.首先仔细研读ping.c例程,熟悉linux下socket原始套接字编程模式,为实验做好准备; 2.生成最大数据量的IP数据报(64K),数据部分为ICMP格式,ICMP报文为回送请求报 文,IP首部DF位置为1;由发送线程发送; 3.如果收到报文为目标不可达报文,减少数据长度,再次发送,直到收到回送应答报文。 至此,MTU测量完毕。

ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。[1] 它是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。ICMP报文在IP帧结构的首部协议类型字段(Protocol 8bit)的值=1.

ICMP原理 ICMP提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据包。但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。 我们在网络中经常会使用到ICMP协议,比如我们经常使用的用于检查网络通不通的Ping命令(Linux和Windows中均有),这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。 ICMP(Internet Control Message,网际控制报文协议)是为网关和目标主机而提供的一种差错控制机制,使它们在遇到差错时能把错误报告给报文源发方.是IP层的一个协议。但是由于差错报告在发送给报文源发方时可能也要经过若干子网,因此牵涉到路由选择等问题,所以ICMP报文需通过IP协议来发送。ICMP数据报的数据发送前需要两级封装:首先添加ICMP 报头形成ICMP报文,再添加IP报头形成IP数据报 通信术语最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。 实验2 基于UDP的traceroute程序 实验目的 1)掌握UDP协议 2)掌握UDP客户机/服务器编程模式 3)掌握socket编程技术 4)掌握traceroute算法

TCP-IP协议抓包分析实验报告

TCP协议分析实验 学号: 姓名: 院系: 专业:

一.实验目的 学会使用Sniffer抓取ftp的数据报,截获ftp账号及密码,并分析TCP 头的结构、分析TCP的三次“握手”和四次“挥手”的过程,熟悉TCP 协议工作方式。 二.实验(软硬件以及网络)环境 利用VMware虚拟机建立网络环境,并用Serv-U FTP Server在计算机上建立FTP服务器,用虚拟机进行登录。 三.实验工具 sniffer嗅探器,VMware虚拟机,Serv-U FTP Server。 四.实验基本配置 Micrsoft Windows XP操作系统 五.实验步骤 1.建立网络环境。 用Serv-U FTP Server在计算机上建立一台FTP服务器,设置IP地址 为:,并在其上安装sniffer嗅探器。再并将虚拟机作为一台FTP客户 端,设置IP地址为:。设置完成后使用ping命令看是否连通。 2.登录FTP 运行sniffer嗅探器,并在虚拟机的“运行”中输入,点确定后出现 如下图的登录窗口: 在登录窗口中输入:用户名(hello),密码(123456)【在Serv-U FTP Server中已设定】,就登录FTP服务器了。再输入“bye”退出FTP 3.使用sniffer嗅探器抓包 再sniffer软件界面点击“stop and display”,选择“Decode”选 项,完成FTP命令操作过程数据包的捕获。 六.实验结果及分析 1.在sniffer嗅探器软件上点击Objects可看到下图:

再点击“DECODE(反解码)”按钮进行数据包再分析,我们一个一个的分析数据包,会得到登录用户名(hello)和密码(123456)。如下图: 2. TCP协议分析 三次握手: 发报文头——接受报文头回复——再发报文(握手)开始正式通信。

传输层协议分析实验报告

2. 传输层协议分析 2.A 数据包捕获分析部分 2.1 实验目的 理解TCP报文首部格式和字段的作用,TCP连接的建立和释放过程,TCP数据传输中编号与确认的作用。 2.2 实验内容 应用TCP应用程序传输文件,截取TCP报文,分析TCP报文首部信息,TCP连接的建立过程,TCP数据的编号和确认机制。 2.3 实验原理 TCP协议是传输控制协议的简称,工作在网络层协议之上,是面向连接的,可靠的,端到端的传输层协议。 1) TCP的报文格式 TCP报文段分为头部和数据两部分,如图1: 图1 TCP报文段的总体结构 TCP报文段首部又分为固定部分和选项部分,固定部分为20B,如图2所示,这些字段的组合实现了TCP的所有功能。 图2 TCP报文段的首部

0 15 31 连接释放三个阶段。 2) TCP连接的建立 TCP连接建立采用“3次握手”方式。 首先,主机A的TCP向主机B的TCP发出连接请求报文段,其首部中的同步位SYN 应置1,同时选择一个序号X,表明在后面传送数据时的第一个数据字节的序号是X+1,如图3所示:

然后,主机B的TCP收到连接请求报文段后,若同意,则发回确认。在确认报文段中应将SYN和ACK都置1,确认号应为X+1,同时也为自己选择一个序号Y。 最后,主机A的TCP收到B的确认后,要向B发回确认,其ACK置1,确认号为Y+1,而自己的序号为X+1。TCP的标准规定,SYN置1的报文段都要消耗掉一个序号。同时,运行客户进程的主机A的TCP通知上层应用进程,连接已经建立。当主机A向B发送第一个数据报文段时,其序号仍为X+1,因为前一个确认报文段并不消耗序号。 当运行服务器进程的主机B的TCP收到主机A的确认后,也通知其上层应用进程,连接已经建立。 另外,在TCP连接建立的过程中,还利用TCP报文段首部的选项字段进行双方最大报文段长度MSS协商,确定报文段的数据字段的最大长度。双方都将自己能够支持的MSS写入选项字段,比较之后,取较小的值赋给MSS,并应用于数据传送阶段。 3) TCP数据的传送 为了保证TCP传输的可靠性,TCP采用面向字节的方式,将报文段的数据部分进行编号,每个字节对应一个序号。并在连接建立时,双方商定初始序号。在报文段首部中,序号字段和数据部分长度可以确定发送方传送数据的每一个字节的序号,确认号字段则表示接收方希望下次收到的数据的第一个字节的序号,即表示这个序号之前的数据字节均已收到。这样既做到了可靠传输,又做到了全双工通信。 当然,数据传送阶段有许多复杂的问题和情况,如流量控制、拥塞控制、重传机制等,本次实验不探究。

计算机网络实验 HTT FT 协议分析

实验二HTTP、FTP协议分析 1. 本次实验包括HTTP、FTP两个协议的分析(详见一、二)。 2. 参考文档所述步骤,完成数据包的捕获并进行分析; 3. 认真撰写实验报告,叙述实验过程要层次分明,对关键的过程或结果截图说明、分析,回答实验文档所提的思考题、问题。 一、超文本传输协议(HTTP)分析 【实验目的】 掌握HTTP协议的原理和报文格式; 了解HTTP协议的工作过程; 了解应用层协议与传输层协议的关系。 【实验内容】 用浏览器打开网页,捕获HTTP报文并进行分析 编辑一个HTTP数据报文并进行发送,并捕获该报文进行分析。 【实验步骤】 步骤一:使用浏览器打开网页,捕获HTTP数据包并分析: (1)在主机上打开协议分析仪,点击工具栏上的“过滤器”,“类型过滤器”的

下拉列表中选择“HTTP协议”,确定后开始进行数据捕获: (2) 使用实验室主机上的浏览器,例如IE,打开一个网页,如URL是 HTTP//https://www.wendangku.net/doc/cc13942518.html, (3) 在协议分析器中找到捕获的数据包,观察HTTP请求报文和响应报文,以及其中所使用的命令: 【思考问题】 结合实验过程中的实验结果,问答下列问题: 1. 当实验主机上同时打开多个浏览器窗口并访问同一WEB站点的不同页面时,系统是根据什么把返回的页面正确地显示到相应窗口的?一个主页是否只有一个连接? 2. 请求主页后,返回的浏览器内容的字节长度是多少? 3. 如果请求一个不存在的网页,服务器将会应答什么? 答: 1. 当实验主机上同时打开多个浏览器窗口并访问同一WEB站点的不同页面时,系统是根据地址信息把返回的页面正确地显示到相应窗口的,一个主页是只有一个连接。 2. 请求主页后,返回的浏览器内容的字节长度是

IP协议分析实验报告

广东第二师范学院计算机科学系实验报告 计算机网络 实 验 报 告 实验名称: IP协议分析 实验分组号: 实验人:郑微微 班级: 12计算机科学系本四B班 学号: 12551102019 实验指导教师:阮锦新 实验场地:网络实验室706 实验时间: 2014年11月 17号 成绩:

一、实验目的 1、掌握IP协议分析的方法 2、掌握TCP/IP体系结构 3、加深网络层协议的理解 4、学会使用网络分析工具 二、实验要求 1、实验前下载安装Ethereal/Wireshark/Sniffer中的一款网络分析工具软件 2、了解网络分析工具软件的常见功能与常见操作 3、每位学生必须独立完成所有实验环节 三、实验环境 1、操作系统:Windows XP/Windows 7/Windows 2008 2、已安装网络分析工具软件 3、PC机能访问互联网 四、实验内容及原理 1、实验内容 (1)IP头的结构 (2)IP报文分析 2、实验原理 网络之间互连的协议(Internet Protocol,IP)就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。 IP报文由报头和数据两部分组成,如图1所示: 图1 IP报文格式 五、需求分析 IP协议是TCP/IP体系中两个主要的协议之一,而IP地址位于IP数据报的首部,在网络层及以上使用的是IP地址,因此在数据链路层是看不见数据报的IP地址,另外首部的前一部分是固定长度,共20字节。在TCP/IP的标准中,各种数据格式常以32位为单位来描述,通过分析IP数据报的格式就能够知道IP协议都具有哪些功能。 六、实验步骤 1、打开网络分析工具软件

FTP协议分析

FTP是早期互联网协议(注:IP协议组)中的一个,FTP协议是设计用在当时还比较封闭的互联网 上传输文件,当时互联网只是互连了一些大学、政府机构和设计该互联网模型的一些商业公司 。FTP在当今网络上,特别是在安全问题比较严重的网络上(如互联网Internet)的行为模式 是有一些问题的,本白皮书也提供了一些理论背景知识,这些知识可以帮助你在一个有防火墙 或者使用NAT的网络上正确实施FTP。 FTP协议早在Client/Server(C/S)模式流行前就已经被设计,但FTP工作模式与C/S模式十分 相似。FTP使用两个TCP连接,一个TCP连接用于控制信息(控制连接),一个TCP连接用于实际 的数据传输(数据连接)。对FTP对话的分析包括在控制连接上所发送命令的检查和在数据连 接上发送的TCP数据段(注:segment---OSI模型中对第4层数据单元的称呼)的评估。对于普通 的(活跃的)FTP,控制连接由客户端初始化,数据连接由服务器端初始化。活跃的FTP也称为 (Port模式)。另一种模式是被动模式(Passive模式),这种模式下客户端初始化数据连接。 >>1.0<< FTP和TCP端口号 根据是使用Port模式还是Passive模式,FTP使用不同的TCP端口号,在详细描述FTP前,我们来 简单讨论一下TCP端口号的一些基本概念。TCP使用端口号来标识所发送和接收的应用,端口号 可以帮助TCP来分离字节流并且帮相应字节传递给正确的应用程序。 TCP端口号可以是半永久的和暂时的。服务器端监听在半永久的端口上来让客户端访问。客户 端使用暂时的端口在本地标识一个对话,客户端端口只在使用TCP服务时候才存在,而服务器 端口只要服务器在运行就一直在监听。 TCP端口可以归为3类: 1、众所周知的端口来标识在TCP上运行的标准服务,包括FTP、HTTP、TELNET、SMTP 等,这些 端口号码范围为0-1023; 2、注册端口号用来标识那些已经向IANA(Internet Assigned Numbers Assigned Numbers Authority)注册的应用,注册端口号为1024-49151; 3、私有端口号是非注册的并且可以动态地分配给任何应用,私有端口为49152-65535; 注册的端口号本来打算只给注册的应用使用,可近年来端口号已经陷入了到达极限的困境,你 可能会看到本来应该是给注册应用使用的注册端口被非注册应用用做暂时的端口。RFC1700

云南大学软件学院计算机网络原理实验六TCP 协议分析实验报告

实验六、TCP 协议分析实验报告1.实验目的: 理解TCP报文首部格式和字段的作用,TCP连接的建立和释放过程,TCP数据传输过程中编号与确认的过程。 2.实验环境: 连网环境,可以是局域网,也可以是连入Internet的单机。 3.实验步骤: (1)启动Etherel协议分析软件,并开始抓包。 (2)启动某个基于TCP的应用程序,例如连接某个FTP站点,或通过浏览器访问某个网页。 (3)等出现浏览的网页后停止数据包的捕获。 (4)出现协议分析界面,将filter 一栏填入tcp,则只显示TCP协议信息,通过此信息,可以看到TCP连接的三次握手过程和协商的初始的序列号,数据传输过程以及拆除连接的相应信息。 4.实验分析,回答下列问题 打开捕获文件tcp-ethereal-trace-1,通过捕获的数据包分析TCP建立连接的三次握手的过程,并将TCP建立连接过程中的三个报文填写下来。 字段名称第一条报文第二条报文第三条报文 报文序号123 Sequence Number001 无11 Acknowedgement Numbber ACK011 SYN110 (1)TCP建立连接时的三个报文,其报文首部与其他TCP报文有什么不同? 答:其报文首部比别的报文多了OPTION的字段。 (2)报文首部的OPTION字段的作用是什么?值为多少? 答:至少一字节的可变长字段,表示选项是否有效。若没有选项,则字节长度为0,说明选项结束。字节为1,表示无需再有这个操作。

值为至少一字节的的可变长字段的长度。 (3)分析TCP数据传输阶段的前8个报文,将报文信息填入到表中 报文序号报文种类 (发送/ 确认)序号字段确认号字 段 数据长度被确认报 文序号 4发送115653 5发送566114604 6确认156605 7发送2026114606 8发送3486114607 9确认1202608 10发送4946114609 11发送64061146010 数据传送阶段第一个报文的序号字段值是否等于连接建立时第三个报文的序号? 答:是相等的 数值均为1. (4)捕获一个拆除TCP连接的数据包,附上捕获截图,主要要包含拆除连接的数据包部分,分析TCP释放连接的过程,选择TCP释放连接过程当中的四个报文,将报文信息填在下表。 字段名称第一条报文第二条报文第三条报 文第四条报文 报文序号135136137138 Sequence Number 21344214 Acknowedgement Numbber 42142145

相关文档
相关文档 最新文档