数据包捕获与解析

上传人:大米 文档编号:484457585 上传时间:2023-11-29 格式:DOC 页数:33 大小:1.31MB
返回 下载 相关 举报
数据包捕获与解析_第1页
第1页 / 共33页
数据包捕获与解析_第2页
第2页 / 共33页
数据包捕获与解析_第3页
第3页 / 共33页
数据包捕获与解析_第4页
第4页 / 共33页
数据包捕获与解析_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《数据包捕获与解析》由会员分享,可在线阅读,更多相关《数据包捕获与解析(33页珍藏版)》请在金锄头文库上搜索。

1、数据包捕获与分析摘 要 本课程设计通过Ethereal捕捉实时网络数据包,并根据网络协议分析流程对数据包在TCP/IP各层协议中进行实际解包分析,让网络研究人员对数据包的认识上升到一个感性的层面,为网络协议分析提供技术手段。最后根据Ethereal的工作原理,用Visual C编写一个简单的数据包捕获与分析软件。关键词 协议分析;Ethereal;数据包;Visual C1引言本课程设计通过技术手段捕获数据包并加以分析,追踪数据包在TCP/IP各层的封装过程,对于网络协议的研究具有重要的意义。Ethereal是当前较为流行的图形用户接口的抓包软件,是一个可以用来监视所有在网络上被传送的包,并分

2、析其内容的程序。它通常被用来检查网络工作情况,或是用来发现网络程序的bugs。通过ethereal对TCP、UDP、SMTP、telnet和FTP等常用协议进行分析,非常有助于网络故障修复、分析以及软件和协议开发。,它以开源、免费、操作界面友好等优点广为世界各地网络研究人员使用为网络协议分析搭建了一个良好的研究平台。1.1课程设计的内容(1)掌握数据包捕获和数据包分析的相关知识;(2)掌握Ethreal软件的安装、启动,并熟悉用它进行局域网数据捕获和分析的功能;(3)设计一个简单的数据包捕获与分析软件。1.2课程设计的要求(1)按要求编写课程设计报告书,能正确阐述设计结果。(2)通过课程设计培

