当前位置:文档之家› 数据包捕获与解析

数据包捕获与解析

数据包捕获与解析
数据包捕获与解析

数据包捕获与分析

摘要本课程设计通过Ethereal捕捉实时网络数据包,并根据网络协议分析流程对数据包在TCP/IP各层协议中进行实际解包分析,让网络研究人员对数据包的认识上升到一个感性的层面,为网络协议分析提供技术手段。最后根据Ethereal的工作原理,用Visual C++编写一个简单的数据包捕获与分析软件。

关键词协议分析;Ethereal;数据包;Visual C++

1引言

本课程设计通过技术手段捕获数据包并加以分析,追踪数据包在TCP/IP各层的封装过程,对于网络协议的研究具有重要的意义。Ethereal是当前较为流行的图形用户接口的抓包软件,是一个可以用来监视所有在网络上被传送的包,并分析其内容的程序。它通常被用来检查网络工作情况,或是用来发现网络程序的bugs。通过ethereal对TCP、UDP、SMTP、telnet和FTP等常用协议进行分析,非常有助于网络故障修复、分析以及软件和协议开发。,它以开源、免费、操作界面友好等优点广为世界各地网络研究人员使用为网络协议分析搭建了一个良好的研究平台。

课程设计的内容

(1)掌握数据包捕获和数据包分析的相关知识;

(2)掌握Ethreal软件的安装、启动,并熟悉用它进行局域网数据捕获和分析的功能;

(3)设计一个简单的数据包捕获与分析软件。

课程设计的要求

(1)按要求编写课程设计报告书,能正确阐述设计结果。

