网络协议分析与流量统计实验Word文件下载.docx
《网络协议分析与流量统计实验Word文件下载.docx》由会员分享,可在线阅读,更多相关《网络协议分析与流量统计实验Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
计算机与技术学院
2011年12月
实验名称:
网络协议分析与流量统计
实验地点:
21#428
成绩:
一、实验目的
掌握如何利用协议分析工具分析数据链路层帧格式,网络层IP数据包,传输层TCP、UDP报文格式,体会数据发送、转发的过程。
在学习的过程中可以直观地看到数据的具体传输过程
二、实验要求
掌握协议分析软件的使用,巩固所学的IP、TCP、UDP协议格式和传输原理
三、实验环境
计算机、捕包软件
四、实验内容
按照实验内容要求完成捕包和分析内容。
(1)以太网帧首部格式分析;
(2)IP数据包首部格式分析;
(3)TCP连接的三次握手协议包的捕获与协议分析;
(4)UDP数据报首部格式分析;
(5)ICMPping请求包与应答包捕获与分析;
(6)DNS域名解析过程数据包捕获与分析;
(7)ARP地址解析过程数据包捕获与分析;
(8)FTP登录口令捕获与分析;
五、实验步骤与过程
1.软件下载、安装与使用
(1)下载并安装Ethereal-NetworkProtocolAnalyzer软件。
下载地址:
222.27.255.83或本课程公用资源信箱帐号的网络存储。
(2)安装Ethereal软件,并自动安装Wincap软件包。
图1.1Ethereal安装界面
(3)软件设置
双击启动桌面上ethereal图标,按ctrl+K进行“captureoption”的选择。
选择正确的“Interface”,其余使用默认设置,点击“start”按钮开始报文的捕获。
如下图所示:
图1.2捕获设置界面
(4)captureoption确认选择后,点击start就开始进行抓包,点击stop即可以停止抓包
图1.3捕包过程界面
(5)开始协议分析
选择所捕获的数据包开始分析
图1.4捕包分析界面
(1)ARP协议分析
ARP,全称AddressResolutionProtocol,地址解析协1它工作在数据链路层,在本层和硬件接口联系,同时对上压供服务。
TP数据包常通过以太网发送,以太网设备并不识别32IP地址,它们是以48位以太网地址传输以太网数据包。
必须把IP目的地址转换成以太网目的地址。
因此,在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。
但这个目标MAC地址是如何获得的呢?
它就是通过地址解析协议获得的。
ARP捕获状态窗口
图1.5ARP捕获状态窗口
ARP协议用于将网络中的IP地址解析为的硬件地址(MAC地址),以保证通信的顺利进行。
网络当中经常会使用到ARP协议,所以可以使用Ethereal抓取网络中的ARP数据包
捕获的ARP数据包
图1.6捕获的ARP的数据包
从图1.6中看到,已经捕获到了一些ARP的数据包,每个数据包占一行,比如第1个ARP数据包,从它的info信息里面可以看到对于这个数据包的简要的说明:
Whohas10.28.23.140?
Tell10.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/IP协议进行分析。
为了能够捕获到“三次握手”过程中的数据包,首先让Ethereal一直保持捕获状态,如图1.9所示,
图1.9TCP报文捕获状态窗口
因为是通过TCP来建立的,可以将Ethereal的过滤器设置为TCP,此时只捕获所有经过计算机的TCP协议数据包。
在保持捕获的状态下,打开一个新的网页,如,由于访问网页首先需要通过“三次握手”建立连接,然后才能进行数据的传输,此时,Ethereal就可以捕获到在访问网页过程中建立连接的TCP数据包,如图1.10所示
图1.10TCP捕获状态窗口
在捕获状态窗口中点击停止,将所有捕获到的数抿所显示出图1.11显示的就是所捕到的前4个数据包,从图中可以看到1号数据包一3号数据包是连接建立过程中的数据包,4号数据包是在连接建立完成以后开始传输数据。
图1.11捕获到的数据包
客户端发送连接请求,从图1.12可以看出
比特04816192431
图1.12IP数据包首部
该数据包封装了三个头信息:
以太网(Eth-ernet)帧、IP数据报(IP数据报首部格式如图1.12)和TCP报文段(TCP报文段固定首部格式如图1.13)。
比特08162431
图1.13TCP报文段固定首部格式
在物理链路层,数据以帧的方式进行传输。
以太网帧头信息中,描述了该数据包的接收方MAC(MAC的结构如图1.14)地址为00:
03:
0f:
00:
0c:
4b发起连接请求的源主机MAC为00:
0d:
a4:
72,在帧中封装的协议类型type值为0x0800,即IP数据报。
字节66246-1054
图1.14以太网V2MAC帧格式
在网络层,加工的主要数据对象是IP数据报。
IP协议是TCPIP协议族中的核心协议之一,所有的TCP、UDP、ICMP数据都以IP数据报格式传输。
从以上请求数据包的IP首部可以看出,此IP数据报版本号(version)为4(即这个数据报为IPv4),首部(headlength)为20bytes,服务类型(servicesfield)为0x00,数据报总长(totallength,即IP首部+数据载荷)为48,标识(identification)为0x96b53,标志(flags)为0x04表示报文不分段,段偏移(fragmenoffset)为0,生存时间(timetolive)为128,数据报中上层协议类型protocol值为0x06(即TCP报文段),头部校验和0x1206表示正确,请求主机的IP地址为118.203.188.218,目的主机的IP地址为58.248.245.40。
在运输层,主要数据对象是TCP报文。
在以上的TCP报文段中,描述了请求方源端口号(sourceport)为1615;
目的端口号(destinationport)为80,其中0是HTTP协议的保留端口号;
序列号SEQ是本次连接的初始序号,因此在连接请求时相对初始值是0,其实际值是246815a1;
确认号是00000070;
头部长度(headerlength)为28bytes;
标志位(flags)为Ox0002,指示ACK标志为0表明确认号被忽略,SYN=1表示正在进行连接请求,通过SYN和ACK也可以用来区分ConnectionRequest和ConnectionAccepted,在连接请求中,SYN=1、ACK=0,连接响应时,SYN=1、ACK=1;
PSH为0;
窗口字段(windowsize)指示发送方想要接收的最大字节数为65535;
校验和(checksum)为0xf6a表明正确;
最后是8bytes的选项字段。
图1.15发送方发出的连接请求数据包
在此我们仅涉及连接的过程中一些重要地方的变化:
数据包由服务端58.248.245.40发至客户端118.203.188.218。
在响应TCP报文段中,源端口和目的端口地址相对改变,相应数据包的起始序列号SEQ为ef84c89b,确认号为246817a2(实际上是请求数据的起始序号加1,也表示下一个希望接收的数据的起始位置),标志位0x0010指示ACK标志为1表明确认号有效、SYN仍然为1。
图1.16服务端响应数据包
客户端连接确认在TCP连接建立的最后阶段如图1.17,客户端对接受到的服务器相应进行确认,到此为止建立完整的TCP连接,开始全双工模式的数据传输过程。
图1.17客户端确认数据包在确认阶段
图1.17客户端确认数据包
数据包由客户端118.203.188.218发送至服务端58.248.245.40,TCP中的序列号为246815a2(即上次服务器响应报文的确认号),报文段中的本次确认号为73ff17ff(即上次的序列号加1)表示客户端下一次希望从主机接收的数据的起始位置;
标志位Ox0010指示ACK标志为1表明确认号有效,SYN置为0表示连接建立结束。
通过上述利用Ethereal对TCP连接过程的三个数据包的分析,可以看出TCP/IP协议的Three-wayhandshaking过程如下:
第一步,客户端发出连接请求,TCP数据为:
SEQ=246815a2,ACKNUM=00000000,SYN=1,ACK=0。
第二步,服务端确认可以连接,TCP数据为:
SEQ=ef84c89b,ACKNUM=246815a2,SYN=1,ACK=1。
第三步,客户端建立连接,TCP数据为:
SEQ=246815a2,ACKNUM=ef84c89b,SYN=0,ACK=1
六、实验结果、收获、思考与改进
由于协议过多,而且,就我个人而言,也只是对网络中几种协议很熟悉,所以,本次实验选取了典型的协议的进行分析,主要要ARP协议,IP协议,TCP协议以及TCP/IP三次握手机制,实验的结果正确,达到了实验最初的要求。
通过本次实验,让我对TCP/IP建立连接是的三次握手机制有了很明晰的认识,此外,对TCP,IP,ARP协议的结构有了更深入的了解,学会了通过发送的报文来分析协议,对网络协本身也有了更有深刻的了解。
通过对ethereal的使用,对协议包的捕获,我发现在网络通信中,借助这些工具,只要了解协议以及网络通信的方式,就可以很方便的的对网络中的信息进行分析,当然还得再配合其它工具了。
如果在本次实验中,借助配合其它的网络协议分析工具,就能够进行更好的实验,拿到更好的实验数据和结果