CN102497380A - 一种内网数据包过滤方法 - Google Patents

一种内网数据包过滤方法 Download PDF

Info

Publication number
CN102497380A
CN102497380A CN2011104333039A CN201110433303A CN102497380A CN 102497380 A CN102497380 A CN 102497380A CN 2011104333039 A CN2011104333039 A CN 2011104333039A CN 201110433303 A CN201110433303 A CN 201110433303A CN 102497380 A CN102497380 A CN 102497380A
Authority
CN
China
Prior art keywords
address
packet
gateway
mac address
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011104333039A
Other languages
English (en)
Inventor
朱振洪
陈伯军
陈国军
潘劲松
鲍凌杰
潘琦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yuyao power supply bureau
Original Assignee
Yuyao power supply bureau
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yuyao power supply bureau filed Critical Yuyao power supply bureau
Priority to CN2011104333039A priority Critical patent/CN102497380A/zh
Publication of CN102497380A publication Critical patent/CN102497380A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种内网数据包过滤方法。该方法包括:终端通过目标字符串协商机制确定ARP NDIS协议驱动;创建网关处理线程获取网关IP地址和/或MAC地址;解析待发送数据包获取目标IP地址;将数据包目标IP地址与网关IP地址对应的子网掩码进行与运算以确定是否属于相同子网,和/或,通过ARP协议获取待发送数据包目标IP地址对应的目标MAC地址,将数据包目标MAC地址与网关MAC地址进行比较以确定是否属于相同子网;如果数据包与网关所在子网属于相同子网,则按照数据包目标IP地址或MAC地址发送该数据包;否则,过滤该数据包。本发明实施例减轻了网关的工作负荷,避免了内网出现网络堵塞。

Description