(2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。

(3)学会文献检索的基本方法和综合运用文献的能力。

(4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。

课程设计平台

Windows XP;Ethereal;Visual C++

2使用Ethereal对数据包进行捕获与分析

软件Ethereal 简介

Ethereal (Ethereal:A Network Packet Sniffing Tool)是当前较为流行的一种计算机

网络调试和嗅探。Ethereal 基本类似于,但Ethereal 还具有设计完美的和众多分类信息及过滤选项。用户通过Ethereal,同时将插入混合模式,可以查看到网络中发送的所有通信流量。Ethereal 应用于故障修复、分析、软件和协议开发以及教育领域。它具有用户对协议分析器所期望的所有标准特征,并具有其它同类产品所不具备的有关特征。Ethereal 主要具有以下特征:

在实时时间内,从网络连接处捕获数据,或者从被捕获文件处读取数据;Ethereal 可以读取从tcpdump(libpcap)、网络通用嗅探器(被压缩和未被压缩)、SnifferTM 专业版、NetXrayTM、Sun snoop 和atmsnoop、Shomiti/Finisar 测试员、的iptrace、的网络监控器、的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 路由器中读取跟踪报告,还能从的TCPIP 读取输出文本和DBS Etherwatch。从、、、、、上的和回路接口(至少是某些系统,不是所有系统都支持这些类型)上读取实时数据。通过或模式tethereal 程序,可以访问被捕获的网络数据。通过editcap 程序的命令行交换机,有计划地编辑或修改被捕获文件。当前602协议可被分割。输出文件可以被保存或打印为纯文本或PostScript格式。通过显示过滤器精确显示数据。显示过滤器也可以选择性地用于高亮区和颜色包摘要信息。所有或部分被捕获的网络跟踪报告都会保存到磁盘中[1]。

利用Ethereal捕获数据包

安装完Ethereal后,单击Capture下的Option菜单,打开捕获选项对话框,设置好捕捉接口(interface)和过滤器(capture filter),设置混杂模式(promiscuous mode)选项(此选项使得网卡并不检验数据帧的目的地址,用以截获网上的任何帧),其他选项可采用默认设置如图2-1,再单击Start按钮即可实时截获数据包。用Ethereal的捕获窗口如图2-2,捕获到的实时网络数据包的部分截图见图2-3。所截获的数据包分别在包列表(PackList)、包细节(Packet Details)和包字节(PackeBytes)三栏窗口中显示。其中上栏的包列表窗口按截获的时间顺序显示出数据包的基本信息:编号(代表收到数据包的次序)、时间、源地址、目的地址协议名称以及关于此数据包的摘要信息;中间栏的包细节窗口以树形显示当前数据包在各协议层的封装细节,包括首部和数据;下栏的包字节

窗口则以十六进制和ASCII码显示被截获数据包的详细内容左边一栏显示偏移量,中间一栏显示十六进制数值,右边一栏显示解码后相对应的字符(控制字符示为1个点)。

图2-1Ethereal的设置

图2-2捕获状态窗口

图2-3捕获的数据包

利用Ethereal对捕获数据包进行分析

Ethereal是当前较为流行的一种计算机网络调试和数据包嗅探软件,是一个可以用来监视所有在网络上被传送的包,并分析其内容的程序。它通常被用来检查网络工作情况,或是用来发现网络程序的bugs。通过ethereal对TCP、UDP、SMTP、telnet和FTP等常用协议进行分析,非常有助于网络故障修复、分析以及软件和协议开发。

(1)ARP协议分析

ARP,全称Address Resolution Protocol,地址解析协1它工作在数据链路层,在本层和硬件接口联系,同时对上压供服务。TP数据包常通过以太网发送,以太网设备并不识别32IP地址,它们是以48位以太网地址传输以太网数据包。必须把IP目的地址转换成以太网目的地址。因此,在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢它就是通过地址解析协议获得的。图2-4就是对ARP捕获的状态窗口。ARP协议用于将网络中的IP地址解析为的硬件地址(MAC地址),以保证通信的顺利进行。网络当中经常会使用到ARP协议,所以可以使用Ethereal抓取网络中的ARP数据包,如图2-5,从图2-5中看到,已经捕获到了一些ARP的数据包,每个数据包占一行,比如第1个ARP数据包,从它的info信息里面可以看到对于这个数据包的简要的说明:Who has .140 Tell .250。这个info表明ARP协议的主要功能:通过IP地址找对方的MAC地址。针对ARP协议还可以具体分析它的结构,以往的教学中学生只能从课本上看到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数据传(只有连接建立后才可进行数据传输)需要通过在客户端和服端建立特定的虚电路连接来完成,该过程通常被称为“三次握手”,如图2-8,即发送方先发送连接请求,然后接受方进行连接确认,最发送方对接受方再次进确认。下面就以Ethereal捕获的建TCP连接过程的三个数据包为例对TCP/IP 协议进行分析。

图2-8三次握手示意图

为了能够捕获到“三次握手”过程中的数据包,首先让Ethereal一直保持捕获状态(图2-9),因为是通过TCP来建立的,可以将Ethereal的过滤器设置为TCP,此时只捕获所有经过计算机的TCP协议数据包。

图2-9TCP捕获状态窗口

图2-10 TCP捕获状态窗口

在捕获状态窗口中点击停止,将所有捕获到的数抿所显示出图2-11显示的就是所捕到的前4个数据包,从图中可以看到1号数据包一3号数据包是连接建立过程中的数据包,4号数据包是在连接建立完成以后开始传输数据。

图2-11捕获到的数据包

客户端发送连接请求,从图2-12可以看出,该数据包封装了三个头信息:以太网(Eth-ernet)帧、IP数据报(IP数据报首部格式如图2-12)和TCP报文段(TCP报文段固定首部格式如图2-13)。在物理链路层,数据以帧的方式进行传输。以太网帧头信息中,描述了该数据包的接收方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,数据报总长(total length,即IP首部+数据载荷)为48,标识(identification)为0x96b53,标志(flags)为0x04表示报文不分段,段偏移(fragmen offset)为0,生存时间(time to live)为128,数据报中上层协议类型protocol值为0x06 (即TCP报文段),头部校验和0x1206表示正确,请求主机的IP地址为10.10.23.226,目的主机的IP地址为。在运输层,主要数据对象是TCP报文。在以上的TCP报文段中,描述了请求方源端口号(source port)为1615;目的端口号(destination port)为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)为0xf6a表明正确;最后是8bytes的选项字段[3]。

比特0 4 8 16 19 24 31

图2-12 IP数据报首部格式

比特0 8 16 24 31

图2-13 TCP报文段固定首部格式

字节 6 6 2 46-105 4

图2-14以太网V2 MAC帧格式

图2-15发送方发出的连接请求数据包

对此数据包的具体分析过程如图2-12,在此我们仅涉及连接的过程中一些重要地方的变化:数据包由服务端发至客户端.226。在响应TCP报文段中,源端口和目的端口地址相对改变,相应数据包的起始序列号SEQ为ef 84 c8 9b,确认号为24 68 17 a2 (实际上是请求数据的起始序号加1,也表示下一个希望接收的数据的起始位置),标志位0x0010指示ACK标志为1表明确认号有效、SYN仍然为1。

图2-16服务端响应数据包

客户端连接确认在TCP连接建立的最后阶段如图2-17,客户端对接受到的服务器相应进行确认,到此为止建立完整的TCP连接,开始全双工模式的数据传输过程。图2-17客户端确认数据包在确认阶段,数据包由客户端.226发送至服务端,TCP中的序列号为24 68 15 a2(即上次服务器响应报文的确认号),报文段中的本次确认号为73 ff 17 ff(即上次的序列号加1)表示客户端下一次希望从主机接收的数据的起始位置;标志位Ox0010指示ACK标志为1表明确认号有效,SYN置为0表示连接建立结束。通过上述利用Ethereal 对TCP连接过程的三个数据包的分析,可以看出TCP/IP协议的Three-way handshaking 过程如下:第一步,客户端发出连接请求,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。TCP/IP协议是一个协议族,包含大小上

百个协议和标准。通过以上对TCP连接过程的分析,只是提出了使用Ethereal进行协议分析的思路和方法,使用Ethereal也可方便地对其它协议进行分析,例如分析HTTP协议的客户端请求与服务器应答过程及它们的头部格式,分析ICMP协议的错误报告和信息反馈机制等,具体分析方法与上面的分析相似,这里不再赘述[4]。

图2-17客户端确认数据包

3用Visual C++设计一个简单的数据包捕获和分析软件Visual C++简介

Visual C++即VC,微软公司出品的高级可视化计算机程序开发工具。他提供了一套开发环境:Visual Studio,Visual Studio本身包括一个文本编辑器、资源编辑器、工程编译工具、一个增量连接器、源代码浏览器、集成调试工具,以及一套联机文档,借助这套工具,用户可以随心所欲地开发出各种功能的应用软件以及借助OpenGL和DirectX技术开发游戏软件。Visual C++可以识别C/C++并编译,支持MFC类库,并提供了一系列模板,常用的MFC AppWizard(EXE/DLL),MFC ActiveXControlWizard,Win32Application,Win32ConsoleApplication,ATLCOMAppWi zard。这种可视化编程环境可以令程序员花更多精力在程序功能的实现上,而不是底层的建设上,这就大大加快了程序开发速度和效率,这也是Visual C++一个显着的特点。利用Visual C++编译出的程序空间小,运行快,比其他的编译工具编译出的软件占据较多优势。现在常用的版本有Visual C++ .Net/2005[5]。

简介

WinPcap是一个在Windows操作系统下的免费、公开的用于直接访问网络的开发工具包(编程API)。大多数Windows网络应用程序都是通过Winsock API(Windows套接口)这类高级编程接口访问网络的。这种方法允许在网络上进行简单的数据传送,因为操作系统的TCP/IP协议栈实现软件会处理底层细节(协议操作、流程重组等等),并提供一个类似于读写文件的函数接口。然而,有时候“简便方法”并不能满足实际需要。有些程序希望绕过TCP/IP协议栈,直接处理底层网络中的通信数据,它们需要对网络进行底层进行直接访问,即在没有类似协议栈(TCP/IP协议栈)的实体介入条件下对网络进行原始访问。基于Winsock API编程,应用程序是通过调用操作系统提供的编程接口访问TCP/IP协议栈实现网络通信的。基于WinPcap编程,网络程序实际上是绕开操作系统的TCP/IP协议栈直接通过底层网络发送数据,因此网络程序可以实现一些更低级、更灵活的功能[6]。

建立工程

在VC++ 下创建一个单文档的MFC应用程序,工程名:Sniffer如图3-1->图3-2->图3-3。

图3-1建立工程

图3-2选中单文档

图3-3自动生成的类列表

到下载p 4.0.2,然后解压,解压缩就可以看见Includelib;在"Project->Settings"标签栏中选择"C/C++",在"Preprocessor definitions"的输入框里添加"WPCAP";再选择"Link",在"Object/library modules"的输入框里添加" "。然后再设置VC++环境变量:选择Tools->options->Directories的include里面加入下载的winpcap开发包解压以后的include 文件选择Tools->options->Directories的lib里面加入下载的winpcap开发包解压以后的lib文件夹[7]。

进行界面的设计

工程建好了,下面进行界面的设计:

首先,对菜单栏进行修改,去掉原来单文档所自带的“文件”、“编辑”菜单选项,保留“查看”和“帮助”,新建“文件”,下面有“开始抓包(ID_FILE_START)”、“停止抓包(ID_FILE_STOP)”、“退出(ID_APP_EXIT)”三个菜单选项。再建“适配器”菜单,下面有“选择适配器(ID_ADP_CHOOSE)”选项,并对每个新建的选项进行注释说明。如图3-4:

图3-4 菜单栏

然后,打开文件,对工具栏进行修改。自做了一个工具栏图片来代替原来工程的,然后将多余的复制粘贴等工具按钮信息删除掉,回到界面处,再对每个按钮图标进行ID 设置。如图:,从左向右依次是:开始抓包、停止抓包、选择适配器、帮助图标按钮。

最后,新建一个选择适配器的基本对话框,ID标识为IDD_ADP_DIALOG,双击此对话框新建一个类:CAdpterDlg。在此基本对话框上拖入一个Tree Contrl控件和List Contrl控件,对控件属性界面进行调整,打开类向导,将Tree Contrl成员变量设置为:m_treeCtrl,List Contrl成员变量设置为m_listCtrl。如图3-5:

图3-5 选择适配器对话框

程序设计思想

本程序中,主要有四种类型的类,主控类:CMainFrame,视图类:CCapPackView、CProTreeView,对话框类:CAdpterDlg以及报文类。图3-6为整体的类之间的调用流程图。

图3-6总体类调用流程图

CMainFrame,是用于主控的类,它起到分区、处理消息、传递消息的功能。将用户区分为两个视图,点击菜单里的按钮,触发打开适配器对话框或者开始抓包、停止抓包的动作。图3-7为CMainFrame类中方法调用流程图。表3-1 CMainFrame类说明为CMainFrame函数成员的说明。

表3-1 CMainFrame类说明

图3-7 CMainFrame 类中方法调用流程图

CAdpterDlg :对话框类,此对话框分为两部分:树形控件和list 控件。当对话框被触发后,树形控件显示了本机所有的适配器列表,双击选中网卡,list 控件显示其名称、描述、子网掩码、IP 地址等信息。点击确定按钮即绑定了此网卡,注意虚拟网卡是不能被绑定的。表3-2为类CAdpterDlg 的成员函数及成员变量的说明。

CAdpterDlg 类中函数调用流程图如图3-8所示。

表3-2 CAdpterDlg 类说明

续表3-2:

图3-8 CAdpterDlg类中函数调用流程图

CCapPackView,视图类,主要功能是实现接收从类MainFrm传递过来的消息和报文,将数据包的头部及数据包的数据内容分别保存在CArray数组中,然后调用报文类IPGram、ARPGram、RARPGram中的函数,将数据包简要信息显示于界面。表3-3为CCapPackView的成员函数及成员变量的说明。图3-9为其类中方法调用流程图。

表3-3 CCapPackView类说明

图3-9 CCapPackView类中函数调用流程图

CProTreeView,视图类,主要功能是接收来自于CapPackView的消息,调用消息处理函数OnPacketSelect(),在显示数据前清空列表及捕获的数据包。对传递过来的报文头部和内容进行分析,调用报文类IPGram、ARPGram、RARPGram中的函数将具体信息

显示于树形列表中。表3-4为CProTreeView的成员函数及成员变量的说明。

表3-4 CProTreeView类说明

程序设计

对菜单中的按钮项分别建立类向导、增加函数,如“选择适配器”的消息映射关系为ON_COMMAND(ID_ADP_CHOOSE, OnAdpChoose),“开始抓包”的消息映射关系为ON_COMMAND(ID_FILE_START, OnFileStart);“停止抓包”的消息映射关系为ON_COMMAND(ID_FILE_STOP, OnFileStop)以及菜单项是否禁用的菜单项的状态的响应消息映射关系。这些都是在CMainFrame类里面定义或声明的,CMainFrame作为一个主控类,当操作时,其调用其他的对话框类、视图类,然后再调用报文类。

网卡的绑定,为ID_ADP_CHOOSE选择适配器建立类向导,新建函数:OnAdpChoose(),打开适配器对话框,并对网卡链表进行传递。具体代码如下:void CMainFrame::OnAdpChoose()

{ CAdpterDlg adp;26)进行数据包捕获的按钮,导致一直没有捕获到任何的数据

包(如图4-1)。这是当然的,因为没有选择针对那个IP进行捕获,根本没有源IP,当然没有数据包,这使我的设计刚开始就频频出错。后来查阅资料时,发了这一个错误,改正后立即可以捕获数据包。所发生的错误如图4-2。

图4-1数据包捕获窗口

图4-2出现的提示错误信息

5结束语

经过两周的课程设计,刚开始时还认为两周时间还是很长,有足够的时间完成这个设计,想不到一眨眼间,两周的时间就这样匆匆过去了。现在感觉到时间过得真快,从一开始对Ethereal这个抓包软件没有任何基础的,现在已能对这个软件所捕获的数据包进行简单的分析,以及怎么样设置这个软件的参数。

在用Visual C++编程的这一步中,实在花了我的不少时间,这个我认为是在我这个设计中最难的一步,虽然在网上能找到相关程序,但所找到的那些程序都基本上有一两处错误,而对于我这个只有一点Visual C++基础的来说无疑是一个天大的麻烦。但是,经过这两周的努力,还是能改正了这些错误,而且在同学的帮助下,终于把这个程序给做出来了。经过这一次的设计,这对以后的工作需要提供了很大的帮助。

最后,我得感谢一下在这次课程设计中帮助过我的同学,还有在设计过程中给老师带来了诸多麻烦,很感谢您这么细心的为我讲导。我想,如果这次课程我不可能按时完成。这是我的第一次课程设计,其中许多不足,还请老师给与批平、指正。

参考文献

[1]

[2]Craig Zacker.《TCP/IP网络管理》.北京:中国水利水电出版社,

[3]谢希仁.《计算机网络》.北京:电子工业出版社,

[4]黄筱燕.《基于Ethereal的网络协议分析》.热带农业工程第33卷第1期

[5]

[6]

[7]周霭如、林伟健.《C++程序设计基础》.北京:电子工业出版社,

[8]张青.《C#编程思想与实践》.北京:冶金工业出版社,

附录:

附录1网卡的绑定

void CMainFrame::OnAdpChoose()

{ CAdpterDlg adp;//为适配器对话框初始化值=this;

=this->alldevs;

=this->dev;

if()==IDOK){//将适配器信息返回

this->alldevs=;

this->dev=;

}}

