基于ARP的局域网主机管理系统设计与实现

2015-06-07 11:59霍迎秋彭楚风王露璐
实验室研究与探索 2015年8期
关键词:访问控制流程图局域网

霍迎秋, 彭楚风, 王露璐

(西北农林科技大学 信息工程学院,陕西 杨凌 712100)



·计算机技术及应用·

基于ARP的局域网主机管理系统设计与实现

霍迎秋, 彭楚风, 王露璐

(西北农林科技大学 信息工程学院,陕西 杨凌 712100)

为实施对局域网内主机的有效管理,分析了ARP协议的工作原理,设计并实现了基于ARP协议的局域网主机管理系统,给出了系统的总体设计图,以及主要功能模块的设计流程图。通过测试验证了该管理系统能够对局域网内主机实施有效的管控,满足局域网内主机管理的需求。

网络访问控制; 地址解析协议; 网络管理; 多线程; 地址解析欺骗

0 引 言

网络技术的广泛应用给人们的工作、生活带来便利的同时,也带来了很多问题,如网络的非法接入,基于网络的应用软件的滥用,造成有效带宽利用率低,网络不稳定等,影响了正常工作,降低了工作效率。因此必须对局域网内的主机进行有效管控,规范网络的使用行为,促进网络使用有序进行,提高工作效率。

基于SNMP协议的网络管理方法,是主要针对路由器、交换机等网络设备进行控制和管理,且需要在被控网络设备上配置SNMP协议[1-3]。基于Web的网络管理部署简单,使用方便,但是服务器端依旧需要通过SNMP协议来与被管理设备进行通信,因为SNMP协议的安全性问题造成整个系统的不稳定[3-6]。基于NetFlow协议对路由器、交换机等网络设备的流量进行统计和分析,以此来管理整个网络的运行状况,但是这种方法不能够对局域网内主机进行管理[7-8]。因此,本文详细分析了ARP协议的工作原理,探讨了基于ARP协议对局域网主机进行管理的方法,并进行系统设计与实现。

1 ARP协议工作原理

在以太局域网中,主机间的通信是基于MAC地址进行的,而每台主机配置的是IP地址,因此需要将IP地址转化为相应的MAC地址[9],这个转化的过程称为“地址解析”,主要由地址解析协议(Address Resolution Protocol,ARP)来实现[10-11]。

ARP数据包分为请求包和应答包。在以太网上发送ARP数据包的格式如图1所示。

图1 以太网中ARP请求或者应答的报文格式

局域网内的每台主机都维护一个ARP缓存表,记录IP地址和MAC地址的对应关系[12-13]。当源主机需要与目的主机通信时,首先检查自己缓存中的ARP表,查看目的主机IP地址对应的MAC地址。如果能够查到相对应的MAC地址,则直接将数据包发送到这个MAC地址;如果没有,则向本地网段发送ARP请求的广播包,查询此目的IP地址对应的MAC地址。目的主机接收到广播包后,首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖。然后向源主机发送一个 ARP响应数据包;源主机根据ARP响应数据包中的IP地址和MAC地址更新ARP缓存表,并以此MAC地址发送数据[14]。

2 实现主机访问控制的基本原理

ARP欺骗原理是通过发送欺骗性的ARP应答数据包致使接收主机收到数据包后更新其ARP缓存表,从而建立错误的IP与MAC对应关系[15],进而不能够与目的主机进行通信。因此,如果某台主机(管理机)组装虚假的ARP应答包,其中源IP地址填写局域网网关的IP地址,源MAC地址填写本机的MAC地址,发送给目的主机。目的主机接收到应答包后,修改自己的ARP缓存表。接下来目的主机正常发送给网关的数据则发给了管理机。如果需要监控目的主机的上网行为,则可以对来自目的主机的数据包进行分析;如需要细化控制上网行为,则可以根据控制需求设置过滤规则,封堵部分数据后再转发给网关;如果仅需要禁止目的主机上网,则可不予转发[16]。基于ARP欺骗实现访问控制的流程图如图2所示。

