2024年3月9日发(作者:)
吉首大学 解析ARP数据包软件的设计和实现
JISHOU UNIVERSITY
专业课课程论文
题 目:
作 者:
学 号:
所属学院:
专业年级:
总 评 分:
完成时间:
解析ARP数据包
信息科学与工程学院
吉首大学信息科学与工程学院
吉首大学 解析ARP数据包软件的设计和实现
解析ARP数据包软件的设计和实现
(
吉首大学信息科学与工程学院,湖南 吉首 416000
)
摘 要
本文首先介绍了地址解析协议ARP的概念,详细说明了ARP的工作原理,
ARP攻击的基本原理,详细分解了ARP数据包的各个字段含义,ARP协议工作的
流程和这次课程设计的意义与目的;接着描述了此实验的总体设计;然后是详细
设计,分析讲解了实现代码的主要部分;最后还讲了做这次课程设计的个人总结,
谈了一些个人观点。
关键字:ARP数据包、工作原理、ARP攻击、解析、截获、功能
吉首大学 解析ARP数据包软件的设计和实现
目录
第一章 引言 ................................................................................................................................... 1
1.1 ARP背景 .......................................................................................................................... 1
1.1.1什么是ARP ...................................................................................................................... 1
1.1.2ARP工作原理 .................................................................................................................. 1
1.1.3ARP攻击 .......................................................................................................................... 2
1.1.4 ARP包的格式 ................................................................................................................. 3
1.1.5 ARP协议工作流程 ......................................................................................................... 4
1.2课题研究现状 ............................................................................................................................. 4
1.3论文组织方式 ............................................................................................................................. 5
第二章 关键技术 ........................................................................................................................... 6
2.1数据包截获机制 ......................................................................................................................... 6
2.2抓包工具 ..................................................................................................................................... 6
2.2.1 Winpcap简介 .................................................................................................................. 7
2.2.2WpdPack简介 .................................................................................................................. 9
第三章 总体设计 ......................................................................................................................... 10
3.1 设计分析 .................................................................................................................................. 10
3.1.1设计中的重点及难点 .................................................................................................... 10
3.1.2参考算法 ........................................................................................................................ 10
3.1.3系统或算法框架设计 .................................................................................................... 11
3.2功能设计 ................................................................................................................................... 11
3.3 平台设计 .................................................................................................................................. 12
3.4数据结构的设计 ....................................................................................................................... 12
第四章 详细设计 ......................................................................................................................... 13
第五章 结束语 ............................................................................................................................. 14
第六章 参考资料 ......................................................................................................................... 15
吉首大学 解析ARP数据包软件的设计和实现
第一章 引言
1.1 ARP背景
首先,我们来了解一下什么是ARP,ARP的工作原理以及ARP攻击所带
来的危害。
1.1.1什么是ARP
地址解析协议(Address Resolution Protocol,ARP)是在仅知道主机的IP
地址时确定其物理地址的一种协议。因IPv4和以太网的广泛应用,其主要用作
将IP地址翻译为以太网的MAC地址,但其也能在ATM和FDDIIP网络中使用。
从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说
来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层
(MAC层,也就是相当于OSI的第二层)的MAC地址。
在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接
通信,必须要知道目标主机的MAC地址。而在TCP/IP协议栈中,网络层和传
输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路
层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。于
是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP协
议要做的事情。所谓地址解析(address resolution)就是主机在发送帧前将目标
IP地址转换成目标MAC地址的过程。
另外,当发送主机和目的主机不在同一个局域网中时,即便知道目的主机
的MAC地址,两者也不能直接通信,必须经过路由转发才可以。所以此时,发
送主机通过ARP协议获得的将不是目的主机的真实MAC地址,而是一台可以
通往局域网外的路由器的某个端口的MAC地址。于是此后发送主机发往目的主
机的所有帧,都将发往该路由器,通过它向外发送。这种情况称为ARP代理(ARP
Proxy)。
1.1.2ARP工作原理
在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与
MAC地址是一一对应的。
以主机A(209.0.0.5)向主机B(209.0.0.6)发送数据为例。当发送数据时,
主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知
道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在
ARP缓存表中没有找到目标IP地址,主机A就会在网络上发送一个广播,A主
机MAC地址是“主机A的MAC地址”,这表示向同一网段内的所有主机发出
这样的询问:“我是209.0.0.5,我的硬件地址是00-00-C0-15-AD-18"主机A的
MAC地址".请问IP地址为209.0.0.6的MAC地址是什么?”网络上其他主机并
不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:
1
吉首大学 解析ARP数据包软件的设计和实现
“209.0.0.6的MAC地址是08-00-2B-00-EE-0A”。这样,主机A就知道了主机
B的MAC地址,它就可以向主机B发送信息了。同时A和B还同时都更新了
自己的ARP缓存表(因为A在询问的时候把自己的IP和MAC地址一起告诉了
B),下次A再向主机B或者B向A发送信息时,直接从各自的ARP缓存表里
查找就可以了。ARP缓存表采用了老化机制(即设置了生存时间TTL),在一
段时间内(一般15到20分钟)如果表中的某一行没有使用,就会被删除,这样
可以大大减少ARP缓存表的长度,加快查询速度。(如图1所示)
ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中
产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响
应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻
击。
ARP攻击主要是存在于局域网网络中,局域网中若有一个人感染ARP木马,
则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它
计算机的通信信息,并因此造成网内其它计算机的通信故障
1.1.3ARP攻击
ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中
产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响
2


发布评论