附录2报文类

IPGram:IP报文

class IPGram

{

int version; //IP版本

int IHL; //IP报文头长,包含多少个32位

int servicetype; //服务类型

int precedence; //优先级

bool delay; //延迟

bool throughtput; //吞吐量

bool reliability; //可靠性

unsigned int totallen; //IP报文总长

bool DF; //是否分段,为1表示没有分段

bool MF; //是否有进一步分段,为1表示有

int fragoffset; //偏移量

int TTL; //生命期time to live

int protocol; /协议:TCP,UDP,ICMP

unsigned int checksum; //校验和

long srcaddr;//源IP地址

long destaddr; //目的IP地址

int datalen; //数据长度

unsigned char *data; //数据内容

IPGram();//构造函数

IPGram(const unsigned char* buf,int buflen);//重构函数

virtual ~IPGram();//析构函数

CString GetService();//获取IP数据包的协议类型

void GetDestAddr(char *str);//获取目的IP地址

CString GetDestAddr();//获取目的IP地址

void GetSrcAddr(char *str);//获取源IP地址

CString GetSrcAddr();//获取源IP地址

};

ARPGram:ARP报文

RARPGram:RARP报文

class ARPGram &class RARPGram

{

int hdwaddrtype; //硬件地址类型

int prtaddrtype; //协议地址类型

int hdwaddrlen; //硬件地址长度

int prtaddrlen; //协议地址长度

int operation; //操作类型

BYTE srchdwaddr[6]; //源硬件地址

int srcprtaddr; //源协议地址

BYTE desthdwaddr[6]; //目的硬件地址

int destprtaddr; //目的协议地址

ARPGram();//构造函数

ARPGram(const unsigned char *buf,unsigned int buflen);//重构函数

virtual ~ARPGram();//析构函数

CString GetSrcHdwAddr();//ARP/RARP包发送方MAC

CString GetSrcPrtAddr();//ARP/RARP包发送方IP

CString GetDestHdwAddr();//ARP/RARP包接收方MAC

CString GetDestPrtAddr();//ARP/RARP包接收方IP

};

EtherHead:以太帧头部

class EtherHead

{

int srcaddr[6]; // 源硬件地址

int destaddr[6]; //目的硬件地址

int type; //承载的网络层协议类型:IP,ARP,RARP

EtherHead();//构造函数

EtherHead(const unsigned char *buf,int buflen);//重构函数

void GetMacSrcAddr(char *str);//数据包源MAC地址,不返回

CString GetMacSrcAddr();//数据包源MAC地址,返回字符串

void GetMacDestAddr(char *str);// 数据包目的MAC地址,不返回

CString GetMacDestAddr();//数据包目的MAC地址,返回字符串

CString GetType();//获取数据包类型:IP、ARP、RARP

virtual ~EtherHead();//析构函数

};

IP及IPSEC协议数据包的捕获与分析分析

IP及IPSEC协议数据包的捕获与分析 为了掌握掌握IP和IPSEC协议的工作原理及数据传输格式,熟悉网络层的协议。我进行了以下实验:首先用两台PC互ping并查看其IP报文,之后在两台PC上设置IPSEC互ping并查看其报文。最终分析两者的报文了解协议及工作原理。 一、用两台PC组建对等网: 将PC1与PC2连接并分别配置10.176.5.119和10.176.5.120的地址。如图1-1所示。 图1-1 二、两PC互ping: IP数据报结构如图1-2所示。 图1-2 我所抓获的报文如图1-3,图1-4所示:

图1-3 请求包 图1-4 回应包 分析抓获的IP报文: (1)版本:IPV4 (2)首部长度:20字节 (3)服务:当前无不同服务代码,传输忽略CE位,当前网络不拥塞

