1、计算机与技术学院2011年 12 月实验名称:网络协议分析与流量统计实验地点:21#428成绩:一、实验目的掌握如何利用协议分析工具分析数据链路层帧格式,网络层IP数据包,传输层TCP、UDP报文格式,体会数据发送、转发的过程。在学习的过程中可以直观地看到数据的具体传输过程二、实验要求 掌握协议分析软件的使用,巩固所学的IP、TCP、UDP协议格式和传输原理三、实验环境计算机、捕包软件四、实验内容按照实验内容要求完成捕包和分析内容。(1)以太网帧首部格式分析;(2)IP数据包首部格式分析;(3)TCP连接的三次握手协议包的捕获与协议分析;(4)UDP数据报首部格式分析;(5)ICMP ping
2、 请求包与应答包捕获与分析;(6)DNS域名解析过程数据包捕获与分析;(7)ARP 地址解析过程数据包捕获与分析;(8)FTP登录口令捕获与分析;五、实验步骤与过程 1软件下载、安装与使用(1)下载并安装Ethereal-Network Protocol Analyzer软件。下载地址:222.27.255.83 或本课程公用资源信箱帐号的网络存储。(2)安装Ethereal 软件,并自动安装Wincap软件包。 图1.1 Ethereal 安装界面(3)软件设置双击启动桌面上ethereal图标 ,按ctrl+K进行 “capture option”的选择。选择正确的“Interface”,
3、其余使用默认设置,点击“start”按钮开始报文的捕获。如下图所示: 图1.2 捕获设置界面(4)capture option确认选择后,点击start就开始进行抓包,点击stop即可以停止抓包 图1.3 捕包过程界面(5)开始协议分析选择所捕获的数据包开始分析 图1.4 捕包分析界面(1)ARP协议分析ARP,全称Address Resolution Protocol,地址解析协1它工作在数据链路层,在本层和硬件接口联系,同时对上压供服务。TP数据包常通过以太网发送,以太网设备并不识别32IP地址,它们是以48位以太网地址传输以太网数据包。必须把IP目的地址转换成以太网目的地址。因此,在以太
4、网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。 ARP捕获状态窗口 图1.5ARP捕获状态窗口ARP协议用于将网络中的IP地址解析为的硬件地址(MAC地址),以保证通信的顺利进行。网络当中经常会使用到ARP协议,所以可以使用Ethereal抓取网络中的ARP数据包捕获的ARP数据包 图1.6 捕获的ARP的数据包从图1.6中看到,已经捕获到了一些ARP的数据包,每个数据包占一行,比如第1个ARP数据包,从它的info信息里面可以看到对于这个数据包的简要的说明:Who has 10.28.23.140?
5、 Tell 10.28.23.250。这个info表明ARP协议的主要功能:通过IP地址找对方的MAC地址。 图1.6ARP协议的图将其展开ARP协议报进行分析,如图1.7所示 图1.7ARP协议报文分析(2)分析TCP、IP报文,TCP/IP机制TCP是一种面向连接的、可靠的传输层协议,TCP数据传(只有连接建立后才可进行数据传输)需要通过在客户端和服端建立特定的虚电路连接来完成,该过程通常被称为“三次握手”,如图1.8所示。图1.8三次握手示意图即发送方先发送连接请求,然后接受方进行连接确认,最发送方对接受方再次进确认。下面就以Ethereal捕获的建TCP连接过程的三个数据包为例对TCP
6、/IP协议进行分析。 为了能够捕获到“三次握手”过程中的数据包,首先让Ethereal一直保持捕获状态,如图1.9所示, 图1.9 TCP报文捕获状态窗口因为是通过TCP来建立的,可以将Ethereal的过滤器设置为TCP,此时只捕获所有经过计算机的TCP协议数据包。在保持捕获的状态下,打开一个新的网页,如,由于访问网页首先需要通过“三次握手”建立连接,然后才能进行数据的传输,此时,Ethereal就可以捕获到在访问网页过程中建立连接的TCP数据包,如图1.10所示 图1.10 TCP捕获状态窗口在捕获状态窗口中点击停止,将所有捕获到的数抿所显示出图1.11显示的就是所捕到的前4个数据包,从图
7、中可以看到1号数据包一3号数据包是连接建立过程中的数据包,4号数据包是在连接建立完成以后开始传输数据。 图1.11 捕获到的数据包客户端发送连接请求,从图1.12可以看出比特0 4 8 16 19 24 31 图1.12 IP数据包首部该数据包封装了三个头信息:以太网(Eth-ernet)帧、IP数据报(IP数据报首部格式如图1.12)和TCP报文段(TCP报文段固定首部格式如图1.13)。比特 0 8 16 24 31图1.13 TCP报文段固定首部格式在物理链路层,数据以帧的方式进行传输。以太网帧头信息中,描述了该数据包的接收方MAC(MAC的结构如图1.14)地址为00:03:0f:00
8、:0c:4b发起连接请求的源主机MAC为00:0d:a4:72,在帧中封装的协议类型type值为0x0800,即IP数据报。字节 6 6 2 46-105 4 图1.14以太网V2 MAC帧格式在网络层,加工的主要数据对象是IP数据报。IP协议是TCPIP协议族中的核心协议之一,所有的TCP、UDP、ICMP数据都以IP数据报格式传输。从以上请求数据包的IP首部可以看出,此IP数据报版本号(version)为4(即这个数据报为IPv4),首部(head length)为20bytes,服务类型(services field)为0x00,数据报总长(total length,即IP首部+数据载荷
9、)为48,标识(identification)为0x96b53,标志(flags)为0x04表示报文不分段,段偏移(fragmen offset)为0,生存时间(time to live)为128,数据报中上层协议类型protocol值为0x06 (即TCP报文段),头部校验和0x1206表示正确,请求主机的IP地址为118.203.188.218,目的主机的IP地址为58.248.245.40。在运输层,主要数据对象是TCP报文。在以上的TCP报文段中,描述了请求方源端口号(source port)为1615;目的端口号(destination port)为80,其中0是HTTP协议的保留端
10、口号;序列号SEQ是本次连接的初始序号,因此在连接请求时相对初始值是0,其实际值是24 68 15 a1;确认号是00 00 00 70;头部长度(header length)为28bytes;标志位(flags)为Ox0002,指示ACK标志为0表明确认号被忽略,SYN=1表示正在进行连接请求,通过SYN和ACK也可以用来区分Connection Request和Connection Accepted,在连接请求中,SYN=1、ACK=0,连接响应时,SYN=1、ACK=1;PSH为0;窗口字段(window size)指示发送方想要接收的最大字节数为65535;校验和(checksum)为
11、0xf6a表明正确;最后是8bytes的选项字段。图1.15发送方发出的连接请求数据包在此我们仅涉及连接的过程中一些重要地方的变化:数据包由服务端58.248.245.40发至客户端118.203.188.218。在响应TCP报文段中,源端口和目的端口地址相对改变,相应数据包的起始序列号SEQ为ef 84 c8 9b,确认号为24 68 17 a2 (实际上是请求数据的起始序号加1,也表示下一个希望接收的数据的起始位置),标志位0x0010指示ACK标志为1表明确认号有效、SYN仍然为1。图1.16服务端响应数据包客户端连接确认在TCP连接建立的最后阶段如图1.17,客户端对接受到的服务器相应
12、进行确认,到此为止建立完整的TCP连接,开始全双工模式的数据传输过程。图1.17客户端确认数据包在确认阶段图1.17客户端确认数据包数据包由客户端118.203.188.218发送至服务端58.248.245.40,TCP中的序列号为24 68 15 a2(即上次服务器响应报文的确认号),报文段中的本次确认号为73 ff 17 ff(即上次的序列号加1)表示客户端下一次希望从主机接收的数据的起始位置;标志位Ox0010指示ACK标志为1表明确认号有效,SYN置为0表示连接建立结束。通过上述利用Ethereal对TCP连接过程的三个数据包的分析,可以看出TCP/IP协议的Three-way ha
13、ndshaking过程如下:第一步,客户端发出连接请求,TCP数据为:SEQ=24 68 15 a2,ACKNUM=00 00 00 00,SYN=1,ACK=0。第二步,服务端确认可以连接,TCP数据为:SEQ=ef 84 c8 9b,ACKNUM=24 68 15 a2,SYN=1,ACK=1。第三步,客户端建立连接,TCP数据为:SEQ=24 68 15 a2,ACKNUM=ef 84 c8 9b,SYN=0,ACK=1六、实验结果、收获、思考与改进 由于协议过多,而且,就我个人而言,也只是对网络中几种协议很熟悉,所以,本次实验选取了典型的协议的进行分析,主要要ARP协议,IP协议,TCP协议以及TCP/IP三次握手机制,实验的结果正确,达到了实验最初的要求。 通过本次实验,让我对TCP/IP建立连接是的三次握手机制有了很明晰的认识,此外,对TCP,IP,ARP协议的结构有了更深入的了解,学会了通过发送的报文来分析协议,对网络协本身也有了更有深刻的了解。 通过对ethereal的使用,对协议包的捕获,我发现在网络通信中,借助这些工具,只要了解协议以及网络通信的方式,就可以很方便的的对网络中的信息进行分析,当然还得再配合其它工具了。 如果在本次实验中,借助配合其它的网络协议分析工具,就能够进行更好的实验,拿到更好的实验数据和结果
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1