数据包捕获与解析

合集下载

bushound实现原理

bushound实现原理

bushound实现原理Bushound是一种基于硬件的网络分析工具,用于对数据包进行捕获、解析和分析。

它主要用于监测和分析网络通信,帮助开发人员和网络管理员诊断和解决网络问题。

Bushound的实现原理主要包括以下几个方面:1. 硬件抓包:Bushound通过特定的硬件设备连接到待分析的网络。

这个硬件设备通常是一个网络适配器,它能够在物理层上抓取经过网卡的数据包,并将其传递给Bushound软件进行处理。

硬件抓包可以保证低延迟和高吞吐量的数据捕获,适用于高速网络环境。

2. 数据包捕获:Bushound在硬件抓包设备上启动一个数据包捕获进程,通过读取网卡缓冲区中的原始数据包数据来捕获网络通信。

捕获的数据包通常包括源MAC地址、目的MAC地址、源IP地址、目的IP地址、源端口号、目的端口号等信息。

3. 数据包解析:捕获到的原始数据包需要进行解析,以便能够更好地理解和分析网络通信。

Bushound使用预定义的协议解析引擎,根据标准协议规范对数据包进行解析,提取出各个协议的相关字段,如以太网帧头、IP报文头、TCP/UDP报文头等。

通过解析和提取,可以得到更加详细和结构化的网络通信信息。

4. 数据包分析:解析后的数据包可以用于进一步的分析。

Bushound提供了丰富的分析工具和功能,如会话分析、流量统计、过滤器、报表生成等。

会话分析可以将一系列相关联的数据包组合成会话,展示网络通信的整体流程和动态。

流量统计可以统计不同协议、不同主机或不同端口的网络流量情况。

过滤器可以根据各种条件过滤出特定的数据包进行分析。

报表生成可以生成各种形式的报表和图表,方便生成可视化的网络分析结果。

总结起来,Bushound通过硬件抓包设备捕获网络通信数据包,然后使用解析引擎解析数据包,提取出各个协议的字段信息。

通过对解析后的数据包进行分析和处理,可以帮助用户更好地理解和分析网络通信,识别网络问题和优化网络性能。

它是一种强大的工具,适用于各种规模和类型的网络环境。

wireshark 工作原理

wireshark 工作原理

wireshark 工作原理
Wireshark是一种网络协议分析工具,通过对网络数据包进行
捕获和分析,帮助用户监测和解决网络问题。

它的工作原理如下:
1. 网络数据包捕获:Wireshark通过在网络接口上设置网络适
配器的混杂模式,可以捕获经过网络接口的所有数据包,无论它们是否是目标地址的。

Wireshark可以在多个操作系统上运行,并支持多种网络接口。

2. 数据包解析:捕获到的网络数据包被Wireshark分析器读取,并以人可读的形式进行显示。

Wireshark支持多种协议的解析,包括TCP、UDP、HTTP、SMTP等等。

它可以分析每个数据
包的各个字段,如源地址、目标地址、端口号、标志位等,同时还可以将数据包按照不同的协议展示。

3. 过滤和筛选:Wireshark提供了强大的过滤和筛选功能,使
用户可以根据特定的条件快速找到感兴趣的数据包。

用户可以使用Wireshark提供的过滤语法,过滤出特定的源或者目标IP
地址、协议类型、端口号等信息,以方便后续的网络分析。

4. 统计和分析:Wireshark还提供了各种统计功能,如流量统计、协议分布统计、会话追踪等。

这些统计数据可以帮助用户分析网络的性能问题、安全问题等,并辅助网络管理人员在解决网络问题时做出正确的决策。

总结来说,Wireshark的工作原理是通过网络数据包的捕获、
解析、过滤和统计分析等一系列操作,帮助用户监测和分析网络流量,以便于发现和解决网络问题。

sniffer工作原理

sniffer工作原理

sniffer工作原理
Sniffer是一种网络数据包捕捉工具,用于监控和分析网络通信的内容。

其工作原理如下:
1. 网络数据包捕获:Sniffer通过在网络接口上设置混杂模式(promiscuous mode),接收并记录通过网络传输的数据包。

在这种模式下,网卡将接收到的所有数据包都传递给操作系统,而不仅仅是针对该网卡的目的地地址或广播地址的数据包。

2. 数据包过滤与捕获:Sniffer会根据用户预定义的规则对接收到的数据包进行过滤处理,只保留满足规则要求的数据包。

这些规则可以是源/目的IP地址、端口号、协议类型等。