(4)报文总长度:60字节 (5)标识该字段标记当前分片为第1367分片 (6)三段标志分别指明该报文无保留、可以分段,当前报文为最后一段 (7)片偏移:指当前分片在原数据报(分片前的数据报)中相对于用户数据字段 的偏移量,即在原数据报中的相对位置。 (8)生存时间:表明当前报文还能生存64 (9)上层协议:1代表ICMP (10)首部校验和:用于检验IP报文头部在传播的过程中是否出错 (11)报文发送方IP:10.176.5.120 (12)报文接收方IP:10.176.5.119 (13)之后为所携带的ICMP协议的信息:类型0指本报文为回复应答,数据部分 则指出该报文携带了32字节的数据信息,通过抓获可看到内容为:abcdefghijklmnopqrstuvwabcdefghi 三、IPSec协议配置: 1、新建一个本地安全策略。如图1-5。 图1-5 2、添加IP安全规则。如图1-6.

高速网络环境下数据包捕获技术的分析

龙源期刊网 https://www.doczj.com/doc/b35449982.html, 高速网络环境下数据包捕获技术的分析 作者:王亚 来源:《数字技术与应用》2011年第12期 摘要:互联网的迅猛发展,网络带宽飞速增长,在高速网络环境下,传统的网络数据包捕获已经成为制约整个系统的性能提升的瓶颈,为了满足高速网络的数据包捕获的需求,对传统的网络数据包捕获存在的问题进行分析,在此基础上提出了改进措施,为后期研究高速网络下高性能的数据包捕获技术奠定基础。 关键词:高速网数据包捕获 Libpcap 中图分类号:TP393 文献标识码:A 文章编号:1007-9416(2011)12-0194-02 The Analysis of Packet Capture Technology in High Speed Network wangya (Fuyang Teachers College of computer and Information engineering Fuyang 236041) Abstract:The rapid development of the Internet and the rapid growth of network bandwidth,in high-speed network environment,the traditional network data packet capture has become the constraints of the system performance bottleneck. In order to satisfy the high speed network packet capture demand,to analysis the existing problems of the traditional network packet capture,and put forward on this foundation improvement measures.,It lays the foundation for later research of high-speed network and high performance packet capture technology. Keywords:high speed network;packet capture;Libpcap 1、引言 目前,对网络信息监控与检测的软件都是基于数据包捕获技术,如:入侵检测程序Snort、嗅探器Tcpdump等。数据包捕获技术是一种对网络上的数据包进行监听并截取的技术,可以将数据包原封不动的拷贝到捕包端的系统中。数据包捕获是入侵检测系统、网络协议

网络数据包的捕获与分析毕业设计

网络数据包的捕获与分析 【摘要】网络数据包的捕获对于网络安全有着巨大的作用,为我们更好的分析网络中的数据流提供了帮助。本论文是基于Windows下开发一个网络监听工具,侧重点在于实现网络数据包的捕获,然后分析并显示捕获到的数据包信息这部分功能的实现,如分析:IP首部协议类型、源IP、目的IP和端口号等。采用的是Winpcap(Windows Packet Capture)来实现的抓包功能。通过VC++6.0中MFC编程实现通过一个完整界面来控制调用Winpcap中的函数来实现对网卡信息的捕获和循环捕获数据包,然后通过预先对于IP、TCP、UDP等数据包的定义和TCP/IP等协议来解析其中包含的内容并返回显示捕获到数据包的信息,当然也可以保存捕获到的数据包到指定地点以便进一步分析。 【关键词】Winpcap;数据包;捕获;分析

The Capture and Analysis of Network Data Packets Wang Hang (Grade 11,Class 1, Major Network Engineering, Scho ol of Mathematics and Computer Science Dept, Shaanxi University of Technology, Hanzhong 723003, Shaanxi) Tutor: Jia Wei Abstract: The capture of network data packets plays an important part in network security, which is helpful for our better analysis of network data flow.This paper is about a network monitoring tool based on Windows system, which emphasizes particularly on realizing the capture and analysis of network data packets and then displays them. Take analysis as an example, it will check the type of the IP protocol, the source address of IP, the destination address of IP and the port https://www.doczj.com/doc/b35449982.html,e the Winpcap(Windows Packet Capture)to capture of data packets. In MFC programming of VC++6.0, the capture of network data packets can be realized via the invoking and control of the functions through a full control panel, and then the analysis of IP ,TCP,UDP and TCP/IP will be done before they are displayed. Certainly the information captured can be saved to the appointed destination in order to go through an advanced analysis. Key words:Winpcap;Data Packets;Capture;Analysis

实验四--SnifferPro数据包捕获与协议分析上课讲义

实验四-- S n i f f e r P r o数据包捕获与协议分析

精品文档 实验四 SnifferPro数据包捕获与协议分析 一. 实验目的 1.了解Sniffer的工作原理。 2.掌握SnifferPro工具软件的基本使用方法。 3.掌握在交换以太网环境下侦测、记录、分析数据包的方法。 二、实验原理 数据在网络上是以很小的被称为“帧”或“包”的协议数据单元(PDU)方式传输的。以数据链路层的“帧”为例,“帧”由多个部分组成,不同的部分对应不同的信息以实现相应的功能,例如,以太网帧的前12个字节存放的是源MAC地址和目的MAC地址,这些数据告诉网络该帧的来源和去处,其余部分存放实际用户数据、高层协议的报头如TCP/IP的报头或IPX报头等等。帧的类型与格式根据通信双方的数据链路层所使用的协议来确定,由网络驱动程序按照一定规则生成,然后通过网络接口卡发送到网络中,通过网络传送到它们的目的主机。目的主机按照同样的通信协议执行相应的接收过程。接收端机器的网络接口卡一旦捕获到这些帧,会告诉操作系统有新的帧到达,然后对其进行校验及存储等处理。 在正常情况下,网络接口卡读入一帧并进行检查,如果帧中携带的目的MAC地址和自己的物理地址一致或者是广播地址,网络接口卡通过产生一个硬件中断引起操作系统注意,然后将帧中所包含的数据传送给系统进一步处理,否则就将这个帧丢弃。 如果网络中某个网络接口卡被设置成“混杂”状态,网络中的数据帧无论是广播数据帧还是发向某一指定地址的数据帧,该网络接口卡将接收所有在网络中传输的帧,这就形成了监听。如果某一台主机被设置成这种监听(Snfffing)模式,它就成了一个Sniffer。一般来说,以太网和无线网被监听的可能性比较高,因为它们是一个广播型的网络,当然无线网弥散在空中的无线电信号能更轻易地截获。 三、实验内容及要求 要求:本实验在虚拟机中安装SnifferPro4.7版本,要求虚拟机开启FTP、Web、Telnet等服务,即虚拟机充当服务器,物理机充当工作站。物理机通过Ping命令、FTP访问及网页访问等操作实验网络数据帧的传递。 内容: 1.监测网络中计算机的连接状况 2.监测网络中数据的协议分布 3.监测分析网络中传输的ICMP数据 4.监测分析网络中传输的HTTP数据 5.监测分析网络中传输的FTP数据 四、实验步骤 介绍最基本的网络数据帧的捕获和解码,详细功能。 1.Sniffer Pro 4.7的安装与启动 收集于网络,如有侵权请联系管理员删除

实验1:网络数据包的捕获与协议分析

实验报告 ( 2014 / 2015 学年第二学期) 题目:网络数据包的捕获与协议分析 专业 学生姓名 班级学号 指导教师胡素君 指导单位计算机系统与网络教学中心 日期2015.5.10