3 访问控制系统设计及其实现

3.1 系统总体设计

详细分析具体应用需求,设计基于ARP实现访问控制流程图,如图3所示。

根据系统总体设计图,共设计10个功能模块:获取网卡模块,初始化模块,发送ARP扫描信息模块,接收ARP扫描应答信息模块,主机网络访问控制模块,获取网关IP地址模块,ARP欺骗模块,获取特定IP地址的MAC地址模块,恢复模块,关闭模块等。为清晰表达各模块之间的调用关系,设计关系示意图,如图4所示。

图2 基于ARP欺骗实现访问控制的原理

图3 基于ARP实现访问控制总体设计图

图中空心圆圈表示开始,实心圆圈表示结束,圆角矩形表示各个功能模块,粗线条表示对并发进程之间的同步,带箭头的实线表示顺序关系,实线若加上“调用”,则表示模块之间存在调用关系。

3.2 主要功能模块设计

给出主要功能模块的详细设计,如图4所示。

图4 功能模块关系示意图

3.2.1 初始化模块

该模块接收用户对于网卡的选择,然后实现网卡设备的初始化,接着创建两个线程,一个线程执行发送ARP模块,另外一个线程执行接收ARP模块。详细流程图如图5所示。

图5 初始化模块流程图

3.2.2 发送ARP扫描信息模块

该模块作为发送ARP请求包的线程,基于libnet开发包实现ARP数据包构造及发送,发送对象为局域网中所有主机。详细流程图如图6所示。

3.2.3 接收ARP扫描应答信息模块

该模块作为接收ARP请求包的线程,实现对收到的ARP应答包的接收与处理,以此统计局域网内主机的数量,记录各主机IP地址和MAC地址信息。例如,若收到一个ARP应答则主机数增加1,且将其应打包中的IP地址与MAC地址存储至fprintf.out文件中保存。接收扫描应答信息的时间设置为15 s。详细流程图,如图7所示。

图6 发送ARP扫描信息模块流程图

图7 接收ARP扫描应答信息模块流程图

3.2.4 主机网络访问控制模块

该模块对于用户设定的IP地址进行ARP欺骗,其操作是创建一个线程调用ARP欺骗模块,并构造结构体mythread存储该IP地址和所创建线程的句柄,最后加入thread_链表,以待用户处理。流程图见图8。

图8 主机网络访问控制模块流程

3.2.5 恢复主机网络访问模块

该模块对于用户设定的IP地址停止ARP访问控制,即从thread_链表中找到对目的IP地址进行ARP访问控制的线程句柄,对其进行终止操作,然后释放句柄,最后从链表中删除该节点。最后向该主机发送正确的网关ARP数据包,流程图如图9所示。

图9 恢复主机网络访问模块流程图

3.2.6 ARP欺骗模块

该模块对用户设定的IP地址进行ARP欺骗,即伪装成网关发送错误的MAC地址给访问控制对象,使其因无法与网关进行通信而无法上网。流程图如图10所示。

3.2.7 获取特定IP地址的MAC地址模块

该模块被ARP欺骗模块调用,主要功能是获取局域网内任意指定IP地址主机的MAC地址。实现方式是从fprintf.out文件中读取存储进去的IP、MAC地址对,从中查找指定IP地址对应的MAC地址。流程图如图11所示。

图10 ARP欺骗模块流程图

图11 获取特定IP地址的MAC地址模块流程图

3.3 主要功能界面设计

基于.NET平台开发局域网主机管理系统,采用C/C++语言实现个功能模块,显示系统主要功能界面。系统启动之后,在网卡列表显示管理机的网卡设置,点击“初始化”按钮,对系统必要参数进行初始化,点击“扫描”按钮,扫描局域网内所有的主机,并显示IP地址和MAC地址以及控制状态,点击“恢复”按钮,恢复控制状态。