一种内网数据包过滤方法
技术领域
本发明涉及终端数据包控制技术,尤其涉及一种内网数据包过滤方法。
背景技术
随着网络技术的迅速发展,网络上承载的信息量越来越大,对人们的吸引力越来越强。人们通过网络获取需要的资源时,先由本地终端将获取请求组装成数据包,然后通过本地终端所在网络的网关发送到外网的目的服务器,由服务器根据所述获取请求提供相应的资源,或者,本地终端在接收到其所在网络外的终端通过网关发送的获取请求后,以服务器身份提供别人需要的资源。当借助网关进行信息通信时,内外网的数据包均要经过网关的转发,一个局部网络通常设置的网关数量较少,网关由此承担着大量的过滤工作,尤其在一个网关连接的终端较多,数据交流较频繁时,网关需要禁止某些终端访问外网时,网关更是承担着繁重的审核任务。现有技术中除了加大网关的处理能力外,没有别的可靠方法进行数据包的过滤。当出现病毒,如ARP攻击之类,将在短时间内产生大量的数据包,这些数据包严重冲击着网关的处理能力,一旦网关瘫痪将加大病毒的传染区域,扩大了损害面。
发明内容
有鉴于现有技术存在的不足,本发明的目的在于提供一种内网数据包过滤方法,该方法通过内网的各个终端进行内网数据包过滤,以分散内网数据包的过滤任务、减轻网关的工作负荷。
为实现上述目的,本发明实施例提供的内网数据包过滤方法包括:
终端通过目标字符串协商机制确定ARP NDIS协议驱动;
创建网关处理线程,通过网关处理线程获取网关的IP地址和/或MAC地址:
解析待发送数据包以获取该数据包的目标IP地址;
将数据包的目标IP地址与网关的IP地址对应的子网掩码进行与运算以确定是否属于相同的子网,和/或,通过ARP协议获取待发送数据包目标IP地址对应的目标MAC地址,根据数据包的目标MAC地址与网关的MAC地址进行对应性比较以确定是否属于相同的子网;
如果数据包与网关所在的子网属于相同子网,则按照数据包的目标IP地址或目标MAC地址发送该数据包;否则,过滤掉该数据包。
优选地,获得待发送数据包的目标IP地址时还获取该数据包的源IP地址,通过ARP协议获取待发送数据包源IP地址对应的MAC地址,将待发送数据包的源IP地址和对应的MAC地址与终端的IP地址和MAC地址进行比较,如果一致,则进行该数据包与网关是否属于相同子网的判断;否则,过滤掉该数据包。
优选地,获得网关的IP地址和MAC地址后,将IP地址与MAC地址存储于ARP Cache,建立网关的IP地址和MAC地址与终端的IP地址和MAC地址之间的对应关系,则:将待发送数据包的地址与网关和/或终端的IP地址和MAC地址进行比较,如果不一致,过滤掉该数据包。
本发明实施例提供的技术方案在进行ARP NDIS协议驱动后,创建网关处理线程,通过网关处理线程获取网关的IP地址和/或MAC地址,然后解析待发送数据包得到目标IP地址后,将该IP地址或IP地址对应的MAC地址与网关进行比较以判断是否属于相同的子网,如果不属于相同的子网,则过滤掉该数据包。与现有技术相比,本发明实施例将数据包的过滤操作前移至终端,由于网关子网内的终端数量通常较多,由此分散了网关的过滤任务,大大减轻了网关的工作负荷。而且,通过本发明实施例的技术方案,数据流能进不能出,实现了对终端访问外网的强制管理。此外,由于过滤数据包的任务在本地终端完成,减少了网关所在子网的数据传输量,避免了内网发送堵塞现象。
附图说明
图1为本发明的实施例的流程图;
图2为本发明实施例的实现架构图。
具体实施方式
本发明的主要思想是在进行ARPNDIS协议驱动后,创建网关处理线程,通过网关处理线程获取网关的IP地址和/或MAC地址,然后解析待发送数据包得到目标IP地址后,将该IP地址或IP地址对应的MAC地址与网关进行比较以判断是否属于相同的子网,如果不属于相同的子网,则过滤掉该数据包,从而前移了过滤操作,使得网关承担的大量数据处理任务分散到网关所在子网的多台本地终端,由此减轻了网关繁重的工作负荷,而且,还能避免网关所在子网发送网络堵塞现象,实现本地终端访问外网的强制管理。
为了使本领域技术人员能进一步了解本发明的特征及技术内容,下面结合附图和实施例,对本发明的技术方案进行详细描述。
在大型网络中,网络中包含多个网关,每个网关连接多台终端,终端的数量越多,向网关发送数据包的可能性越大,网关的处理能力必须越强。然而,网关的处理能力与终端的数量并不正比。在目前的网络环境中,数据流量通信较大,网关承担着繁重的任务。为了避免这种情况引起网关瘫痪,本发明实施例提供了一种内网数据包过滤方法。参见附图1,本实施例提供的内网数据包过滤方法包括:
步骤S101:终端通过目标字符串协商机制确定ARPNDIS协议驱动;
这里先介绍ARP和NDIS两个基本概念。ARP,即地址解析协议,实现通过IP地址得知其物理地址。在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。这样就存在把IP地址变换成物理地址的地址转换问题。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。NDIS是Network Driver Interface Specification,即网络驱动接口规范。NDIS的主要目的就是为NIC(网络接口卡,NetwokInterface Cards)制定出标准的API接口。MAC(介质访问控制,Media AccessController)设备驱动封装了所有的NIC硬件实现,这样一来所有的使用相同介质的NIC就可以通过通用的编程接口被访问。NDIS同时也提供一个函数库(又时也称作wrapper),这个库中的函数可以被MAC驱动调用,也可以被高层的协议(例如TCP/IP)驱动调用。这些wrapper函数使得MAC驱动和协议驱动的开发变得更加容易。不同运营商提供的ARP NDIS协议驱动不同,该协议驱动与终端的其他系统具有联系,因此,在进行相应数据过滤操作前必须进行ARP NDIS协议驱动的正确选择,选择的方式即是通过目标字符串协商机制进行,目标字符串是运营商开发ARPNDIS协议驱动时预设的一个识别码,终端通过该目标字符串即可进行ARPNDIS协议驱动的相应选择。
步骤S102:创建网关处理线程,通过网关处理线程获取网关的IP地址;
这里的网关处理线程的主要目的在于获取网关的地址,网关作为一种网络设备,也有自己的IP地址和MAC地址,这里可以将IP地址和MAC地址同时获取,也可以仅获取其中之一。当获取IP地址时,即利用IP地址与数据包的IP地址进行比较,当获取MAC地址时则利用MAC地址与数据包的IP地址进行比较傲,同时获取时,可将两者均进行比较。具体如何实现本步骤以及S103步骤可根据实际情况进行选择。
步骤S103:解析待发送数据包以获取该数据包的目标IP地址;
这里待发送数据包包括两种来源,一是本地终端自己产生的数据包,并且希望将该数据包转发到网络上的其他终端;二是由其他终端发送到本终端,需要本终端进行转发的数据包。接收到待发送的数据包后对该数据包进行解析,以获取该数据包的目标IP地址,目标IP地址标识出了该数据包发往的目的地。通过对IP地址的判断即可判断出该数据包是否要经过网关。
步骤S104:将数据包的目标IP地址与网关的IP地址对应的子网掩码进行与运算以确定是否属于相同的子网;
当获取的网关地址仅仅是IP地址时,将待发送数据包的IP地址与网关的IP地址对应的子网掩码进行与运算,通过与运算判断该数据包是内网数据包还是外网数据包,如果相与的结果为本网络地址,则该数据包数据在网关内部传输的数据包,如果相与的结果为外网络地址,则该数据包数据属于发往网关外部的数据包,需要进行过滤。
如前所述,除获得网关的IP地址外,还可以通过网关线程获取网关的MAC地址,当获取的是MAC地址时,则需要通过ARP协议获取待发送数据包IP地址对应的MAC地址,将数据包的MAC地址与网关的MAC地址进行比较以确定是否属于相同的子网;
步骤S105:如果数据包目标地址与网关所在的子网属于相同子网,则按照数据包的目标IP地址或MAC地址发送该数据包;否则,过滤掉该数据包。
如果判断出数据包是在网关所在的子网内传输的数据包,则根据该数据包中的目标地址发送到相应的终端,如果判断出数据包是发向外网的数据包,则过滤掉该数据包。
本实施例提供的技术方案在进行ARP NDIS协议驱动后,创建网关处理线程,通过网关处理线程获取网关的IP地址和/或MAC地址,然后解析待发送数据包得到目标IP地址后,将该IP地址或IP地址对应的MAC地址与网关进行比较以判断是否属于相同的子网,如果不属于相同的子网,则过滤掉该数据包。与现有技术相比,本发明实施例将数据包的过滤操作前移至终端,由于网关子网内的终端数量通常较多,由此分散了网关的过滤任务,大大减轻了网关的工作负荷。而且,通过本发明实施例的技术方案,数据流能进不能出,实现了对终端访问外网的强制管理。此外,由于过滤数据包的任务在本地终端完成,减少了网关所在子网的数据传输量,避免了内网发送堵塞现象。
上述实施例中尽管可以区分出是内网数据包还是外网数据包,并对外网数据包进行过滤。但是,在出现病毒的情况下,比如ARP攻击,该攻击将在本终端内产生大量的数据包,而且这些数据包的地址并非真实地址,由此欺骗网关,从而通向外网。为了避免这种情况,本实施例在进行与网关的地址进行比较前,先进行本地地址的比较,如果两者相同,则说明是由本终端产生的数据包,可以进行下一步的操作。本实施例优选按照如下方式进行:
获得待发送数据包的目标IP地址时还获取该数据包的源IP地址,通过ARP协议获取待发送数据包源IP地址对应的MAC地址,将待发送数据包的源IP地址和对应的MAC地址与终端的IP地址和MAC地址进行比较,如果一致,则进行该数据包与网关是否属于相同子网的判断;否则,过滤掉该数据包。
上述方式可有效避免ARP攻击的出现。
上述实施例中对本地目地、网关地址均与数据包的地址进行比较,在某些情况实际上是重复操作,为了避免这种情况,本发明实施例优选对本地地址与网关地址建立对应关系,这样通过判断其中之一,即可实现另一个的判断,而且,这样可以避免ARP攻击篡改数据包的地址。本发明优选按照如下方式进行:
获得网关的IP地址和MAC地址后,将IP地址与MAC地址存储ARPCache,建立网关的IP地址和MAC地址与终端的IP地址和MAC地址之间的对应关系,则:将待发送数据包的地址与网关和/或终端的IP地址和MAC地址进行比较,如果不一致,过滤掉该数据包。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。