实验一:网络数据包的捕获与协议分析 一、实验目的 1、掌握网络协议分析工具Wireshark的使用方法,并用它来分析一些协议; 2、截获数据包并对它们观察和分析,了解协议的运行机制。 二、实验原理和内容 1、tcp/ip协议族中网络层传输层应用层相关重要协议原理 2、网络协议分析工具Wireshark的工作原理和基本使用规则 三、实验环境以及设备 Pc机、双绞线、局域网 四、实验步骤 1.用Wireshark观察ARP协议以及ping命令的工作过程: (1)打开windows命令行,键入“ipconfig -all”命令获得本机的MAC地址和缺省路由器的IP地址;结果如下: (2)用“arp -d”命令清空本机的缓存;结果如下 (3)开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包。(4)执行命令:ping https://www.doczj.com/doc/b35449982.html,,观察执行后的结果并记录。

此时,Wireshark所观察到的现象是:(截图表示) 2.设计一个用Wireshark捕获HTTP实现的完整过程,并对捕获的结果进行分析和统计。(截 图加分析) 3.设计一个用Wireshark捕获ICMP实现的完整过程,并对捕获的结果进行分析和统计。要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析该ICMP 报文。(截图加分析) 4. 设计一个用Wireshark捕获IP数据包的过程,并对捕获的结果进行分析和统计(截图加分析) 要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析在该数据包中的内容:版本首部长度、服务类型、总长度、标识、片偏移、寿命、协议、源Ip地址、目的地址 五、实验总结

数据包捕获与解析

数据包捕获与解析课程设计报告 学生姓名:董耀杰 学号:1030430330 指导教师:江珊珊