3、养学生严谨的科学态度,认真的工作作风和团队协作精神。(3)学会文献检索的基本方法和综合运用文献的能力。(4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。1.3课程设计平台Windows XP;Ethereal;Visual C2使用Ethereal对数据包进行捕获与分析2.1软件Ethereal 简介Ethereal (Ethereal:A Network Packet Sniffing Tool)是当前较为流行的一种计算机网络调试和数据包嗅探软件。Ethereal 基本类似于tcpdump,但Ethereal 还具有设计完美的 GUI 和众多分类信息及过滤选项。用户通过 Ethe

4、real,同时将网卡插入混合模式,可以查看到网络中发送的所有通信流量。 Ethereal 应用于故障修复、分析、软件和协议开发以及教育领域。它具有用户对协议分析器所期望的所有标准特征,并具有其它同类产品所不具备的有关特征。Ethereal 主要具有以下特征: 在实时时间内,从网络连接处捕获数据,或者从被捕获文件处读取数据;Ethereal 可以读取从 tcpdump(libpcap)、网络通用嗅探器(被压缩和未被压缩)、SnifferTM 专业版、NetXrayTM、Sun snoop 和 atmsnoop、Shomiti/Finisar 测试员、AIX 的 iptrace、Microsoft

5、 的网络监控器、Novell 的 LANalyzer、RADCOM 的 WAN/LAN 分析器、 ISDN4BSD 项目的 HP-UX nettl 和 i4btrace、Cisco 安全 IDS iplog 和 pppd 日志( pppdump 格式)、WildPacket 的 EtherPeek/TokenPeek/AiroPeek 或者可视网络的可视 UpTime 处捕获的文件。此外 Ethereal 也能从 Lucent/Ascend WAN 路由器和 Toshiba ISDN 路由器中读取跟踪报告,还能从 VMS 的 TCPIP 读取输出文本和 DBS Etherwatch。 从以太网

6、、FDDI、PPP、令牌环、IEEE 802.11、ATM 上的 IP 和回路接口(至少是某些系统,不是所有系统都支持这些类型)上读取实时数据。 通过 GUI 或 TTY 模式 tethereal 程序,可以访问被捕获的网络数据。通过 editcap 程序的命令行交换机,有计划地编辑或修改被捕获文件。 当前602协议可被分割。 输出文件可以被保存或打印为纯文本或 PostScript格式。 通过显示过滤器精确显示数据。 显示过滤器也可以选择性地用于高亮区和颜色包摘要信息。所有或部分被捕获的网络跟踪报告都会保存到磁盘中1。2.2 利用Ethereal捕获数据包安装完Ethereal后,单击Cap

7、ture下的Option菜单,打开捕获选项对话框,设置好捕捉接口(interface)和过滤器(capture filter),设置混杂模式(promiscuous mode)选项(此选项使得网卡并不检验数据帧的目的地址,用以截获网上的任何帧),其他选项可采用默认设置如图2-1,再单击Start按钮即可实时截获数据包。用Ethereal的捕获窗口如图2-2,捕获到的实时网络数据包的部分截图见图2-3。所截获的数据包分别在包列表(PackList)、包细节(Packet Details)和包字节(PackeBytes)三栏窗口中显示。其中上栏的包列表窗口按截获的时间顺序显示出数据包的基本信息:编

8、号(代表收到数据包的次序)、时间、源地址、目的地址协议名称以及关于此数据包的摘要信息;中间栏的包细节窗口以树形显示当前数据包在各协议层的封装细节,包括首部和数据;下栏的包字节窗口则以十六进制和ASCII码显示被截获数据包的详细内容左边一栏显示偏移量,中间一栏显示十六进制数值,右边一栏显示解码后相对应的字符(控制字符示为1个点)。图2-1Ethereal的设置图2-2捕获状态窗口图2-3捕获的数据包2.2 利用Ethereal对捕获数据包进行分析Ethereal是当前较为流行的一种计算机网络调试和数据包嗅探软件,是一个可以用来监视所有在网络上被传送的包,并分析其内容的程序。它通常被用来检查网络工

9、作情况,或是用来发现网络程序的bugs。通过ethereal对TCP、UDP、SMTP、telnet和FTP等常用协议进行分析,非常有助于网络故障修复、分析以及软件和协议开发。(1)ARP协议分析ARP,全称Address Resolution Protocol,地址解析协1它工作在数据链路层,在本层和硬件接口联系,同时对上压供服务。TP数据包常通过以太网发送,以太网设备并不识别32IP地址,它们是以48位以太网地址传输以太网数据包。必须把IP目的地址转换成以太网目的地址。因此,在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?

10、它就是通过地址解析协议获得的。图2-4就是对ARP捕获的状态窗口。ARP协议用于将网络中的IP地址解析为的硬件地址(MAC地址),以保证通信的顺利进行。网络当中经常会使用到ARP协议,所以可以使用Ethereal抓取网络中的ARP数据包,如图2-5,从图2-5中看到,已经捕获到了一些ARP的数据包,每个数据包占一行,比如第1个ARP数据包,从它的info信息里面可以看到对于这个数据包的简要的说明:Who has 10.28.23.140? Tell 10.28.23.250。这个info表明ARP协议的主要功能:通过IP地址找对方的MAC地址。针对ARP协议还可以具体分析它的结构,以往的教学中

11、学生只能从课本上看到ARP协议的图,如图6,学生容易产生疑问,难道真的是这样吗?在我们可以通过分析抓取到的数据包来切切实实地看一下它的结构到底是什.么样的,对照图2-6看一下到底是不是一致。随便找一个ARP的数据包,将其展开可以看到图2-7的结构,对比图2-7中框部分与图2-6中框部分,可以发现两者是一致的,通过对比学生就会对ARP的结构有更深刻的认识2。图2-4ARP捕获状态窗口图2-5捕获的ARP数据包图2-6ARP报文结构图2-7ARP结构(2)利用Ethereal分析TCP/IP机制TCP是一种面向连接的、可靠的传输层协议,TCP数据传(只有连接建立后才可进行数据传输)需要通过在客户端

12、和服端建立特定的虚电路连接来完成,该过程通常被称为“三次握手”,如图2-8,即发送方先发送连接请求,然后接受方进行连接确认,最发送方对接受方再次进确认。下面就以Ethereal捕获的建TCP连接过程的三个数据包为例对TCP/IP协议进行分析。图2-8三次握手示意图为了能够捕获到“三次握手”过程中的数据包,首先让Ethereal一直保持捕获状态(图2-9),因为是通过TCP来建立的,可以将Ethereal的过滤器设置为TCP,此时只捕获所有经过计算机的TCP协议数据包。图2-9TCP捕获状态窗口在保持捕获的状态下,打开一个新的网页,如http:/,由于访问网页首先需要通过“三次握手”建立连接,然

13、后才能进行数据的传输,此时,Ethereal就可以捕获到在访问网页过程中建立连接的TCP数据包(图2-10)图2-10 TCP捕获状态窗口在捕获状态窗口中点击停止,将所有捕获到的数抿所显示出图2-11显示的就是所捕到的前4个数据包,从图中可以看到1号数据包一3号数据包是连接建立过程中的数据包,4号数据包是在连接建立完成以后开始传输数据。图2-11捕获到的数据包客户端发送连接请求,从图2-12可以看出,该数据包封装了三个头信息:以太网(Eth-ernet)帧、IP数据报(IP数据报首部格式如图2-12)和TCP报文段(TCP报文段固定首部格式如图2-13)。在物理链路层,数据以帧的方式进行传输。

14、以太网帧头信息中,描述了该数据包的接收方MAC(MAC的结构如图2-14)地址为00:03:0f:00:0c:4b发起连接请求的源主机MAC为00:03:0d:a4:0f:72,在帧中封装的协议类型type值为0x0800,即IP数据报。在网络层,加工的主要数据对象是IP数据报。IP协议是TCPIP协议族中的核心协议之一,所有的TCP、UDP、ICMP数据都以IP数据报格式传输。从以上请求数据包的IP首部可以看出,此IP数据报版本号(version)为4(即这个数据报为IPv4),首部(head length)为20bytes,服务类型(services field)为0x00,数据报总长(t

15、otal length,即IP首部+数据载荷)为48,标识(identification)为0x96b53,标志(flags)为0x04表示报文不分段,段偏移(fragmen offset)为0,生存时间(time to live)为128,数据报中上层协议类型protocol值为0x06 (即TCP报文段),头部校验和0x1206表示正确,请求主机的IP地址为10.10.23.226,目的主机的IP地址为58.248.245.40。在运输层,主要数据对象是TCP报文。在以上的TCP报文段中,描述了请求方源端口号(source port)为1615;目的端口号(destination port

16、)为80,其中0是HTTP协议的保留端口号;序列号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)为0xf

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号