3. 数据包解析:Sniffer对捕获到的数据包进行解析,将网络数据包的各个部分进行拆解,并生成能够被阅读和分析的格式。

解析后的数据包可以展示源IP地址、目的IP地址、源端口号、目的端口号、协议类型、数据内容等相关信息。

4. 数据包分析:Sniffer对解析后的数据包进行进一步的分析,包括但不限于检测网络流量、监测网络通信行为、捕获网络攻击等。

通过分析这些信息,可以帮助网络管理员识别安全隐患、优化网络性能、调查网络故障等。

需要注意的是,由于Sniffer在网络上实时监控和捕获数据包,因此在使用过程中需要遵守法律法规,确保合法使用,并保护用户隐私与数据安全。

pat技术工作原理

pat技术工作原理

pat技术工作原理Pat技术(Packet Analysis Technology,数据包分析技术)是一种网络安全和网络性能监测领域常用的技术手段。

它通过对数据包的捕获、解析和分析,帮助网络管理人员识别和解决网络中的问题,并提供网络性能优化的依据。

本文将详细介绍Pat技术的工作原理。

一、数据包捕获Pat技术首先需要从网络中捕获数据包。

在数据包的传输过程中,网络设备(如路由器、交换机)通常会通过端口镜像或SPAN (Switched Port Analyzer)端口的方式将数据包复制到分析设备上。

通过这种方式,Pat技术可以获取到网络中的数据包,以便进行后续的分析。

二、数据包解析在捕获到数据包之后,Pat技术需要对数据包进行解析。

数据包解析是指将数据包中的各个字段进行解析和提取,以获取有关数据包的详细信息。

这些信息可以包括源IP地址、目的IP地址、源端口、目的端口、协议类型等。

数据包解析主要通过解析数据包的各个协议头部来实现。

不同的协议有不同的头部格式,Pat技术需要了解各种协议的头部格式,并按照规定的格式对数据包进行解析。

例如,对于以太网帧,Pat技术需要解析以太网头部;对于IP数据报,Pat技术需要解析IP头部;对于TCP或UDP数据包,Pat技术还需要解析TCP或UDP头部。

数据包解析的结果可以提供给网络管理人员进行问题排查和网络性能分析。

通过分析数据包的源和目的地址、端口以及协议类型等信息,可以判断网络中是否存在异常流量、网络攻击行为或性能瓶颈等问题。

三、数据包过滤在捕获到数据包并解析之后,Pat技术可以根据预先设置的过滤规则对数据包进行过滤。

通过过滤,可以将符合特定条件的数据包筛选出来,以便更加关注和分析感兴趣的数据。

数据包过滤的条件可以包括源IP地址、目的IP地址、源端口、目的端口、协议类型等。

通过设置合适的过滤规则,Pat技术可以帮助网络管理人员提取出特定的数据包以进行更详细的分析和研究。

计算机网络练习之使用WireShark捕获和分析数据包

计算机网络练习之使用WireShark捕获和分析数据包

以太帧和ARP包协议分析实验一、目的1、理解以太帧格式2、理解ARP协议格式和ARP 协议的工作原理二、实验类型验证类实验三、实验步骤一:运行wireshark开始捕获数据包,如图所示点击第二行的start开始捕获数据包。

启动界面:抓包界面的启动是按file下的按钮(或capture下的interfaces)之后会出现这个是网卡的显示,因为我有虚拟机所以会显示虚拟网卡,我们现在抓的是真实网卡上的包所以在以太网卡右边点击start 开始抓包。

(捕捉本地连接对应的网卡,可用ipconfig/all 查看)二:几分钟后就捕获到许多的数据包了,主界面如图所示:如上图所示,可看到很多捕获的数据。

第一列是捕获数据的编号;第二列是捕获数据的相对时间,从开始捕获算为0.000秒;第三列是源地址,第四列是目的地址;第五列是数据包的信息。

选中第一个数据帧,然后从整体上看看Wireshark的窗口,主要被分成三部分。

上面部分是所有数据帧的列表;中间部分是数据帧的描述信息;下面部分是帧里面的数据。

三:开始分析数据1.打开“命令提示符”窗口,使用“arp -a”命令查看本地计算机ARP高速缓存。

2.使用“arp -d”命令清除本地计算机ARP高速缓存,再使用“arp -a”命令查看。

此时,本地计算机ARP高速缓存为空。

3.在下图中Filter后面的编辑框中输入:arp(注意是小写),然后回车或者点击“Apply”按钮将计算机与数据设备相连(3928或路由器),参见静态路由配置。

3.此时,网络协议分析软件开始捕获数据,在“命令提示符”窗口中PING同一子网中的任意主机。

