实验计算机网络实验指导书TCP协议分析及应用层命令.docVIP

  • 15
  • 0
  • 约3.81千字
  • 约 7页
  • 2018-08-30 发布于贵州
  • 举报

实验计算机网络实验指导书TCP协议分析及应用层命令.doc

实验计算机网络实验指导书TCP协议分析及应用层命令

计算机网络实验指导书 -TCP协议分析及应用层命令实验 指导教师:韩家伟 孙玉钰 实验4 TCP报文段分析及应用层命令实验 1.实验目的 1.掌握使用IRIS工具对TCP与UDP协议进行抓包分析的方法。 2.掌握TCP协议的报文格式及其优缺点。 3.熟悉应用层命令。 2.实验设备与环境 1.Iris网络分析软件 2.网络数据包捕获 3.捕获TCP报文段并分析 (一)实验内容 1.启动网络嗅探工具,设置好过滤条件,捕获UDP用户数据报和TCP报文段。 2.分析UDP与TCP协议。 (二)TCP协议实验指导 传输控制协议(Transmission Control Protocol,TCP)是一种可靠的面向连接的传送协议。它在传送数据时是分段进行的,主机之间交换数据必须建立一个会话。它用比特流通信,即数据被作为无结构的字节流。通过每个TCP传输的字段指定顺序号,以获得可靠性。它是在OSI参考模型的第4层,TCP是使用IP的网际间互联功能而提供可靠的数据传输,IP不停地把报文放到网络上,而TCP负责确信报文到达。在协同IP的操作中TCP负责握手过程、报文管理、流量控制、错误检测和处理(控制),并根据一定的编号顺序对非正常顺序的报文给予重新排列顺序。 TCP是面向连接的协议。在面向连接的环境中,开始传输数据之前,在两个终端之间必须先建立一个连接。对于一个要建立的连接,通信双方必须用彼此的初始化序列号seq和来自对方成功传输确认的应答号ack(指明希望收到的下一个八位组的编号)来同步,习惯上将同步信号写为SYN,应答信号写为ACK。 整个同步的过程称为三次握手,如图4-1所示。 图4-1 TCP连接的建立 ?对于一个已经建立的连接,TCP使用四次握手来结束通话(使用一个带有FIN附加标记的报文段)。 如图4-2所示。 图4-2 TCP连接的释放 TCP每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到期,但还没有收到确认,就要重传这一报文段。 图4-3 TCP报文格式 TCP首部各字段分析 TCP的头信息是:04 28 00 15 3A DF 05 53 00 00 00 00 70 02 40 00 9A 8D 00 00 02 04 05 B4 01 01 04 02 端口号:常说FTP占21端口、HTTP占80端口、TELNET占23端口等,这里指的端口就是TCP或UDP的端口,端口就像通道两端的门一样,当两机进行通讯时门必须是打开的。源端口和目的端口各占16位,2的16次方等于65536,这就是每台电脑与其它电脑联系所能开的“门”。一般作为服务一方每项服务的端口号是固定的。本例目的端口号为00 15,换算成十进制为21,这正是FTP的默认端口,需要指出的是这是FTP的控制端口,数据传送时用另一端口,第三组的分析能看到这一点。客户端与服务器联系时随机开一个大于1024的端口,本例为04 28,换算成十进制为1064。你的电脑中了木马也会开一个服务端口。观察端口非常重要,不但能看出本机提供的正常服务,还能看出不正常的连接。Windows察看端口的命令时netstat。 32位序号:也称为顺序号(Sequence Number),简写为SEQ,从上面三次握手的分析可以看出,当一方要与另一方联系时就发送一个初始序号给对方,意思是:“让我们建立联系吧?”,服务方收到后要发个独立的序号给发送方,意思是“消息收到,数据流将以这个数开始。”由此可看出,TCP连接完全是双向的,即双方的数据流可同时传输。在传输过程中双方数据是独立的,因此每个TCP连接必须有两个顺序号分别对应不同方向的数据流。 32位确认序号:也称为应答号(Acknowledgment Number),简写为ACK。在握手阶段,确认序号将发送方的序号加1作为回答,在数据传输阶段,确认序号将发送方的序号加发送的数据大小作为回答,表示确实收到这些数据。 4位首部长度。这个字段占4位,它的单位时32位(4个字节)。本例值为7,TCP的头长度为28字节,等于正常的长度20字节加上可选项8个字节。,TCP的头长度最长可为60字节(二进制1111换算为十进制为15,15*4字节=60字节)。 6个标志位。 URG 紧急指针,告诉接收TCP模块紧要指针域指着紧要数据 ACK 置1时表示确认号(为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。 PSH 置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。 RST 置1时重建连接。如果接收到RST位时候,通常发生了某些错误。 SYN 置1时用来发起一个连接。 FIN 置1时表示发端完成发送任务。用来释放连接,表明发送方已经没有数据发送了。 16

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档