Claims (3)

1.一种内网数据包过滤方法,其特征在于,该方法包括:
终端通过目标字符串协商机制确定ARP NDIS协议驱动;
创建网关处理线程,通过网关处理线程获取网关的IP地址和/或MAC地址;
解析待发送数据包以获取该数据包的目标IP地址;
将数据包的目标IP地址与网关的IP地址对应的子网掩码进行与运算以确定是否属于相同的子网,和/或,通过ARP协议获取待发送数据包目标IP地址对应的目标MAC地址,将数据包的目标MAC地址与网关的MAC地址进行比较以确定是否属于相同的子网;
如果数据包与网关所在的子网属于相同子网,则按照数据包的目标IP地址或MAC地址发送该数据包;否则,过滤掉该数据包。
2.根据权利要求1所述的方法,其特征在于,获得待发送数据包的目标IP地址时还获取该数据包的源IP地址,通过ARP协议获取待发送数据包源IP地址对应的MAC地址,将待发送数据包的源IP地址和对应的MAC地址与终端的IP地址和MAC地址进行比较,如果一致,则进行该数据包与网关是否属于相同子网的判断;否则,过滤掉该数据包。
3.根据权利要求2所述的方法,其特征在于,获得网关的IP地址和MAC地址后,将IP地址与MAC地址存储于ARP Cache,建立网关的IP地址和MAC地址与终端的IP地址和MAC地址之间的对应关系,则:将待发送数据包的地址与网关和/或终端的IP地址和MAC地址进行比较,如果不一致,过滤掉该数据包。
CN2011104333039A 2011-12-21 2011-12-21 一种内网数据包过滤方法 Pending CN102497380A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011104333039A CN102497380A (zh) 2011-12-21 2011-12-21 一种内网数据包过滤方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104333039A CN102497380A (zh) 2011-12-21 2011-12-21 一种内网数据包过滤方法