数据包捕获与分析 摘要本课程设计通过Ethereal捕捉实时网络数据包,并根据网络协议分析流程对数据包在TCP/IP各层协议中进行实际解包分析,让网络研究人员对数据包的认识上升到一个感性的层面,为网络协议分析提供技术手段。最后根据Ethereal的工作原理,用Visual C++编写一个简单的数据包捕获与分析软件。 关键词协议分析;Ethereal;数据包;Visual C++ 1引言 本课程设计通过技术手段捕获数据包并加以分析,追踪数据包在TCP/IP各层的封装过程,对于网络协议的研究具有重要的意义。Ethereal是当前较为流行的图形用户接口的抓包软件,是一个可以用来监视所有在网络上被传送的包,并分析其内容的程序。它通常被用来检查网络工作情况,或是用来发现网络程序的bugs。通过ethereal对TCP、UDP、SMTP、telnet和FTP等常用协议进行分析,非常有助于网络故障修复、分析以及软件和协议开发。,它以开源、免费、操作界面友好等优点广为世界各地网络研究人员使用为网络协议分析搭建了一个良好的研究平台。 1.1课程设计的内容 (1)掌握数据包捕获和数据包分析的相关知识; (2)掌握Ethreal软件的安装、启动,并熟悉用它进行局域网数据捕获和分析的功能; (3)设计一个简单的数据包捕获与分析软件。 1.2课程设计的要求 (1)按要求编写课程设计报告书,能正确阐述设计结果。 (2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。 (3)学会文献检索的基本方法和综合运用文献的能力。 (4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。

sniffer数据包捕获

实训报告 一、sniffer的功能认知; 1. 实时网络流量监控分析 Sniffer Portable LAN能够对局域网网络流量进行实时监控和统计分析,对每个链路上的网络流量根据用户习惯,可以提供以表格或图形(条形图、饼状图和矩阵图等)方式显示的统计分析结果,内容包括: ·网络总体流量实时监控统计:如当前和平均网络利用率、总的和当前的帧数、字节数、总网络节点数和激活的网络节点数、当前和总的平均帧长等。 ·协议使用和分布统计:如协议类型、协议数量、协议的网络利用率、协议的字节数以及每种协议中各种不同类型的帧的数量等。Sniffer包含通用的TCP和UDP网络应用协议如HTTP, Telnet, SNMP, FTP等。同时,Sniffer 也具有特有的灵活性允许增加自定义的应用。一旦应用协议加入Sniffer,针对应用的所有的监控、报警和报告便自动生效;

·包尺寸分布统计:如某一帧长的帧所占百分比,某一帧长的帧数等。 ·错误信息统计:如错误的CRC校验数、发生的碰撞数、错误帧数等; ·主机流量实时监控统计:如进出每个网络节点的总字节数和数据包数、前x个最忙的网络 节点等;

话节点对等;

·Sniffer还提供历史统计分析功能,可以使用户看到网络中一段时间内的流量运行状况,帮助用户更好的进行流量分析和监控。

2.应用响应时间监控和分析 Sniffer 在监控网络流量和性能的同时,更加关注在网络应用的运行状况和性能管理,应用响应时间(ART)功能是Sniffer中重要的组成部分,不仅提供了对应用响应时间的实时监控,也提供对于应用响应时间的长期监控和分析能力。 首先ART监控功能提供了整体的应用性能响应时间,让用户以多种方式把握当前网络通讯中的各类应用响应时间的对比情况,如客户机/服务器响应时间、服务器响应时间,最 快响应时间、最慢响应时间、平均响应时间和90%的请求的响应时间等。

捕获数据包

希望通过这一系列的文章,能使得关于数据包的知识得以普及,所以这系列的每一篇文章我都会有由浅入深的解释、详细的分析、以及编码步骤,另外附上带有详细注释的源码 文章作者:nirvana 经常看到论坛有人问起关于数据包的截获、分析等问题,幸好本人也对此略有所知,也写过很多的sniffer,所以就想写一系列的文章来详细深入的探讨关于数据包的知识。 我希望通过这一系列的文章,能使得关于数据包的知识得以普及,所以这系列的每一篇文章我都会有由浅入深的解释、详细的分析、以及编码步骤,另外附上带有详细注释的源码(为了照顾大多数朋友,我提供的都是MFC的源码)。 不过由于也是初学者,疏漏之处还望不吝指正。 本文凝聚着笔者心血,如要转载,请指明原作者及出处,谢谢!^_^ OK,. Let’s go ! Have f un!! q^_^p 第一篇手把手教你玩转ARP包 目录: 一.关于ARP协议的基础知识 1.ARP的工作原理 2.ARP包的格式 作者: CSDN VC/MFC 网络编程PiggyXP ^_^ 一.关于ARP协议的基础知识 1.ARP的工作原理 本来我不想在此重复那些遍地都是的关于ARP的基本常识,但是为了保持文章的完整性以及照顾初学者,我就再啰嗦一些文字吧,资深读者可以直接跳过此节。 我们都知道以太网设备比如网卡都有自己全球唯一的MAC地址,它们是以MAC地址来传输以太网数据包的,但是它们却识别不了我们IP包中的IP地址,所以我们在以太网中进行IP通信的时候就需要一个协议来建立IP地址与MAC地址的对应关系,以使IP数据包能发到一个确定的地方去。这就是ARP(Address Resolution Protocol,地址解析协议)。 讲到此处,我们可以在命令行窗口中,输入 arp –a 来看一下效果,类似于这样的条目 210.118.45.100 00-0b-5f-e6-c5-d7 dynamic 就是我们电脑里存储的关于IP地址与MAC地址的对应关系,dynamic表示是临时存储在ARP缓存中的条目,过一段时间就会超时被删除(xp/2003系统是2分钟)。 这样一来,比如我们的电脑要和一台机器比如210.118.45.1通信的时候,它会首先去检查arp缓存,查找是否有对应的arp条目,如果没有,它就会给这个以太网络发ARP请求包广播询问210.118.45.1的对应MAC地址,当然,网络中每台电脑都

Ip数据包捕获设计报告

解析IP数据包程序设计与实现 学生姓名:梁帅指导老师:谢晓巍 摘要现如今,计算机网络已经彻彻底底地改变了人们的生活。大量的数据都是经过计算机网络传输的,而TCP/IP协议是计算机网络中最重要的协议之一。计算机网络中绝大多数数据都是以IP数据包的形式发送和接受的。所以IP数据包的捕获是很多计算机安全技术的基础。本课程设计实现了可以捕获流经本地网卡的IP数据包并将其头部信息解析输出的程序。 关键词TCP/IP;IP数据包;计算机网络;捕获

Design and implementation of IP data packet Student name: LIANG Shuai Advisor:XIE Xiao-wei Abstract Nowadays, computer network has completely changed people's life. A large amount of data is transmitted through computer networks, and the TCP/IP protocol is one of the most important protocols in computer networks. Most of the data in the computer network are sent and received in the form of IP data packets. So IP packet capture is the basis of many computer security technology. This course is designed to capture the IP data packet that flows through the local network card and the program to parse the output of its head. Key words TCP/IP;IP data packet;Computer network;Capture

IP及IPSEC协议数据包的捕获与分析

IP及IPSEC协议数据包的捕获与分析

IP及IPSEC协议数据包的捕获与分析 为了掌握掌握IP和IPSEC协议的工作原理及数据传输格式,熟悉网络层的协议。我进行了以下实验:首先用两台PC互ping并查看其IP报文,之后在两台PC上设置IPSEC互ping并查看其报文。最终分析两者的报文了解协议及工作原理。 一、用两台PC组建对等网: 将PC1与PC2连接并分别配置10.176.5.119和10.176.5.120的地址。如图1-1所示。 图1-1 二、两PC互ping: IP数据报结构如图1-2所示。 图1-2 我所抓获的报文如图1-3,图1-4所示:

图1-3 请求包 图1-4 回应包 分析抓获的IP报文: (1)版本:IPV4 (2)首部长度:20字节 (3)服务:当前无不同服务代码,传输忽略CE位,当前网络不拥塞

(4)报文总长度:60字节 (5)标识该字段标记当前分片为第1367分片 (6)三段标志分别指明该报文无保留、可以分段,当前报文为最后一段 (7)片偏移:指当前分片在原数据报(分片前的数据报)中相对于用户数据字段 的偏移量,即在原数据报中的相对位置。 (8)生存时间:表明当前报文还能生存64 (9)上层协议:1代表ICMP (10)首部校验和:用于检验IP报文头部在传播的过程中是否出错 (11)报文发送方IP:10.176.5.120 (12)报文接收方IP:10.176.5.119 (13)之后为所携带的ICMP协议的信息:类型0指本报文为回复应答,数据部分 则指出该报文携带了32字节的数据信息,通过抓获可看到内容为:abcdefghijklmnopqrstuvwabcdefghi 三、IPSec协议配置: 1、新建一个本地安全策略。如图1-5。 图1-5 2、添加IP安全规则。如图1-6.

网络数据包捕获工具的实现

本文来自中国协议分析网技术论坛,转载请注明 sniffer tcp http ospf rtp dhcp Sniffer EtherealWinpcap 其它技术返回首页当前位置: 网站首页>>协议分析>>Winpcap>> 利用WinPcap技术捕获数据包时间:2006-11-14 来源: 作者: 点击:849次收藏到: 前言随着网络入侵的不断发展,网络安全变得越来越重要,于是网络入侵取证系统的研究也变得日益重要。在网络入侵取证系统中,对网络上传送的数据包进行有效的监听即捕获包是目前取证的关键技术,只有进行高效的数据包捕获,网络管理员才能对所捕获的数据进行一系列 前言 随着网络入侵的不断发展,网络安全变得越来越重要,于是网络入侵取证系统的研究也变得日益重要。在网络入侵取证系统中,对网络上传送的数据包进行有效的监听即捕获包是目前取证的关键技术,只有进行高效的数据包捕获,网络管理员才能对所捕获的数据进行一系列的分析,从而进行可靠的网络安全管理。 1winpcap简介 WinPcap 是由伯克利分组捕获库派生而来的分组捕获库,它是在Windows 操作平台上来实现对底层包的截取过滤。WinPcap 为用户级的数据包提供了Windows 下的一个平台。WinPcap 是BPF 模型和Libpcap 函数库在Windows 平台下网络数据包捕获和网络状态分析的一种体系结构,这个体系结构是由一个核心的包过滤驱动程序,一个底层的动态连接库Packet.dll 和一个高层的独立于系统的函数库Libpcap 组成。底层的包捕获驱动程序实际为一个协议网络驱动程序,通过对NDIS 中函数的调用为Win95、Win98、WinNT、和Win2000 提供一类似于UNIX 系统下Berkeley Packet Filter 的捕获和发送原始数据包的能力。Packet.dll 是对这个BPF 驱动程序进行访问的API 接口,同时它有一套符合Libpcap 接口(UNIX 下的捕获函数库)的函数库。WinPcap的结构图如图1。 WinPcap 包括三个部分:第一个模块NPF(Netgroup Packet Filter),是一个虚拟设备驱动程序文件。它的功能是过滤数据包,并把这些数据包原封不动地传给用户态模块,这个过程中包括了一些操作系统特有的代码。第二个模块packet.dll为win32平台提供了一个公共的接口。不同版本的Windows系统都有自己的内核模块和用户层模块。Packet.dll用于解决这些不同。调用Packet.dll的程序可以运行在不同版本的Windows平台上,而无需重新编译。第三个模块Wpcap.dll是不依赖于操作系统的。它提供了更加高层、抽象的函数。 packet.dll和Wpcap.dll:packet.dll直接映射了内核的调用。Wpcap.dll提供了更加友好、功能更加强大的函数调用。WinPcap的优势提供了一套标准的抓包接口,与libpcap兼容,可使得原来许多UNIX平台下的网络分析工具快速移植过来便于开发各种网络分析工具,充分考虑了各种性能和效率的优化,包括对于NPF内核层次上的过滤器支持,支持内核态的统计模式,提供了发送数据包的能力。 2网络数据包捕获的原理 以太网(Ethernet)具有共享介质的特征,信息是以明文的形式在网络上传输,当网络适配器设置为监听模式(混杂模式,Promiscuous)时,由于采用以太网广播信道争用的方式,使得监听系统与正常通信的网络能够并联连接,并可以捕获任何一个在同一冲突域上传输的数据包。IEEE802.3 标准的以太网采用的是持续CSMA 的方式,正是由于以太网采用

计算机网络实验八 Sniffer Pro数据包捕获与协议分析汇编

惠州学院《计算机网络》实验报告 实验08 Sniffer Pro数据包捕获与协议分析 1. 实验目的 (1)了解Sniffer的工作原理。 (2)掌握SnifferPro工具软件的基本使用方法。 (3)掌握在非交换以太网环境下侦测、记录、分析数据包的方法。 2. 实验原理 数据在网络上是以很小的被称为“帧”或“包”的协议数据单元(PDU)方式传输的。以数据链路层的“帧”为例,“帧”由多个部分组成,不同的部分对应不同的信息以实现相应的功能,例如,以太网帧的前12个字节存放的是源MAC地址和目的MAC地址,这些数据告诉网络该帧的来源和去处,其余部分存放实际用户数据、高层协议的报头如TCP/IP 的报头或IPX报头等等。帧的类型与格式根据通信双方的数据链路层所使用的协议来确定,由网络驱动程序按照一定规则生成,然后通过网络接口卡发送到网络中,通过网络传送到它们的目的主机。目的主机按照同样的通信协议执行相应的接收过程。接收端机器的网络接口卡一旦捕获到这些帧,会告诉操作系统有新的帧到达,然后对其进行校验及存储等处理。 在正常情况下,网络接口卡读入一帧并进行检查,如果帧中携带的目的MAC地址和自己的物理地址一致或者是广播地址,网络接口卡通过产生一个硬件中断引起操作系统注意,然后将帧中所包含的数据传送给系统进一步处理,否则就将这个帧丢弃。 如果网络中某个网络接口卡被设置成“混杂”状态,网络中的数据帧无论是广播数据帧还是发向某一指定地址的数据帧,该网络接口卡将接收所有在网络中传输的帧,这就形成了监听。如果某一台主机被设置成这种监听(Snfffing)模式,它就成了一个Sniffer。 一般来说,以太网和无线网被监听的可能性比较高,因为它们是一个广播型的网络,当然无线网弥散在空中的无线电信号能更轻易地截获。 3. 实验环境与器材 本实验在虚拟机中安装SnifferPro4.7版本,要求虚拟机开启FTP、HTTP等服务,即虚拟机充当服务器,物理机充当工作站。 物理机通过Ping命令、FTP访问及网页访问等操作实验网络数据帧的传递。 4. 实验内容 介绍最基本的网络数据帧的捕获和解码,详细功能请参阅本教材辅助材料。 (1)Sniffer Pro 4.7的安装与启动 1)启动Sniffer Pro 4.7。在获取Sniffer Pro 4.7软件的安装包后,运行安装程序,按要求输入相关信息并输入注册码,若有汉化包请在重启计算机前进行汉化。完成后重启计算机,点击“开始”→“程序”→“Sniffer Pro”→“Sniffer”,启动“Sniffer Pro 4.7”程序。 2)选择用于Sniffer的网络接口。如果计算机有多个网络接口设备,则可通过菜单“File”→“Select Settings”,选择其中的一个来进行监测。若只有一块网卡,则不必进行此步骤。

