ARP包的封装、发送、捕获与解析软件开发毕业论文

上传人:工**** 文档编号:487271158 上传时间:2023-04-16 格式:DOC 页数:42 大小:297.50KB
返回 下载 相关 举报
ARP包的封装、发送、捕获与解析软件开发毕业论文_第1页
第1页 / 共42页
ARP包的封装、发送、捕获与解析软件开发毕业论文_第2页
第2页 / 共42页
ARP包的封装、发送、捕获与解析软件开发毕业论文_第3页
第3页 / 共42页
ARP包的封装、发送、捕获与解析软件开发毕业论文_第4页
第4页 / 共42页
ARP包的封装、发送、捕获与解析软件开发毕业论文_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《ARP包的封装、发送、捕获与解析软件开发毕业论文》由会员分享,可在线阅读,更多相关《ARP包的封装、发送、捕获与解析软件开发毕业论文(42页珍藏版)》请在金锄头文库上搜索。

1、ARP包的封装、发送、捕获与解析软件开发摘 要互联网络是时代需求的产物,随着社会需求的不断增长,互联网络技术得到飞速发展,网络规模急剧膨胀,通过研究网络协议来提高网络通信的安全性变得非常重要。ARP协议是TCP/IP协议栈中一个非常重要的网络通信协议。在透彻理解ARP协议,深入了解ARP协议的分组格式和ARP的工作流程,熟悉Winpcap编程的基础上,本文设计开发了一个ARP包的封装、发送、捕获与解析软件,该软件主要用于辅助教学。程序是在Windows环境下使用Visual C+6.0和WinPcap网络编程工具编写的,在程序测试阶段则使用了网络管理工具Sniffer对程序的运行结果和效率进行

2、了测试。本文还对WinPcap以及Sniffer进行了简要介绍,并且在本文最后总结了开发程序过程中遇到的一些问题和解决办法,希望可以为学习网络编程和相关技术的人提供帮助。关键词:ARP协议;WinPcap;ARP数据包;SnifferABSTRACTInternet is the product of the times demand.With the increasing growing of social needs,Internet technologies is rapidly developing and the network size is rapidly expanding.I

3、t is important to improve the security of the network communications through studying network protocols. Arp is a very important network communications protocol in TCP/IP protocols.With the understanding of the Arp protocol and Arp-format and the ARP workflow and Familiaring with Winpcap programming

4、,I designed and developed a software, which is a software of packaging Arp packets, senting,catching and analyzing.This software is used to teaching.This procedure is programmed using Visual C+ 6.0 and WinPcap in Windows environment.In the testing stage,Sniffer is used to text the result of this pro

5、cedure and the efficiency of this procedure.This paper also introduces WinPcap and Sniffer,and concludes that some of the problems encountered in the procedure and their solutions in the end of this paper.I hope that these questions can provide assistance for the people who is learning network progr

6、amming and related technologies.Keywords: ARP protocol; WinPcap; ARP packet; Sniffer目 录第1章 前言11.1 课题研究的意义11.2 课题的研究现状11.3 课题研究的工作任务和预期结果1第2章 ARP协议概述22.1 TCP/IP协议栈22.2 ARP协议的引入32.3 ARP协议的原理42.3.1 ARP的分组格式52.3.2 ARP协议的工作流程6第3章 SNIFFER软件简介83.1 Sniffer概述83.2 Sniffer功能简介83.2.1 Sniffer封装功能介绍83.2.2 Sniffer

7、捕获功能介绍9第4章 网络编程工具124.1 Winpacp概述124.2 WinPcap的结构144.3 Winpcap的安装使用方法15第5章 软件开发175.1 需求规格说明175.1.2 引言175.1.2 数据描述175.1.3 功能需求185.2 概要设计说明195.3 详细设计说明195.4 代码实现245.4.1 本文系统的开发环境255.4.2 封装ARP包的函数255.4.3 发送ARP包的函数275.4.4 捕获、解析ARP包的函数275.5 测试285.5.1 封装测试285.5.2 发送测试295.5.3 捕获测试305.5.4 解析测试305.6 与Sniffer的

8、比较32第6章 毕业设计中遇到的问题及解决办法34第7章 结论36致谢38参考文献39第1章 前 言1.1 课题研究的意义虽然Sniffer是一个功能强大的网络管理工具,但是正是由于它功能强大的原因,它运行时占有的资源也是很大的,因此在某些方面做的不是很好,比如在捕获数据包的时候,由于它消耗的资源很大,因此当它捕获到数据包的时候并不能及时处理这些数据包,只能把这些数据包丢掉,这样对于我们教学来说并不是有利的,因此为了能够更好的帮助大家了解、掌握ARP协议及其运作过程,本人在透彻理解ARP协议和熟悉Winpcap编程的基础上,设计开发了一个ARP包的封装、发送、捕获与解析软件用于辅助教学。1.2

