系别计算机系班级学号姓名
课程名称计算机网络实验日期
实验名称网络报文分析成绩
实验目的:
1.学会简单使用网络分析工具(如WireShark(Ethereal)、Sniffer、科来等)抓取网络报文。
2.对抓取的网络报文进行分析,加深对网络数据分层封装理论的理解。
实验内容:
利用任意一款网络分析工具抓取网络数据(推荐WireShark),开启抓包功能,进行网络信息浏览等简单的网络使用。
分析抓到的数据包,能够辨别传输层三次握手的过程,能够辨别分析网络各层添加的头部与数据部分的组成。
实验步骤:
1.选择一个网络分析工具,学会简单使用,本实验使用WireShark来抓取网络报文。
WireShark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。
点击Caputre->Interfaces,选择正确的网卡。
然后点击"Start"按钮, 开始抓包。
2.抓取若干数据包,对照理论所学数据包,辨别、分析数据包结构。
TCP分析:
一个TCP报文段分为首部和数据两部分。
TCP报文段首部的前二十个字节是固定的,后面有4N个字节是根据需要而增加的选项。
因此TCP的最小长度是20个字节。
源端口和目的端口字段:各占两个字节,分别写入源端口号和目的端口号。
在抓取的数据报中,源端口号和目的端口号的值分别是:80和5677。
序号字段:占4个字节。
序号范围是0到232-1,共232个序号。
确认号字段:在四个字节,是期望收到对方下一个报文段的第一个字节的序号。
数据偏移字段:占4位,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。
这个字段实际上是指出TCP报文段的首部长度。
由于首部中还有长度不确定的选项字段。
因此数据偏移字段是必要的。
现在本字段的值是20,说明首部不包含选项字段。
保留字段:占6位,保留为今后使用;
窗口字段:占两个字节。
窗口值是0到216-1之间的整数。
窗口指的是发送本报文段的一方的接收窗口,而不是自己的发送窗口。
本数据包中窗口字段的值是8212。
校验和字段:占2个字节。
校验和字段检验的范围包括首部和数据这两部分。
紧急指针字段:占两个字节。
紧急指针仅仅在URG=1时才有意义,它指出
选项字段:长度可变最长可达40个字节,当没有使用选项时,TCP的首部长度是20个字节。
本数据包中没有选项字段。
TCP的三次握手过程,如下图所示:
由图中可以看出,HTTP是靠TCP建立连接的。
第一次握手过程:客户端发送一个TCP,标志位为SYN,序列号为0,代表客户端请求建立连接。
第二次握手过程:服务器发回确认包,标志位为SYN;ACK.。
将确认序号设置为客户的I S N加1,即0+1=1。
第三次握手过程:客户端再次发送确认包(ACK) ,SYN标志位为0,ACK标志位为1。
并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方。
并且在数据段设置ISN的+1。
就这样通过了TCP三次握手,建立了连接。
网络分层结构分析:
第一行为物理层的数据帧概况,第二行为数据链路层以太网帧头部信息,下面为目的端口和源端口号。
HTTP分析:
从下图可以看出,进行了访问邮箱操作。
实验总结:
通过这次试验,培养了自己动手的能力,另外,通过对WireShark抓包软件的使用,用其来抓取数据包,对ip,icmp等报文的格式有了进一步的了解,通过对报文格式的分析,并且把课本上所学的理论知识与实践结合起来,对以前的知识得到深化和巩固,为以后学习新的知识打下基础,也提高了学习的兴趣,收获很大。