捕获数据包并分析

河南工业大学实验报告 课程计算机网络实验 _ 实验名称实验三捕获数据包并分析 系别 ____信息科学与工程学院计算机科学系 _______________ 专业班级 ___ 计科级班 ____ _________ 实验报告日期 2012-11-18 姓名 _______ 学号 教师审批签字 一.实验目的 掌握Windows系统中IP地址、子网掩码配置方法,熟悉Windows系统中网络连通测试、网络配置查看等命令,理解网段配置与主机间通信基本原理。 二.实验内容 1、实验目的 通过实验掌握Packet tracer工具的安装及使用, 1)实现捕捉ICMP、IP等协议的数据报; 2)理解TCP/IP协议中IP、ICMP数据包的结构,了解网络中各种协议的运行状况。 3)并通过本次实验建立安全意识,防止明文密码传输造成的泄密。 2、实验环境 使用Packet tracer模拟软件组建一个简单网络,网络至少包含两个路由器和两个主机。配置相关信息使得全网络互通。 3、实验任务 1)了解Packet tracer安装和基本使用方法,监测网络中的传输状态; 2)定义过滤规则,使用Packet tracer软件开始捕获; 3)定义指定的捕获规则,触发并进行特定数据的捕获: ●ping ip-address ●ping ip-address –l 1000 4)记录捕获到的数据包; 5)分析数据包; 6)完成实验报告。 ------3.2 捕获运输层数据包 1、实验目的 通过实验掌握Packet tracer工具的安装及使用, 4)实现捕捉ICMP、IP等协议的数据报; 5)理解TCP/IP协议中IP、ICMP数据包的结构,了解网络中各种协议的运行状况。 6)并通过本次实验建立安全意识,防止明文密码传输造成的泄密。 2、实验环境 使用Packet tracer模拟软件组建一个简单网络,网络至少包含两个路由器和两个主机。

IP 数据报捕获与分析实验报告

实验报告 专业班级成绩评定______ 学号姓名教师签名______ 实验题目IP 数据报捕获与分析实验时间 一、实验目的: 1.掌握IP数据报格式。 2.理解IP协议的工作原理及工作过程。 3.掌握使用wireshark捕获IP等数据报并分析。 二、实验环境:以太网。 三、实验内容: 1.熟悉WinPcap的体系构架和提供的函数。 2.学习IP数据报校验和计算方法。 3.掌握使用wireshark捕获IP等数据报。 4.对捕获的IP数据报进行分析。 四、实验步骤: 1.在PING之前先运行wireshark熟悉页面并进行一些设置

a.单击Capture Filter过滤器:可以设置捕捉一些特殊规则 的数据报。 b.在选中Capture packets in promiscuous mode:可以设置 为混合全处理模式。 c.可以点击Start开始捕捉。过一段时间后,点击Stop停止, 观察捕捉到的数据报,并进行分析。 2.使用wireshark捕获和分析IP数据包。 a.打开wireshar并开始捕获数据包。 b.然后在系统的“开始”—“运行”—输入“CMD”命令,进 入DOS命令窗口,并输入“ping”命令测试网络的情况. c.如“ping 192.168.0.1”。 Ping 命令的使用

d.再回到wireshar点击停止后查看捕获到的数据,双击打开 “ping”后的数据包,分析数据包的内容。 分片的数据包 (以下图片全部通过wireshark捕获数据包,然后用QQ中的截图功能截取) IP协议节点

IP协议节点 上面节点说明如下: 3.进制数据包窗口 16进制数据包窗口将数据包的所有内容以16进制的形式显示出来,如下所示:

ip数据包的捕获与解析代码

// PackCaptureDlg.h:header file #define IPV4_WERSION 4 #define IPV6_WERSION 6 #define ICMP_PACKET 1 #define IGMP_PACKET 2 #define TCP_PACKET 6 #define EGP_PACKET 8 #define UDP_packet 17 #define OSPF_PACKET 89 class CPackCaptureDlg:public CDialog { public: //{{AFX_DATA(CFindHostDlg) enum {IDO=IDO_PACKCAPTURE_DIALOG}; int m_Count; CString m_Packet; //}}AFX_DATA protected: //{{AFX_MSG(CFindHostDlg) afx_msg void OnCapture(); //}}AFX_MSG private: typedef struct IP_HEAD //IP头部结构 { union { unsigned char Version; //版本(字节前四位) unsigned char HeadLen; //头部长度(字节后四位) }; unsigned char ServiceType; //服务类型 unsigned short TotalLen; //总长度 unsigned short Identifier; //标识符 union { unsigned short Flags; //标志位(字前三位) unsigned short FragOffset;

计算机网络实验应用层数据包的捕获和分析报告

淮海工学院计算机工程学院 实验报告书 课程名:《计算机网络》 题目:应用层数据报捕获和分析 班级: Z计121 学号: 93 姓名:薛慧君

1.目的与要求 熟悉网络数据包捕获与分析工具SNIFFER的操作和使用方法,掌握数据包捕获和分析的基本过程;掌握协议过滤器的设定方法,能够捕获并分析常见的网络层和运输层数据包。 2.实验内容 (1)运行SNIFFER软件并设定过滤器,将捕获数据包的范围缩小为常见的协议; (2)开始捕获数据包,同时制造特定协议的数据; (3)对捕获的数据包进行分析,解析出常见的网络层和运输层数据包的格式,重点要求解析出DNS、FTP、Telnet的数据包。 3.实验步骤 ①打开Sniffer?Pro程序后,选择Capture(捕获)—Start(开始),或者使用F10键,或者是工具栏上的开始箭头。?? ②?一小段时间过后,再次进入Capture(捕获)菜单,然后选择Stop(停止)或者按下F10键,还可以使用工具栏。?? ③还可以按F9键来执行“停止并显示”的功能,或者可以进入Capture(捕获)菜单,选择“停止并显示”。?? ④停止捕获后,在对话框最下角增加了一组窗口卷标,包括高级、解码、矩阵、主机表单、协议分布和统计信息。?? ⑤选择解码卷标,可以看到Sniffer?Pro缓冲器中的所有实际“数据”。分析该卷标结构及其内容。? 具体结构:分割为上中下三个相连接的窗口,分别用于显示不同信息内容;? 内容: 1)最上面得窗口显示的是捕获各帧的数量和主要信息(包括帧编号,帧状态,源地址与目的地址,摘要等信息);? 2)中间的窗口显示的是所选取帧的协议信息(DLC,IP,UDP及TCP协议等的协议内容);? 3)最下面得窗口显示的是帧中协议各项内容对应的位置和机器码(默认以ASCII码显示)。?? 4. 测试数据与实验结果 实验1捕获DNS协议数据包 (1)设定过滤器,将捕获数据包的范围缩小为DNS协议;

