欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于Winpcap的网络嗅探器设计与实现样本Word下载.docx

    • 资源ID:5641276       资源大小:455.17KB        全文页数:23页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于Winpcap的网络嗅探器设计与实现样本Word下载.docx

    1、Keywords:Winpcap,MFC,network sniffer,packet第1章 绪 论1.1 设计背景当前,网络技术发展突飞猛进,网络已经渗入到生产、生活学习各个方面, 并且,人们开始越来越依赖网络技术,计算机网络具备如下特性:形式多样性, 网络开放性,终端不均匀性,网络互联性等。于是,网络特别容易受到黑客等不 法分子袭击。总体上说,网络安全所要研究领域涉及网络中数据信息完整性,保密性,真实性等各种方面内容。可见网络安全所涉及不但仅是技术方面内容,尚有网络管理有关问题。两者之间是密切有关,技术方面也许强调如何有效地防御黑客以避免非法外部袭击,而在管理方面则需要更加注重内部人员管理

    2、因素。因此,如何较好地保护计算机中重要数据信息不受 不法分子侵害,保护顾客计算机系统是当前网络安全方向研究重要问题 。普通,对网络中流通数据特别感兴趣普通有两类人,一类就是网络管理员,此外一类就是网络黑客,她们不断地对网络中数据进行检测,以保证明时地跟踪网络数据。她们存在一种共同点,就是都要用到一种好数据包监控软件。如黑客常惯用数据包监控软件检测互联网,监测网络信息内容,并对某些敏感信息作出分析,如财经交易等活动中浮现密码,顾客名等内容。网络管理员则用该数据包软件检测网络流量,查找网络中漏洞,发现故障并做出解决等。因此,学习网络中数据检测和数据分析过程,不但有助于网络管理员排除网 络中漏洞和故

    3、障,重要是能有效地结识网络袭击原理,常采用技术,这样 就可以有针对性破坏网络黑客侵入和对资料窃取。可见,网络探测器可以 检测网路流量,实现网络数据检测和捕获,已经逐渐成为网络分析过程中 重要工具,对于维护网络安全和网络信息管理有着重要意义。1.2 国内外研究状况 基于网络合同分析和网络数据捕获技术,从广义上来讲,普通被叫作合同分析仪(ProtocofAnalyzer)。这样定义因素在于咱们经常将某些纯软件,并且更侧重于捕获网络数据和进行合同分析系统叫做嗅探器(Sniffer)。而在实际用中,基于硬件或者软硬件结合网络数据捕获和分析系统咱们称之为合同分 析仪。固然,咱们并不是在所有场合都对两者之

    4、间概念进行区别,由于她们 在功能上都能完毕类似工作。举例子来说,某些网络管理软件及某些网络合同 分析仪都使用了嗅探器技术。当前,已经存在了许多纯软件网络嗅探器,如:Linuxsniffer、Dsniff、Tcpdump 等,其中,不乏某些专门用于捕获顾客名字和顾客密码软件,如 insniffer、winsniffer。于是, 咱们懂得,网络嗅探技术就是一把双刃剑,在被网络管理员纯熟使用同步也会被不法外部黑客运用,既可以作为一种诊断网络故障,排除网络存在问题工具,也为不法分子提供了窃取信息工具。大多数纯软件合同分析仪都是采用 pc 机上网卡来辅助实现,即该过 程可以描述为:pc 网卡+合同分析仪

    5、。该软件实现重要功能就是数据捕获, 信息编码,信息分析解决。使用该软件可以实现网络流量捕获,并作出相应 模仿。并且,网络合同分析仪还可以产生大量网络数据包,以此来测试网络 负载能力。当前,已经存在了几款较典型合同分析仪,如:HP 公司Intemet Advisor(网络专家系统)、WG 公司Domino 系列合同分析仪,相类似还涉及 Sniffer Portable 合同分析工具等。但是无论是从针对合同解码能力,还是从数 据分析实时性角度来讲,该合同数据分析解决能力、数据包产生能力等方面 都与采用硬件实现合同分析仪存在着较大差距。一种典型硬件合同分析仪 式通过专用数据采集硬件实现网络数据获取,

    6、采用专门采集箱完毕某些全 线速捕获和实时性更好网络数据操作中。尚有某些软件粘在应用层角度对网络性能进行测试,该类软件普通使用 某些基准流量对网络数据进行分析,是比网络合同分析仪更高层次测试工 具。代表软件是Chariot,该软件是由Ganymede software 公司开发,尚有某些 别软件在当前也是挺流行,例如用于网络规划验证模仿环境,过外已有 某些部门对她们自己网络合同和它们组合构建较大网络系统来模仿,虽然 执行效果较好,但是价格却很昂贵 。从老式观念上讲,网络维护人员经常需要一种功能强大集各种网络技术 于一体测试软件。因此,相对典型合同分析仪常加入网络管理,自动网络信 息搜索,智能专家

    7、等功能,并且普通要具备一定移动性能。当前网络分析和测 试发展趋势是具备综合性能合同分析仪或者网络分析仪,它们在现场分析, 故障诊断,网络数据维护等方面经常发挥着至关重要作用,像Fluke Opt View INA 手持综合功能合同分析仪就是一种典型例子。1.3 研究意义 计算机网络技术飞速发展,极大变化了人们老式生活和工作模式,越来越多社会经济活动开始依赖网络来完毕,可以说计算机网络发展已经成为当代社会进步一种重要标志。但与此同步,计算机犯罪、黑客袭击、病毒入侵等恶性事件也屡屡发生。因而,信息安全已越来越受到世界各国注重。嗅探器作为一种网络通讯程序,是通过对网卡编程来实现网络通讯,对网卡编程是

    8、使用普通套接字(socket)方式来进行。但是,普通套接字程序只能响应与自己硬件地址相匹配或是以广播形式发出数据帧,对于其她形式数据帧例如已到达网络接口但却不是发给此地址数据帧,网络接口在验证投递地址并非自身地址之后将不引起响应,也就是说应用程序无法收取到达数据包。而网络嗅探器目恰恰在于从网卡接受所有通过它数据包,这些数据包即可以是发给它也可以是发往别处。显然,要达到此目就不能再让网卡按普通正常模式工作,而必要将其设立为混杂模式。嗅探器是一柄双刃剑,具备正反两个方面作用。作为正面用途,嗅探器重要分析网络流量,作为发现和修补网络故障重要手段。例如,当网络某个某些运营浮现异常,报文发送速度下降时,

    9、网络管理员无法确切找出问题核心所在时,嗅探器即可做出精准判断。此外,网络管理员还可以运用嗅探器诊断出网络内大量不可见模糊问题,例如,哪个网络合同传播了多少流量,占重要通讯合同主机,大多数通讯目地址,报文发送时间和主机间报文传送时间间隔等。另一方面,嗅探器也可以被别有专心人用于非法行为。被嗅探器所截取数据通过解决可以向顾客还原显示数据包中所封装信息,该信息涉及顾客标记符和口令以及机密或者专用信息,用于危害邻居网络安全或获取更高档别访问权限。本次课程设计通过基于Winpcap网络嗅探器设计与实现,网络嗅探器对网络上传播数据包捕获与分析功能进一步理解,做到知己知彼。通过网络嗅探器对网络上传播数据包进

    10、行捕获和分析,获取所需要信息,运用对这些信息进行网络安全分析。因而,网络嗅探器研究具备重要意义。第2章 需求分析2.1顾客需求网络嗅探(网络抓包)时一种运用计算机网络接口截获其他计算机数据报文工具。使用网络嗅探(网络抓包)工具重要人群是黑客或网络安全技术人员,从袭击角度,黑客可以使用网络嗅探(网络抓包)程序非法获取网络中传播大量敏感信息,如账号和口令等,对网路安全极具威胁;从防守角度,网络嗅探(网络抓包)技术是居于网络入侵检测系统最底层环节,是整个系统数据来源,为技术人员提供重要根据。无论是黑客还是安全人员,她们对抓包技术运用途径都是同样,即对网络上传播数据包进行捕获与分析,获取不要信息,但是

    11、她们目是不同样,前者是专门运用计算机网络搞破坏或恶作剧,而后者是通过对这些信息分析运用。维护网络安全与稳定。因而顾客提出了如下规定:和谐图形化界面,不需要复杂命令,大某些功能通过鼠标点击就可达到,操作简朴、以便;可以捕获网络数据包,并能对数据包进行简朴分析;精准设立捕获规则和灵活过滤方略,能使顾客以便、精确地捕获所需要信息;可以对网络中捕获数据包解码,用于故障分析;顾客可以自定义过滤规则,使数据包捕获更加精准和具备灵活性,增强了软件功能以及与顾客交互能力;2.2 功能需求对于基于Winpcap网络嗅探器设计与实现,网络嗅探(网络抓包)作为网络安全面最常用工具被广泛使用,本次设计实现功能有:可以

    12、抓取IP数据包。可以抓取TCP数据包。可以抓取UDP数据包。对抓取数据包进行解码。2.3 性能需求一种程序除了能正常运营并且达到相应功能外,对程序性能也有严格规定,性能需求决定了整个系统性能档次、所采用技术和设备档次,本程序除了达到惯用软件对响应时间以及差错控制规定外,还提出如下规定:(1)数据精准性。捕获到数据包并不但仅是单纯数据信息,而是包具有IP头、TCP头等信息头最原始数据信息,这些信息保存了它在网络传播时原貌,为分析网络信息提供了重要资料。(2)适应范畴。先进抓包工具可以分析几百种合同。普通状况下,大多数抓包工具至少可以分析下面合同:IP、TCP、UDP等。第3章 Winpcap及有

    13、关合同简介3.1 Winpcap构成构造 Winpcap 由内核级数据包监听设备驱动程序(NPF)、低档动态链接库(packet.dll)和高层、顾客 级、不依赖于操作系统动态链接库(wpcap.dll)三某些构成。Winpcap 构成构造如图3.1 所示。(1)数据包监听设备驱动程序 在技术实现方面,为绕过操作系统合同栈来访问网络上原始数据包(raw packet)。这就规定 Winpcap 一某些运营在操作系统核心内部,直接与网络接口驱动交互。由于这个某些是系统依赖 (System Dependent),在 Winpcap 解决方案中它被视为是一种设备驱动,称作 NPF(Netgroup

    14、Packet Filter)。Winpcap 开发小组针对 Windows95,Windows98,WindowsME,Windows NT 4,Windows 和 WindowsXP 提供了不同版本驱动(在 Windows95/98/ME 中是 VXD 文献,在 WindowsNT/ 中是 SYS 文献)。这些驱动不但提供了基本特性(例如抓包、发送原始数据包注入数据包),尚有更高档特性(例如可编程过滤器系统和监视引擎)。前者可以被用来约束一种抓包会话只针对网络通信中 一种子集(例如,只捕获特殊主机产生 ftp 通信数据包),后者提供了一种强大而简朴记录网络通信量机制(例如,获得网络负载或两个

    15、主机间数据互换量)。 概括地讲,NPF可直接从数据链路层抓取网络数据包并过滤,可将数据包不加修改地传递给运营在顾客层应用程序。NPF 在不同 WINDOWS 系统下是不同(在 NT/XP 中是 npf.sys 文献,一 般位于 C:WINDOWSsystem32drivers 中),其重要功能是过滤数据包,并在数据包上附加时间戳、数据包长度等信息。(2)低档动态链接库(packet.dll)和顾客级动态链接库(wpcap.dll) 为以便编程,Winpcap 提供编程接口函数都封装在低档 packet.dll(普通位于 c:windows system32)和顾客级动态连接库 wpcap.dl

    16、l(普通位于 c:windowssystem32)中。底层 packet.dll 提供 编程接口独立于 Windows API,packet.dll API 是可以直接用来访问驱动函数;packet.dll 运营在顾客 层它将应用程序和数据包监听设备驱动程序隔离开来,使得应用程序可以不加修改地在不同 WINDOWS系统上运营。高层wpcap.dll导出了一组更强大且与LibPcap一致高层抓包函数库(Capture Primitives),这些函数使得数据包捕获以一种与网络硬件和操作系统无关方式进行。wpcap.dll 使用 packet.dll 提供服务,并向应用程序提供完善监听接口。3.2

    17、 Winpcap简介Winpcap是 Win32平台下强大、有较好扩展性底层网络分析体系构造, 是UNIX下 Lipbcap移植到Windows下产物,是Win32环境下数据包捕获开放代码函数库。Winpcap是第一种Win32开放式捕获包体系构造,可以支持大多数应用程序需要。Winpcap包括了一种内核级数据包过滤器NPF(Netgroup Packet Filter)、一种底层动态链接库(packet. dll)和一种高层独立于系统库(wpcap. dll)。NPF模块过滤数据包,将数据包不做任何改动传递给顾客。 packet. dll模块提供了Win32平台下捕获包驱动接口, 基于pac

    18、k- e.t dll编写程序可以不通过重新编译就在各种Win32平台下实现捕获数据包。wpcap. dll库不依赖于操作系统,且它包括了某些其她高层函数,如过滤器生成器,顾客定义缓冲区和高层特性。Winpcap重要功能在于独立于主机合同(如TCP 、IP)而发送和接受原始数据包。Winpcap可用于实现如下功能:捕获原始数据包,不论这个包是发往本地机,还是其她机器之间互换包。在数据包被发送到应用程序之前,通过顾客定义规则过滤。向网络发送原始数据包。 对网络通信量做出记录。 这些功能依赖于Win32系统内核中设备驱动以及某些动态链接库。Winpcap提供了一种强大编程接口,它很容易地在各个操作系

    19、统之间进行移植,也很以便程序员进行开发。诸多不同工具软件使 用Winpcap于网络分析,故障排除,网络安全监控等方面。Winpcap特别合用于下面这几种典型领域:网络及合同分析。网络监控。通信日记记录。trafficgenerators。顾客级别桥路和3.3 以太网简介 IEEE802.3所支持局域网原则最早是由Xerox 开发,日后通过DIGITAL 公司,Intel 公司和Xerox 联合扩展为以太网原则,符合以太网原则局域网成为以太网。以太网上每一种主机为了标示自己唯一“身份”均有自己网口接口卡 (NIC)。网络接口卡普通安装在主机内并能为主机提供一种6 字节物理地址。 在遵循IEEE8

    20、02 原则以太网中,这个物理地址称为MAC地址,MAC地址是 唯一,任意两个不同网络接口卡都具备不同MAC地址。以太网MAC 地址可以分为三类:单播地址,广播地址和多播地址。以太网MAC 帧格式具备7 个域,分别为:前导码,帧首定界符,目MAC 地址,源MAC 地址,合同类型或数据长度,数据帧校验序列,如表3-1 所示。前导码(7字节)帧首定界符(1字节)目MAC地址(6字节)源MAC地址合同类型(2字节)数据帧校验序列(4字节)表3-1 以太网MAC 帧格式3.3.1 网际合同IPIP(网际合同)是 TCP/IP 合同族中核心合同,它负责数据包从源点交付到终点传播。所有TCP、UDP、ICM

    21、P 及IGMP 数据都以IP 数据包格式传播。该合同提供不可靠,无连接数据报传送服务,但只能保证数据包被发送发送到目主机,而不论传播与否对的,详细纠错重传过程是交由传播层完毕。 3.3.2 顾客数据报合同UDP UDP 合同位置是处在IP 合同所在层上层。有OSI 模型知,传播层合同。涉及了UDP 和TCP 合同。但是,UDP 合同有个缺陷,它不提供端点之间确认和重传功能,因而就不能保证数据安全精确地到达目端点,因此该合同是一种不可靠地传播合同。3.3.3 传播控制合同TCP TCP(传播控制合同)合同时 TCP/IP 合同族种面向连接、可靠传播层合同。TCP 与UDP 不同,她容许发送和接受

    22、字节流形式数据。为了使服务器 和客户端以不同速度发送和接受数据,TCP 提供了发送和接受两个缓冲区,可以双向发送数据。TCP 在报文中加上一种递增确认序列号来告诉发送端,接受端盼望收到下一种报文,如果在规定期间内,没有收到关于这个包确认相应,则重新发送此包,这保证了TCP 是一种可靠地传播层合同。TCP 所提供服务重要特点:面向连接传播;端到端通信;高可靠性,保证传播数据对的性,不浮现丢失或乱序;全双工方式传播;采用字节流方式,即以字节为单位传播字节序列;紧急数据传送功能。第4章 程序设计与实现4.1 程序运营环境本系统运正常行硬件环境需求如下:CPU:PIII 800MHZ及其以上;内存:1

    23、28MB及其以上;本系统运正常行软件环境需求如下:操作系统:Windows 8;动态链接库和驱动程序:Winpcap4_1_2.exe;4.2 程序设计4.2.1 程序设计流程图4.2.2 程序详细设计(1)新建工程并把需要文献导入工程。导入include文献如图4.2所示。同步用同样办法在“链接器常规”中添加lib文献。图4.2 导入文献(2)设计主题对话框,如图4.3所示。图4.3 主题对话框(3)设立选取网卡对话框,如图4.4所示。图4.4 选取网卡对话框(4)创立protocoInfo.h文献,定义合同格式和合同中使用宏。合同构造体定义:typedef struct _ETHeader

    24、 / 14字节以太头typedef struct _IPHeader / 20字节IP头typedef struct _TCPHeader / 20字节TCP头typedef struct _UDPHeader宏定义:#define ETHERTYPE_IP 0x0800 /MAC帧中合同类型字段取值#define ETHERTYPE_ARP 0x0806/ 合同,IP首部中ipProtocol字段,标明上层合同#define PROTO_ICMP 1#define PROTO_IGMP 2#define PROTO_TCP 6#define PROTO_UDP 17/ 定义TCP标志#def

    25、ine TCP_FIN 0x01#define TCP_SYN 0x02#define TCP_RST 0x04#define TCP_PSH 0x08#define TCP_ACK 0x10#define TCP_URG 0x20#define TCP_ACE 0x40#define TCP_CWR 0x80(5)使用类向导定义控件有关变量。主窗体中变量定义,如图4.5所示;选取网卡对话框中变量定义,如图4.6所示。图4.5 主窗体变量定义图4.6 选取网卡窗体变量定义(6)程序函数定义与实现。文献CSniffer4_302_318Dlg.cpp中定义函数有:void OnBnClicked

    26、ButtonNic()/点击“选取网卡”按钮响应事件void SetFiltRules()/设立过滤规则办法void DecodeIPPacket(const unsigned char *pData)/IP分组解析void DecodeUDPPacket(const unsigned char *pData) /UDP数据报解析void DecodeTCPPacket(const unsigned char *pData)/TCP解析void CallbackFunctionPacket(unsigned char *user,const struct pcap_pkthdr *Winpcaphead,const unsigned char *packetdata) /解析包回调函数void CSniffer4_302_318Dlg:SetInitData() /用全局变量给成员变量赋值UINT ProcessFunc(LPVOID pParam)/线程函数StartCapture() /抓包函数OnBnClickedButtonStartcap()/点击开始抓包按钮响应事件文献ChooseNIC.cpp中定义函数有:void Cho


    注意事项

    本文(基于Winpcap的网络嗅探器设计与实现样本Word下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开