Publications (1)

Publication Number Publication Date
CN102497380A true CN102497380A (zh) 2012-06-13

Family

ID=46189165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104333039A Pending CN102497380A (zh) 2011-12-21 2011-12-21 一种内网数据包过滤方法

Country Status (1)

Country Link
CN (1) CN102497380A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106067879A (zh) * 2016-06-07 2016-11-02 腾讯科技(深圳)有限公司 信息的检测方法及装置
CN107733930A (zh) * 2013-03-15 2018-02-23 柏思科技有限公司 用于在多个wan网络网关处转发互联网协议(ip)数据包的方法和系统
CN110336836A (zh) * 2019-08-06 2019-10-15 郑州信大捷安信息技术股份有限公司 一种网络过滤服务系统及方法
CN110572394A (zh) * 2019-09-09 2019-12-13 北京风信科技有限公司 访问控制方法及装置
CN113708984A (zh) * 2020-05-20 2021-11-26 中国移动通信集团浙江有限公司 网络质量的检测方法、装置、计算设备及计算机存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101202679A (zh) * 2007-12-06 2008-06-18 中兴通讯股份有限公司 一种防止用户搭建私网的方法
CN101616131A (zh) * 2008-06-24 2009-12-30 重庆广用通信技术有限责任公司 一种防御Arp病毒攻击的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101202679A (zh) * 2007-12-06 2008-06-18 中兴通讯股份有限公司 一种防止用户搭建私网的方法
CN101616131A (zh) * 2008-06-24 2009-12-30 重庆广用通信技术有限责任公司 一种防御Arp病毒攻击的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
许东彬: "基于NDIS中间层驱动的ARP防护实现", 《中国优秀硕士学位论文全文数据库》, no. 8, 15 August 2010 (2010-08-15) *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733930A (zh) * 2013-03-15 2018-02-23 柏思科技有限公司 用于在多个wan网络网关处转发互联网协议(ip)数据包的方法和系统
CN106067879A (zh) * 2016-06-07 2016-11-02 腾讯科技(深圳)有限公司 信息的检测方法及装置
CN106067879B (zh) * 2016-06-07 2019-03-15 腾讯科技(深圳)有限公司 信息的检测方法及装置
CN110336836A (zh) * 2019-08-06 2019-10-15 郑州信大捷安信息技术股份有限公司 一种网络过滤服务系统及方法
CN110572394A (zh) * 2019-09-09 2019-12-13 北京风信科技有限公司 访问控制方法及装置
CN113708984A (zh) * 2020-05-20 2021-11-26 中国移动通信集团浙江有限公司 网络质量的检测方法、装置、计算设备及计算机存储介质
CN113708984B (zh) * 2020-05-20 2023-10-27 中国移动通信集团浙江有限公司 网络质量的检测方法、装置、计算设备及计算机存储介质

Similar Documents

Publication Publication Date Title
EP3198822B1 (en) Computer network packet flow controller
EP3972226A1 (en) Network packet flow controller with extended session management
CN102165741B (zh) 在ipv6网络中用于封锁和搜索主机的方法
CN101247353B (zh) 流老化方法及网络设备
CN101123614B (zh) 一种处理地址解析协议报文的方法及通信装置
CN102055674B (zh) Ip报文及基于该ip报文的信息处理方法及装置
CN102497380A (zh) 一种内网数据包过滤方法
CN103313308B (zh) 一种数据传输方法和设备
CN105099730A (zh) 终端设备、基于终端设备的网络流量统计方法及系统
WO2013120416A1 (en) Path maximum transmission unit learning
CN101902482B (zh) 基于IPv6自动配置实现终端安全准入控制的方法和系统
CN106559302A (zh) 单播隧道建立方法、装置和系统
CN110086798B (zh) 一种基于公共虚拟接口进行通信的方法及装置
CN100542171C (zh) 一种移动IPv6数据穿越状态防火墙的方法
CN101753637A (zh) 防止网络攻击的方法及网络地址转换设备
CN108353022A (zh) 一种数据报文的处理方法、装置及系统
WO2021088813A1 (zh) 报文封装方法及装置、报文解封装方法及装置
CN105052106B (zh) 用于接收和传输互联网协议(ip)数据包的方法和系统
CN104486217A (zh) 跨网络的报文转发方法和设备
CN107277011B (zh) 终端设备的数据分类方法及装置
CN102045260A (zh) 移动IPv6中报文传输方法及UTM设备
CN102907046B (zh) 用于处理消息的方法
CN107528929A (zh) Arp条目的处理方法及装置
CN103036984B (zh) 一种单向流量的检测方法及网络设备
CN100370782C (zh) 一种实现园区网接入IPv6网的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120613