课 程 设 计 课程名称 计算机网络实验 题目名称 分析TCP 三次握手 学生学院 计算机学院 2014年 01 月 0 5 日 一、 实验目的 TCP是可靠的传输,在通信之前要通过三次握手建立链接。通过实验掌握TCP三次握手的过程。 二、 实验原理 1、TCP 的三次连接分析 在 TCP报文头有 6种标志位: URG(urgent紧急),ACK(acknowledgement 确认),PSH(push传送),RST(reset重置),SYN(synchronous建立联机) ,FIN(finish结束) 。 第一次握手:建立连接时,客户端发送 syn包(syn=j)到服务器,并进入 SYN_SEND状态,等待服务器确认; 标志位: 0 0 0 0 1 0 URG 0 0 0 0 0 0 ACK 0 0 0 0 0 0 PSH 0 0 0 0 0 0 RST 0 0 0 0 0 0 SYN 0 0 0 0 1 0 FIN 0 0 0 0 0 0 第二次握手:服务器收到 syn包,必须确认客户的 SYN(ack=j+1),同时自己也发送一个 SYN包(syn=k),即 SYN+ACK包,此时服务器进入SYN_RECV状态; 标志位: 0 1 0 0 1 0 URG 0 0 0 0 0 0 ACK 0 1 0 0 0 0 PSH 0 0 0 0 0 0 RST 0 0 0 0 0 0 SYN 0 0 0 0 1 0 FIN 0 0 0 0 0 0 第三次握手:客户端收到服务器的 SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入 ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据. 标志位: 0 1 0 0 0 0 URG 0 0 0 0 0 0 ACK 0 1 0 0 0 0 PSH 0 0 0 0 0 0 RST 0 0 0 0 0 0 SYN 0 0 0 0 0 0 FIN 0 0 0 0 0 0 2、抓包的筛选规则 Int Analyze_fram()获得 Mac 头 类型 类型0x0800 类型0x86dd 协议号6 下一个头0x06 端口号80 3、分析 TCP 三次连接的规律 x Syn 报文 序号:0x3 d 08309d 确认号:0 y Syn Ack 报文 序号:0x4 6 fc1db3 确认号:0x3 e 08309d y+1 Ack 报文 序号:0x3e08309d 确认号:0x4 7 fc1db3 三、 实验平台 1、win7 旗舰版 2、VS2010 3、WpdPack_4_1_2 和 WinPcap_4_1_2 四、 实验配置 l 、添加头文件目录 项目->配置属性-> VC++目录->包含目录->添加 WinPcap 开发包中的 Include 目录 2、添加库文件目录 项目->配置属性-> VC++目录->包含目录->添加 WinPcap 开发包中的 Lib 目录,如下图所示: analyze_ip 获得 IPv4 的信息头 a...