(计算机Aping计算机B)因为PING命令的参数为IP地址,因此使用PING命令前,需要使用ARP机制将IP地址转换为MAC地址,这个过程用户是无法感知的。

因为我们在使用PING命令前已经开始网络数据包捕获,因此,此时网络协议分析软件将捕获到ARP解析数据包。

计算机网络技术与实验——数据包的捕获与分析

计算机网络技术与实验——数据包的捕获与分析

计算机⽹络技术与实验——数据包的捕获与分析计算机⽹络技术与实验——数据包的捕获与分析1. 实验介绍本次实验的⽬的在于学习WinPcap的使⽤⽅法,利⽤它捕获以太⽹中的数据包并进⾏简单的解析,最终使⽤MFC画界⾯,展⽰捕获后解析出来的信息。

2. 使⽤WinPcap + MFC进⾏数据包的捕获与分析2.1 WinPcap简单介绍WinPcap是⼀个开源的数据包捕获体系结构,它的主要功能是进⾏数据包捕获和⽹络分析。

它包括了内核级别的包过滤、低层次的动态链接库(packet.dll)、⾼级别系统⽆关的函数库(wpcap.dll)等。

在编写程序之前我们先按以下步骤配置好WinPcap的开发环境。

下载WinPcap并安装打开VS2015,新建->项⽬->MFC应⽤程序(基于对话框,经典菜单)在项⽬上,右键->属性⼯具->属性->项⽬和解决⽅案-> VC++⽬录->包含⽂件->添加WinPcap开发包中的Include⽬录⼯具->属性->项⽬和解决⽅案-> VC++⽬录->库⽂件->添加WinPcap开发包中的lib⽬录项⽬->项⽬属性->配置属性->预处理定义->添加WPCAP和HAVE_REMOTE项⽬->项⽬属性->配置属性->连接器->命令⾏->附加选项框中加⼊wpcap.lib在程序中要加⼊pcap.h头⽂件#include pcap.h2.2 WinPcap程序设计思路使⽤WinPcap捕获数据包⼀般有三个步骤:获取设备列表打开⽹络适配器在打开的⽹络适配器上捕获⽹络数据包2.2.1 获取设备列表在开发以WinPcap为基础的应⽤程序时,第⼀步要求的就是获取⽹络接⼝设备(⽹卡)列表。