4 结 语

本文分析了ARP协议的工作原理,基于.NET平台设计并实现了基于ARP协议的局域网主机管理系统,给出了系统的总体详细设计示意图,以及主要功能模块设计流程图。该系统能够很好地对以太网内的主机进行控制管理,为内部局域网的规范使用提供了强有力的工具。

[1] 牟鹏至,李 飞,罗传军.基于SNMP 的网络管理系统安全方案研究[J]. 计算机工程与设计, 2010, 31(11): 3778-3806.

[2] 任小凤,郑 刚. 基于SNMP协议的分布式网络性能测试与分析[J].中国测试, 2013,39(1):105-109.

[3] 杨妮妮,赵新慧,李文超,等.基于Web的SNMP网络管理[J].微计算机信息,2006,22(2):110-112.

[4] 徐 滨.基于WEB和JAVA的网络管理系统[J].煤炭技术,2011,30(12):273-274.

[5] 范建立.基于Web的网络管理技术研究[J].煤炭技术,2013,32(2):2673-269.

[6] 张信杰,王旭仁,吴 刚. 分布式网络监控系统设计与实现[J].计算机工程与设计,2010,31(17): 3797-3844.

[7] 曹建业,董永吉,冶晓隆,等. 基于NetFlow的流量统计系统的设计与实现[J].计算机工程与设计,2014,35(2):381-385.

[8] 孟晓蓓.基于NetFlow的网络流量采集技术和应用[J].武汉理工大学学报,2009,31(23):155-158.

[9] 陆余良,张 永.ARP协议在局域网类型探测中的应用[J].计算机工程,2004(1):194-196.

[10] 王 斐,陆建德.交换网ARP 欺骗自动检测系统的设计与实现[J].微电子学与计算机,2009(1):194-196.

[11] 谢希仁.计算机网络[M].5版.北京:电子工业出版社,1989:119-122.

[12] 王 佳,李志蜀.基于ARP协议的攻击原理分析[J]. 微电子学与计算机,2004,21(4):10-12.

[13] 徐智勇,吴自友,蔡 聪,等.基于Dynamic ARP Inspection的静态MAC-IP绑定一种ARP欺骗避免解决方案[J].测控技术,2013,32(10):93-97.

[14] 李厚民. ARP攻击原理在网管软件中的应用[J].计算机安全,2009(10):114-116.

[15] 王 奇.以太网中ARP 欺骗原理与解决办法[J].网络安全技术与应用,2007(2):42-44.

[16] 李海鹰,程 灏,吕志强,等.针对ARP攻击的网络防御模式设计与实现[J].计算机工程,2005(5):170-171.

Local Network Host Manage System Design and Implementation Based on ARP

HUOYing-qiu,PENGChu-feng,WANGLu-lu

(College of Information Engineering, Northwest A & F University, Yangling 712100, China)

To manage the host in a local network effectively, this paper makes an analysis of the ARP protocol, and develops a local network host management system based on ARP. The overall design of the management system and flow charts of major models are provided. In addition, some functional tests are done, the result demonstrates that this management system can manage host of the local network effectively and meets the host management requirement.

network access control; ARP; network management; multithreading; ARP cheating

2014-12-10

国家自然科学基金项目(61271280);中央高校科技创新一般项目(2014YB067);大学生科技创新国家级项目(201410712095)

霍迎秋(1978-),男,河北唐山人,博士,实验师,研究方向:计算机应、并行计算。E-mail:fallying@nwsuaf.edu.cn

TP 311

A

1006-7167(2015)08-0104-04

猜你喜欢
访问控制流程图局域网
轨道交通车-地通信无线局域网技术应用
基于VPN的机房局域网远程控制系统
基于802.1Q协议的虚拟局域网技术研究与实现
局域网性能的优化
ONVIF的全新主张:一致性及最访问控制的Profile A
专利申请审批流程图
动态自适应访问控制模型
专利申请审批流程图
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现