TCP协议分析实验
学号:
姓名:
院系:
专业:
一.实验目的
学会使用Sniffer抓取ftp的数据报,截获ftp账号及密码,并分析TCP 头的结构、分析TCP的三次“握手”和四次“挥手”的过程,熟悉TCP 协议工作方式。
二.实验(软硬件以及网络)环境
利用VMware虚拟机建立网络环境,并用Serv-U 在计算机上建立FTP服务器,用虚拟机进行登录。
三.实验工具
sniffer嗅探器,VMware虚拟机,Serv-U 。
四.实验基本配置
Micrsoft Windows XP操作系统
五.实验步骤
1.建立网络环境。
用Serv-U 在计算机上建立一台FTP服务器,设置IP地址为:
192.168.0.10,并在其上安装sniffer嗅探器。再并将虚拟机作为一
台FTP客户端,设置IP地址为:192.168.0.12。设置完成后使用ping
命令看是否连通。
2.登录FTP
运行sniffer嗅探器,并在虚拟机的“运行”中输入,点确定后出现
如下图的登录窗口:
在登录窗口中输入:用户名(hello),密码(123456)【在Serv-U 中
已设定】,就登录FTP服务器了。再输入“bye”退出FTP
3.使用sniffer嗅探器抓包
再sniffer软件界面点击“stop and display”,选择“Decode”选
项,完成FTP命令操作过程数据包的捕获。
六.实验结果及分析
1.在sniffer嗅探器软件上点击Objects可看到下图:
再点击“DECODE(反解码)”按钮进行数据包再分析,我们一个一个的分析数据包,会得到登录用户名(hello)和密码(123456)。如下图:
2. TCP协议分析
三次握手:
发报文头——接受报文头回复——再发报文(握手)开始正式通信。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND 状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据。
四次挥手:
由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
(1)虚拟机发送一个FIN,用来关闭用户到服务器的数据传送。
(2)服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。
(3)服务器关闭与虚拟机的连接,发送一个FIN给虚拟机。
(4)虚拟机发回ACK报文确认,并将确认序号设置为收到序号加1。