这可以调⽤WinPcap提供的pcap_findalldevs_ex()函数,该函数原型如下:int pcap_findalldevs_ex(char * source; //指定从哪⼉获取⽹络接⼝列表struct pcap_rmauth auth; //⽤于验证,由于是本机,置为NULLpcap_if_t ** alldevs; //当该函数成功返回时,alldevs指向获取的列表数组的第⼀个//列表中每⼀个元素都是⼀个pcap_if_t结构char * errbuf //错误信息缓冲区);在上⾯注释中提到的pcap_if_t结构定义如下:struct pcap_if{struct pcap_if *next; //指向链表中下⼀个元素char *name; //代表WinPcap为该⽹络接⼝卡分配的名字char *description; //代表WinPcap对该⽹络接⼝卡的描述struct pcap_addr* addresses; //addresses指向的链表中包含了这块⽹卡的所有IP地址u_int flags; //标识这块⽹卡是不是回送⽹卡}2.2.2 打开⽹卡在获取设备列表之后,可以选择感兴趣的⽹卡打开并对其上的⽹络流量进⾏监听。

DEA法的基本原理

DEA法的基本原理

DEA法的基本原理DEA(数据包分析)法是指对网络数据包进行实时监控和分析,以获取相关信息的一种手段。

它是通过对网络数据包的内容和元数据进行深度分析,来识别和追踪犯罪活动和恶意行为的。

DEA法的基本原理包括以下几个方面:1.数据包捕获:DEA法需要通过网络设备或软件工具对网络数据包进行捕获。

网络数据包是在计算机网络上传输的信息单元,可以包含有关网络通信的内容和元数据。

2.数据包过滤:由于网络数据包的数量非常庞大,DEA法需要对其进行过滤。

过滤可以根据IP地址、端口号、传输协议等条件进行,以便捕获和分析感兴趣的数据包。

3.数据包解析:一旦捕获到感兴趣的数据包,DEA法需要对其进行解析。

解析包括从数据包中提取有用的信息,如源IP地址、目的IP地址、传输协议、源端口号、目的端口号等。

4.数据包重组:DEA法还可以将多个数据包进行重组,以还原完整的网络会话。

通过重组数据包,可以识别网络会话中的通信内容,并了解双方之间交流的情况。

5.数据包分析:DEA法的核心目标是对网络数据包进行深度分析,以发现和追踪犯罪活动和恶意行为。

分析可以从不同的角度进行,如识别特定的网络攻击行为、检测病毒传播、发现网络欺诈等。

6.数据包存储:DEA法通常需要将分析的数据包进行存储,以便进一步的调查和研究。

存储可以采用本地存储或云存储的方式,并且需要采取相应的安全措施,以保护数据的安全和隐私。

DEA法的应用领域非常广泛,包括网络安全、法律执法、情报分析等。

在网络安全领域,DEA法可以帮助发现和阻止网络攻击行为,提高网络的安全性。

在法律执法领域,DEA法可以用于追踪和定位电信犯罪活动,为刑事侦查提供关键证据。

在情报分析领域,DEA法可以用于监测和分析恐怖主义组织的网络活动,以及其他潜在的威胁行为。

尽管DEA法有很多优势和广泛的应用,但也存在一些潜在的挑战和问题。

首先,DEA法涉及大量的数据处理和存储,需要强大的计算和存储能力。

其次,DEA法可能涉及个人隐私和数据保护的问题,需要制定相应的法律和政策来保护公民的权益。

任务三计算机网络试验IP数据报捕获与分析

任务三计算机网络试验IP数据报捕获与分析

任务三网络编程一、实验目的捕获本机网卡的IP包,对捕获的IP包进行解析。

要求必须输出以下字段:版本号、总长度、标志位、片偏移、协议、源地址和目的地址。

二、实验环境平台:Windows编程环境:VC 6.0语言:C++三、实验原理3.1 数据报格式以太帧由一个包含三个字段的帧头开始,前两个字段包含了物理地址,各六个字节,头部的第三个字段包含了 16 位的以太帧类型,帧头后面是数据区。

根据帧类型可以判断是哪种数据包,一般常用的有 0X0080(IP 数据包)、0X0806(ARP 请求/应答)和 0X8035(RARP 请求/应答)三种类型。

TCP/IP 协议簇中位于网络层的协议,也是最为核心的协议。

所有的 TCP, UDP, ICMP及 IGMP 数据都以 IP 数据报格式传输。

IP 协议提供了无连接的、不可靠的数据传输服务。

同时IP 协议的一个重要功能是为网络上的包传递提供路由支持。

TCP/IP 协议使用 IP 数据报这个名字来指代一个互联网数据包。

IP 数据报由两部分组成,前面的头部和后面的数据区,头部含有描述该数据报的信息,包括源 IP 地址和目的 IP 地址等。

在 IP 数据报的报头中的众多信息可根据协议类型字段区分出该数据包的类型,常用的有TCP 包、 UDP 包、 ICMP 包等,各格式分别如下所示:IP数据报格式TCP数据报格式ICMP数据报格式数据报格式UDP.3.2 捕获数据包方法目前常用的捕获数据包的方法有原始套接字、LibPcap、WinPcap和JPcap等方法。

本次实验选用套接字方法。

套接字是网络应用编程接口。

应用程序可以使用它进行网络通信而不需要知道底层发生的细节。

有时需要自己生成一些定制的数据包或者功能并希望绕开Socket提供的功能,原始套接字(RawSocket)满足了这样的要求。

原始套接字能够生成自己的数据报文,包括报头和数据报本身的内容。

通过原始套接字,可以更加自如地控制Windows下的多种协议,而且能够对网络底层的传输机制进行控制。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据包捕获与解析课程设计报告学生姓名:董耀杰学号: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)在老师的指导下,要求每个学生独立完成课程设计的全部内容。

1.3课程设计平台Windows XP;Visual C++2用Visual C++设计一个简单的数据包捕获和分析软件2.1Visual 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++ 6.0/.Net/2005[5]。

2.2WinPcap简介WinPcap是一个在Windows操作系统下的免费、公开的用于直接访问网络的开发工具包(编程API)。

大多数Windows网络应用程序都是通过Winsock API(Windows套接口)这类高级编程接口访问网络的。

这种方法允许在网络上进行简单的数据传送,因为操作系统的TCP/IP协议栈实现软件会处理底层细节(协议操作、流程重组等等),并提供一个类似于读写文件的函数接口。

然而,有时候“简便方法”并不能满足实际需要。

有些程序希望绕过TCP/IP协议栈,直接处理底层网络中的通信数据,它们需要对网络进行底层进行直接访问,即在没有类似协议栈(TCP/IP协议栈)的实体介入条件下对网络进行原始访问。

