实验四 TCP报文的捕获与分析
一、实验目的
(1)掌握TCP建立连接的工作机制。
(2)掌握借助Wireshark捕捉TCP三次握手机制。 (3)掌握SYN、ACK标志的使用。
二、实验内容
用Wireshark软件捕捉TCP三次握手机制。
三、实验原理
TCP报文段格式如图1所示。
图1 TCP报文段格式
三次握手机制实验原理如图2所示。
图2 三次握手机制工作示意图
四、实验环境
交换式网络、windows操作系统、Wireshark软件 注意:在做这个实验的过程中,例如从打开某一网页获得TCP包从而分析TCP的三次握手机制过程中,容易犯先打开网页再开始抓包的错误,正确的做法是先在Whireshark软件中设置TCP抓包,然后再打开一个网页。
五、实验内容与步骤
(1)开启Wireshark软件
在捕捉接口对话框中选中网卡接口,然后点击“Optinos”进行包过滤。
(2)过滤TCP数据包
在随后出现的的下列对话框中,在“Capture Filter”处填写TCP,从而捕捉到TCP包,进而获得TCP三次握手的建立机制,然后点击“Start”。
(3)TCP
三次握手机制生成与分析
访问某一网站,则Whireshark捕捉到的TCP三次握手的信息,如图4所示,以前三行为例解析一下。
第一行对应的是第一次握手,其中[SYN]出现表明为三次握手的开始的标志。
ecwcfg向http发送一个标志为SYN=1且含有初始化序列值seq=0的数据包,开始建立会话,在初始化会话过程中,通信双方还在窗口大小Win、最大报文段长度MSS等方面进行协商。同时Source port为2263,Destination port为80,打开编号为1所示的下拉菜单,会出现对应项的更加详细的解析,如图所示。
? 第二行对应的[SYN,ACK]表明为二次握手,是对建立的确认。
http向ecwcfg发送包含确认值的数据段,如图总Transmission Control Protocol(TCP)所示,其值等于所收到的序列值加一,即ACK=1,其自身的序列号为0;并对MSS更改为1452。源端口号Src Port为80,目的端口号Dst Port为2263。
? 第三行对应的是第三次握手
ecwcfg向http发送确认值Seq=1、Ack=1(ecwcfg接收到的序列值加1),这便完成了三次握手的建立。如图所示对应答的应答为第三次握手。
六、实验心得
通过这次实验,让我更加清晰TCP三次握手机制。当路由器在某一个入接口上接收到数 据帧后,先检测目的地是否是自己 。若是,则交给上层处理,否则会 缓存数据包内容,然后根据目标地 址查找路由表找到相关表项,得到 NEXT HOP及出接口的MAC地址, 用这两个地址作为新的目的及源MA C地址封装事先缓存的数据包,然 后转发,这个过程称为帧的重写( REWRITE)一般来说,ICMP报文提 供针对网络层的错误诊断、拥塞控 制、路径控制和查询服务四项大的 功能。如,当一个分组无法到达目 的站点或TTL超时后,路由器就会 丢弃此分组,并向源站点返回一个 目的站点不可到达的ICMP报文。通过实验更加清晰计算机网络在实际中的应用问题。