实验三 网络数据包的捕获与分析

实验三 网络数据包的捕获与分析 一、实验目的和要求 通过本次实验,了解sniffer 的基本作用,并能通过sniffer 对指定的网络行为所产生的数据包进行抓取,并分析所抓取的数据包。 二、实验内容 A :1、首先打开sniffer 软件,对所要监听的网卡进行选择 2、选择网卡按确定后,进入sniffer 工作主界面,对主界面上的操作按钮加以熟悉。 B :设置捕获条件进行抓包 基本的捕获条件有两种: 1、链路层捕获,按源MAC 和目的MAC 地址进行捕获,输入方式为十六进制连续输入,如:00E0FC123456。 2、IP 层捕获,按源IP 和目的IP 进行捕获。输入方式为点间隔方式,如:10.107.1.1。如果选择IP 层捕获条件则ARP 等报文将被过滤掉。 任意捕协议捕缓冲区基本捕获条件数据流链路层捕获获条件编辑 获编辑 编辑 链路层捕获IP 层捕获 方向 地址条件 高级捕获条件

在“Advance ”页面下,你可以编辑你的协议捕获条件,如图: 选择要捕捕获帧长错误帧是保存过滤获的协议 度条件 否捕获 规则条件 高级捕获条件编辑图 在协议选择树中你可以选择你需要捕获的协议条件,如果什么都不选,则表示忽略该条件,捕获所有协议。 在捕获帧长度条件下,你可以捕获,等于、小于、大于某个值的报文。 在错误帧是否捕获栏,你可以选择当网络上有如下错误时是否捕获。 在保存过滤规则条件按钮“Profiles ”,你可以将你当前设置的过滤规则,进行保存,在捕获主面板中,你可以选择你保存的捕获条件。 C :捕获报文的察看: Sniffer 软件提供了强大的分析能力和解码功能。如下图所示,对于捕获的报文提供了一个Expert 专家分析系统进行分析,还有解码选项及图形和表格的统计信息。 专家分析专家分析捕获报文的捕获报文的其他 系统 系统图形分析 统计信息 专家分析 专家分分析系统提供了一个只能的分析平台,对网络上的流量进行了一些分析对于分析出的

基于JPcap的数据包捕获实验报告

实验报告 实验名称基于JPcap的数据包捕获器课程名称计算机网络原理与技术 姓名李辉 成绩 班级软件0806 学号 3901080608 日期2010.4 地点 电子楼四楼实验室 备注: 小组合作实验,组员:李辉、黄钰

1.实验目的 基于java第三方包JPcap编写数据包捕获器,该捕获器具有以下功能: a)监听并捕获以太网帧 b)分析IP数据报 c)分析ARP/RARP d)分析TCP、UDP数据报 e)分析ICMP报文 f)分析HTTP报文 g)简单的网络流量分析功能 2.实验环境(软件、硬件及条件) 1)Jpcap和Wincap简介 Jpcap是一个能够捕获、发送网络数据包的java类库包。这个包用到了Libpcap/Winpcap和原始套接字API,目前,Jpcap在FreeBSD 3.x, Linux RedHat 6.1, Solaris, and Microsoft Windows 2000/XP 系统上已经做过测试,并且支持Ethernet, IPv4, IPv6, ARP/RARP, TCP, UDP, ICMPv4协议。Jpcap是由在美国加利福尼亚大学Irvine 分校(UCI)攻读博士学位的日本人Keita Fujiiy研制发布的,其主页为https://www.doczj.com/doc/b35449982.html,/kfujii/ 。其最初版本是2000.6发布的Jpcap0.1版,此后几经修改,到2003.4发布了发布Jpcap0.4版。 JAVA语言虽然在TCP/UDP传输方面给予了良好的定义,但对于网络层以下的控制,却是无能为力的。JPCAP扩展包弥补了这一点。 JPCAP实际上并非一个真正去实现对数据链路层的控制,而是一个中间件,JPCAP调用wincap/libpcap,给JAVA语言提供一个公共的接口,从而实现了平台无关性,并能够捕获、发送网络数据包。 Winpcap(windows packet capture)是windows平台下一个免费,公共的网络访问系统。开发winpcap这个项目的目的在于为win32应

IP数据包的捕获与分析文献综述

毕业设计(论文)文献综述 还有同名论文、任务书、和其他文件题目: IP数据包的捕获与分析 姓名: 学号: 系别: 专业: 年级: 指导教师:(签名) 年月日

一、研究背景 随着社会的飞速发展,科技的日新月异,互联网已经渗透到世界的各行各业和人民生活的各个方面,全社会对网络的依赖程度只增不减,整个世界通过网络正快速的融为一体,网络时代已经来临。但由于网络具有开放性,互联性,多样性,不均匀性等诸多特征,以至于网络中存在许多风险,例如黑客攻击,恶意软件等。这些风险的存在,严重的危险到网络上信息的完整性、保密性、真实性、可靠性。所以网络安全问题已越发受到人们的关注,而想要解决这些问题涉及的内容既有技术方面的问题,也有管理方面的问题,两方面相互补充,缺一不可。技术方面主要侧重于防范外部非法用户的攻击,管理方面则侧重于内部人为因素的管理。如何更有效地保护重要的信息数据、提高计算机网络系统的安全性已经成为所有计算机网络应用必须考虑和必须解决的一个重要问题。 可以这样来定义网络数据安全:所谓网络数据安全,指的是网络系统的硬件、软件和数据信息能够受到保护,不会因为偶然或恶意的原因而遭到破坏、更改、泄露,同时系统能够连续、可靠地运行,网络服务不被中断。但在现实中,绝对安全的网络是没有的。 目前,我正处在高速的现代化建设阶段,政府部门、军队、企业、学校等都需要建立自己的网络和信息系统并实施保护,尤其是有关的重要部门更需要需要网络的安全保障。所以建立网络安全系统对我们具有重大的意义,而有效的实时监控和捕获可疑的网络信息就是建立网络安全系统的基础。 二、研究意义 随着个人计算机和互联网的普及,使我们从一个封闭的环境进入到一个开放的世界,越来越多的人开始使用网络这个媒介来发送,接收信息,计算机网络给人们生产和生活带来了巨大的便利。但是由于网络是一个面向大众的开放系统,它的这种特性决定了其对数据信息的保密和系统的安全性考虑并并不完备,存在着诸多的安全隐患。因此让有些个人或团体有机可乘,利用这些隐患和漏洞,通过网络来发送一些包含色情,反动等不良内容的信息,或通过网络入侵他人主机盗取信息和机密,达到破坏正常社会秩序的目的,以至于计算机网络的安全形势日趋严峻。因此,现在在计算机网络安全隐患中扮演重要角色之一的网络数据抓包软件受到越来越大的关注。 构建安全网络环境,除了通过主动的人为思想的预防以外,一套被动的网络安全检测机制也是必不可少的,通过运用标准的机制对网络中传输的各类型进行实时监控,对具有威胁性的信息进行甄别警报,这套机制的前提就是首先对网络中传输的信息进行捕获,对获取的信息解析筛查。而想要捕获这些信息,就要知道网络中的信息是以数据包的形式进行传输,想要获取信息,就必须对网络中的数据包进行捕获和分析,才能获得所需要的相应信息。所以对网络上传送的数据包进行有效的捕获与解析是目前网络监控的关键技术,

相关主题
文本预览
相关文档 最新文档