基于Winsock API编程,应用程序是通过调用操作系统提供的编程接口访问TCP/IP协议栈实现网络通信的。

基于WinPcap编程,网络程序实际上是绕开操作系统的TCP/IP协议栈直接通过底层网络发送数据,因此网络程序可以实现一些更低级、更灵活的功能[6]。

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

图2-1建立工程图2-2选中单文档图2-3自动生成的类列表到/devel.htm下载WinPcap 4.0.2.zip,然后解压,解压缩就可以看见Includelib;在"Project->Settings"标签栏中选择"C/C++",在"Preprocessordefinitions"的输入框里添加"WPCAP";再选择"Link",在"Object/library modules"的输入框里添加"wpcap.lib "。

然后再设置VC++环境变量:选择Tools->options->Directories的include里面加入下载的winpcap开发包解压以后的include文件选择Tools->options->Directories的lib里面加入下载的winpcap开发包解压以后的lib文件夹[7]。

2.4进行界面的设计工程建好了,下面进行界面的设计:首先,对菜单栏进行修改,去掉原来单文档所自带的“文件”、“编辑”菜单选项,保留“查看”和“帮助”,新建“文件”,下面有“开始抓包(ID_FILE_START)”、“停止抓包(ID_FILE_STOP)”、“退出(ID_APP_EXIT)”三个菜单选项。

再建“适配器”菜单,下面有“选择适配器(ID_ADP_CHOOSE)”选项,并对每个新建的选项进行注释说明。

如图3-4:图2-4 菜单栏然后,打开Sniffer.rc文件,对工具栏进行修改。

自做了一个工具栏图片Toolbar1.bmp 来代替原来工程的Toolbar.bmp,然后将多余的复制粘贴等工具按钮信息删除掉,回到界面处,再对每个按钮图标进行ID设置。

如图:,从左向右依次是:开始抓包、停止抓包、选择适配器、帮助图标按钮。

最后,新建一个选择适配器的基本对话框,ID标识为IDD_ADP_DIALOG,双击此对话框新建一个类:CAdpterDlg。

在此基本对话框上拖入一个Tree Contrl控件和List Contrl控件,对控件属性界面进行调整,打开类向导,将Tree Contrl成员变量设置为:m_treeCtrl,List Contrl成员变量设置为m_listCtrl。

如图3-5:图2-5 选择适配器对话框2.5程序设计思想本程序中,主要有四种类型的类,主控类:CMainFrame,视图类:CCapPackView、CProTreeView,对话框类:CAdpterDlg以及报文类。

图3-6为整体的类之间的调用流程图。

图2-6总体类调用流程图CMainFrame,是用于主控的类,它起到分区、处理消息、传递消息的功能。

将用户区分为两个视图,点击菜单里的按钮,触发打开适配器对话框或者开始抓包、停止抓包的动作。

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

表3-1 CMainFrame类说明为CMainFrame函数成员的说明。

表2-1 CMainFrame类说明图2-7 CMainFrame类中方法调用流程图CAdpterDlg:对话框类,此对话框分为两部分:树形控件和list控件。

当对话框被触发后,树形控件显示了本机所有的适配器列表,双击选中网卡,list控件显示其名称、描述、子网掩码、IP地址等信息。

点击确定按钮即绑定了此网卡,注意虚拟网卡是不能被绑定的。

表3-2为类CAdpterDlg的成员函数及成员变量的说明。

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

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

表3-3为CCapPackView的成员函数及成员变量的说明。

图3-9为其类中方法调用流程图。

表2-3 CCapPackView类说明图2-9 CCapPackView类中函数调用流程图CProTreeView,视图类,主要功能是接收来自于CapPackView的消息,调用消息处理函数OnPacketSelect(),在显示数据前清空列表及捕获的数据包。

对传递过来的报文头部和内容进行分析,调用报文类IPGram、ARPGram、RARPGram中的函数将具体信息显示于树形列表中。

表3-4为CProTreeView的成员函数及成员变量的说明。

表2-4 CProTreeView类说明2.5程序设计对菜单中的按钮项分别建立类向导、增加函数,如“选择适配器”的消息映射关系为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;//为适配器对话框初始化值adp.mainFrm=this;adp.alldevs=this->alldevs;adp.dev=this->dev;if(adp.DoModal()==IDOK){//将适配器信息返回this->alldevs=adp.alldevs;this->dev=adp.dev;}}适配器对话框的数据初始化:在类向导中为类CAdpterDlg添加WM_INITDIALOG 消息,并添加默认函数:OnInitDialog,点击“Edit Code”对函数进行编辑。

相关文档
最新文档