1、要求在该课程期末考试前将实验报告交给任课教师。综合性实验中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。5、 未尽事宜,请参考该课程的实验大纲和教学大纲。第 1 页 数据通信与计算机网络 课程综合性实验报告开课实验: 网络工程实验室 2015 年 5 月 30 日实验题目 网络协议 TCPIP 分析一、实验目的1. 通过实验,学习和掌握 TCP/IP 协议分析的方法及其相关工具的使用。2. 熟练掌握 TCP/IP 体系结构;3. 学会使用网络分析工具。4. 网络层、传输层和应用层有关协议分析;二、设备与环境Windows
2、 2000 server 操作系统TCP/IP 协议Wireshark 工具软件三、实验内容1. 安装 VMware虚拟机和配置 VMware虚拟机 ( 选做) 。2. 要求同学掌握网络抓包软件 Wireshark 内容包括捕获网络流量进行详细分析:利用专家分析系统诊断问题;实时监控网络活动;收集网络利用率和错误等;3. 协议分析(一): IP 协议,内容包括:IP 头的结构;IP 数据报的数据结构分析;4. 协议分析(二): TCP/UDP协议,内容包括:TCP协议的工作原理;TCP/UDP数据结构分析;5. 协议分析(三):应用层协议分析,内容包括:完整的 FTP会话分析。四、实验步骤1.
3、 安装并运行 wireshark 并打开捕获界面。2. 捕获选项第 2 页图一3. 开始抓包点击上图中的 “Start ”开始抓包几分钟就捕获到许多的数据报, 主界面入托所示:图二第 3 页如上图所示,可看到很多捕获的数据。选中第 8 个数据帧,然后从整体上看看 wirrshark 的窗口,主要被分成三部分。上面部分是所有数据帧的列表: 中间部分是数据帧的描述信息: 下面部分是帧里面的数据。图三二分析 UDP、TCP协议1、TCP协议在因特网协议族中, TCP层位于 IP 层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是 IP 层不提供这样的流机制,而是提
4、供不可靠的包交换。TCP建立连接之后,通信双方都同时可以进行数据的传输,其次,它是全双工的;在第 4 页保证可靠性上,采用超时重传和捎带确认机制。以访问 说明一次完整的 TCP建立的三次握手过程。第一次握手要建立 TCP连接,首先需要客户机向服务器发起建立连接的请求, 及第一次握手的报文。在此报文中, SYN字段置为 1。由于之前连接不存在,所以没有对之前接受的确认,故 ACK字段被置为 0。同时由于连接还没有建立,不能发送数据,从而序列号也应该为 0。采用 wireshark 的过滤功能, 用 tcp.flags.syn=1 显示 TCP中 SYN字段为 1 的数据包,由 SYN字段的定义知
5、道这是建立 TCP连接的报文。 从中找到 ack=0 的包即表示第一次 TCP握手(此处以 49 号数据包为 TCP建立的第一次握手为例)。图四由上图可以看出源 IP 地址为:192.168.1.100 ,目的 IP 地址为 222.89.166.13 。TCP报文分析:Transmission Control Protocal, Src Port : 54132 (54132), Dst Prot: http (80),Seq: 0, Len: 0Souce port: 54132 (54132) / 源端口号第 5 页Destination prot: http (80) / 目的端口号(
6、由于端口号是80,知道这是一个 http 请求的连接)Stream index: 3 / 根据源和目的 IP 及端口号生成的一个索引号Sequence number: 0 (relative sequence number) / 序列号为 0,(没有发送数据)Header length: 32 bytes /TCP 报文首部长为 32比特Flags: 0x002 (SYN)000. . . . . . . . . = Reserved: Not set. . . 0 . . . . . . . . = Nonce:. . . . 0 . . . . . . . = Congestion win
7、dow Reduced (CwR). . . . . 0 . . . . . . = ECN-Echo:. . . . . . 0 . . . . . = Urgent: Not set / 不是紧急报文. . . . . . . 0 . . . . = Acknowledgment: Not set / 没有包含确认的报文. . . . . . . . 0 . . . = Push: Not set /PSH 标志字段没有设置. . . . . . . . . 0 . . = Reset: Not set /RST 标志字段没. . . . . . . . . . 1 . = Syn: Se
8、t / 建立连接. . . . . . . . . . . 0 = Fin: Not set / 不是删除连接Window size value: 8192 / 窗口大小 8192 比特Calculated window size : 8192Checksum:0x78df validation disabled / 检验和(没有传送数据)(wireshark 软件为了节约时间和资源,对 UDP与 TCP的检验和没有进行精确计算,只提供了近似值,故为 validation disabled)Good Checksum: FalseBad Checksum:Options: (12 bytes)
9、, Maximumsegment size, No-Operation (NOP), window scale,No-Operation (NOP), SACK permittied / 选项字段第 6 页通过报文分析,知道第一次握手成功。第二次握手第二次握手的报文由服务器发送,需要对第一次握手的报文进行恢复确认,因而 ACK字段应该置为 1。同时由于这仍然是 TCP连接建立的过程,所以 SYN字段置为 1;没有数据传输,故而序列号为 0。接下来寻找第一次握手的报文后面 ACK=1且源端口号、目的端口号与第一次握手分析的报文目的端口号、源端口号相同的报文,即表示此次 TCP连接建立的第二次握手
10、。图五Transmission Control Protocol, Src Port: http (80), Dst Port: 54132 (54132), 0, Ack: 1, Len: 0 / 状态行Source port: http (80) / 源端口号Destination port: 54132 (54132) / 目的端口号 ( 与第一次握手的报文对比发现源与目的的端口号互换了 ) 3 / 根据源和目的 IP 及端口号生成的一个索引号第 7 页Acknowledgment number: 1 (relative ack number) / 确认号 32 bytes /TCP 报
11、文首部长为 32 比特 0x012 (SYN, ACK)000. . . = Reserved:.0 . . = Nonce:. 0. . = Congestion Window Reduced (CWR):. .0. . = ECN-Echo:. .0. . = Urgent:. .1 . = Acknowledgment: Set / 包含确认的报文. . 0. = Push: Not set /PSH 标志字段没有设置. . .0. = Reset: Not set /RST 标志字段没有. . .1. = Syn: Set /TCP 连接建立. . .0 = Fin: 5840 / 窗
12、口大小 5840 比特Calculated window size: 5840 0xa7b6 validation disabled / 检验和(没有传送数据) (12 bytes), Maximum segment size, No-Operation (NOP),No-Operation (NOP), SACK permitted, No-Operation (NOP), Window scale /选项字段SEQ/ACK analysisThis is an ACK to the segment in frame: 49The RTT to ACK the segment was: 0.043622000 seconds通过报文分析,知道第二次握手成功。第三次握手第 8 页客户机接收到第二次握手的报文后,对服务器发送第三次握手的报文。在该报文中,需要对第二次握手的报文进行确认,即 ACK字段置为 1。此时连接已经建立, SYN字段被置为 0,同时可以发送数据,故序列号不再为 0。采用 wireshar