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