9、 课题的研究现状虽然ARP地址解析协议的定义已经给出了非常明确的解释,但是由于该协议工作在网络层以下的链路层上,是属于较底层的协议,国内外很少有人关心该协议的数据包通信过程,也正是因为这个原因,该协议下的攻击往往不容易被发现。随着网络攻击技术的发展,网络黑客越来越侧重于用采用较底层的协议,而且这种危害也日趋严重,比如现在的ARP欺骗技术1就是一个典型的例子。该技术主要是利用ARP协议中协议漏洞伪装目标主机的MAC地址非法窃取该主机的信息或者破坏该主机的正常的网络通信。鉴于这种现状,ARP协议的研究变得非常的重要,只有准确全面的研究ARP协议,解决ARP协议通信安全问题才能更好的提高网络通信的安

10、全性2。1.3 课题研究的工作任务和预期结果(1)构造ARP包,选择并打开网卡,将ARP包发送出去;(2)获取网络中的ARP数据包;(3)解析数据包的内容,将结果标准输出,并同时写入日志文件;(4)与Sniffer做对比,测试和评价该软件。第2章 ARP协议概述2.1 TCP/IP协议栈TCP/IP协议包含了一系列构成互联网基础的网络协议。这些协议最早发源于美国国防部的ARPA互联网项目。TCP/IP字面上代表了两个协议:TCP传输控制协议和IP互联网协议3。时间回放到1983年1月1日,在这天,互联网的前身Arpanet中,TCP/IP协议取代了旧的网络核心协议NCP(Network Cor

11、e Protocol),从而成为今天的互联网的基石。最早的的TCP/IP由Vinton Cerf和Robert Kahn两位开发,慢慢地通过竞争战胜了其它一些网络协议的方案,比如国际标准化组织ISO的OSI模型。TCP/IP成功的另一个因素在与对为数众多的低层协议的支持。这些低层协议对应与OSI模型中的第一层(物理层)和第二层(数据链路层)。每层的所有协议几乎都有一半数量的支持TCP/IP,例如:以太网(Ethernet),令牌环(Token Ring),光纤数据分布接口(FDDI),端对端协议(PPP),X.25,帧中继(Frame Relay),ATM,Sonet,SDH等。TCP/IP协

12、议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据

13、包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial、Line等)来传送数据。2.2 ARP协议的引入在任何时候,当主机或路由器有数据报要发送给另一个主机或路由器时,它必须有接收端的逻辑(IP)地址。但是IP数据报必须封装成祯才能通过物理网络。这就表示,发送端必须有接收端的物理地址。因此需要从逻辑地址到物理地址的映射4。使用静态映射和动态映射都可做到这

14、点,逻辑地址和物理地址之间的关联可以静态地存储在地址映射表中。发送端可在表中查找出对应于逻辑地址的物理地址。但这不是解决问题的好方法。每当物理地址发生变化时,这个表就必须更新。频繁地在所有的机器上对表进行更新是非常麻烦的任务。但这种映射可做成动态的,即发送端在需要时可请求接收端宣布它的物理地址。ARP就是为这个目的而设计的。ARP把IP地址和它的物理地址关联起来。在典型的物理网络上,如局域网,链路上的每一个设备都用通常是写在NIC中的物理地址或站地址来标识。任何时候当主机或路由器需要找出这个网络上的另一个主机或路由器的物理地址时,它就发送ARP查询分组。这个分组包括发送端的物理地址和IP地址,

15、以及接收端的IP地址。当发送端不知道接收端的物理地址,它就会在网络上以广播的形式发送一个ARP请求报文5。在网络上的每一个主机或路由器都接收和处理这个ARP查询分组,但只有预期的接收者才识别ARP查询分组的IP地址,并发回ARP响应分组。这个响应分组包含接收者的IP地址和物理地址。这个分组用单播直接发送给查询者,它使用收到的查询分组中所用的物理地址。2.3 ARP协议的原理IP数据包常通过以太网发送。以太网设备并不识别32位IP地址,它们是以48位以太网地址传输以太网数据包的。因此,IP驱动器必须把IP目的地址转换成以太网网目的地址。在这两种地址之间存在着某种静态的或算法的映射,常常需要查看一张表。地址解析协议(Address Resolution Protocol,ARP)就是用来确定这些映象的协议。ARP是一个位于TCP/IP协议栈中的低层协议,它工作在数据链路层,用于将网络中的协议地址(当前网络中大多是IP地址)解析为本地的硬件地址(MAC地址)6。为了节省ARP缓冲区内存,被解析过的ARP条目的寿命都是有限的。如果一段时间内该条目没有被参考过,则条目被自动删除。在工作站PC的Windows环境中,ARP条目的寿命是2分钟,在大部分Cisco交换机中,该值是5分钟。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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