多级路由模式下计算机上网身份识别的方法

文档序号:7709286阅读:292来源:国知局
专利名称:多级路由模式下计算机上网身份识别的方法
技术领域
本发明涉及一种网络信息安全方法。具体地说,涉及一种多级路由模式 下计算机上网身份识别的方法。
背景技术
随着互联网的发展,人们在互联网上从事的行为越来越多,其中一些人 使用互联网进行犯罪活动,网络监管形势严峻。而互联网技术本身的一些特 点又使网络监管的难度加大。举例来说,在局域网中,经常存在多级路由(在
本申请文件中,两级以上路由就净皮称为多级路由),而多级路由的NAT (网 络地址转换)功能可以对外隐藏内部管理的IP地址。这样一来,在对局域 网网络安全审计过程中,审计数据包来源时,只能定位到数据包是由哪台路 由器发送出来的,却无法得知是多级路由下的具体哪一台计算机发送出去 的。
现在判断多台计算机共享上网的方法有三种。第一种是4企查同一 IP地 址的数据包中是否有不同MAC地址(物理地址),如果有则判定为存在共享 上网。该方法存在的问题是,由于硬件路由器具有MT功能将转换MAC地址, 导致无法进行判断。第二种是通过SNMP (简单网络管理协议)功能来发现, 通过向路由器发送相应的命令请求,路由器会返回其下面的计算机的MAC地 址。该方法存在的问题是,绝大多数的低端路由器不支持S賜P协议,因此 对于低端路由器无法用此方法判断。第三种是通过监测并发的端口数,如果 并发的端口数多于设定数就判定为共享。该方法存在的问题是,判断方法不 是很准确,存在误判的情形,例如连续按几次计算机键盘上的F5刷新键就 会被认为是共享。本文中,IP是英文Internet Protocol的缩写,意为国际互耳关网结^ 通讯协定。ID是英文IDentity的缩写,意为身份标识号码,在本申请 文件中为区分不同终端计算才几的标识号码。NDIS是英文Network Driver Interface Specif ication的缩写,意为网绍 驱动4妄口头见范。NDIS的主 要目的就是为网络接口卡制定出标准的应用程序编程接口 (API)。

发明内容
为此,本发明要解决现有技术不能监控多级路由器下的计算机上网行 为、不能识别多级路由器下的计算机上网身份的技术问题,提出一种多级路 由模式下计算机上网身份识别的方法。
为解决上述技术问题,本发明的一种多级路由模式下计算机上网身份识 别的方法,包括以下步骤
① 对多级路由模式下的计算机安装监测模块,所述监测模块用于截获所 在计算机向外发出的所有上行数据包,并对所述上行数据包的IP协议头进行 修改,所述修改是将一个独一无二的ID附加到IP协议头的附加字段中,形 成附带所述ID的上行数据包;
② 所述监测模块将所在计算机的MAC信息和所述ID发送给与一级路由器 相连的监控主机;
③ 所述监控主机以旁路监听或网关模式拦截所述一级路由器向外发送的 所有所述附带所述ID的上行数据包,并对所述附带所述ID的上行数据包进 行解析,获得所述ID;
④ 所述监控主机才艮据所述ID与所述计算^/L的MAC信息的对应关系,记录 所述附带所述ID的上行数据包的来源。
所述ID由所述监测模块产生。
在步骤③中所述旁路监听是通过在所述一级路由器上做镜像端口 ,所述镜像端口用于复制所有的经过所述一级路由器的数据包。
在步骤③中所述网关模式是通过所述监控主机开启网关功能替代所述一 级^^由器的网关功能。
所述监测模块中包含有NDIS驱动。
在步骤①之前还包括判断计算机是否安装有安装监测模块,如果没有安 装则进行提示并阻断该计算机的网络连接。
本发明的上述技术方案相比现有技术具有以下优点第一,本发明能够 对存在多级路由的计算机网络进行网络安全审计,能够精确定位数据包来源 于哪一台计算机,从而实现审计结果与终端计算机关联。第二,本发明的识 别精度高,不会存在误判断或者漏判断。


为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施 例并结合附图,对本发明作进一步详细的说明,其中 图l是本发明的网络结构示意图; 图2是本发明的流程图。
图中附图标记表示为1-一级路由器,2-二级路由器,3-监控主机,4-第一网络交换机,5-终端计算机、6-第二网络交换机。
具体实施例方式
如图l所示,本发明应用到具有二级路由的计算机网络中,所述具有二 级路由的计算机网络包括一级路由器1,分别与所述一级路由器1相连的监 控主机3、 二级路由器2和网络交换机4,所述二级路由器2还连接有终端 计算机5和第二网络交换机6,所述第一网络交换机1和所述第二网络交换 机6分别连接有所述终端计算机5。所述具有二级路由的计算机网络内的所 有所述终端计算机5的所有数据包都要经过所述一级路由器1,这样所述终 端计算机5才能与Internet (因特网)连接。如图2所示,本发明的多级路由模式下计算机上网身份识别的方法具体 实现步骤如下所述监控主机3判断所述终端计算机5上是否安装有监测模 块,方法是所述监控主机3在所述一级路由器1处以旁路监听或者网关模式 拦截所有发送到Internet上的上行数据包,并对所述上行数据包进行解析, 获得所述上行数据包的IP协议头中的附加字段信息,如果所述附加字段不 包含内容或者所含内容不能为所述监控主机3识别则认为所述终端计算机5 没有安装所述监测模块,所述监控主机3会给该所述终端计算机5返回链接 提示用户需要进行安装监测模块,同时为了网络安全审计的需要阻断该所述 终端计算机5的网络连接直到该所述终端计算机5安装所述监测模块。所述 阻断该所述终端计算机5的网络连接是通过监听到的TCP连接信息组装一个 伪造的带有RST标志的TCP数据包并直接发送到链路层,该所述终端计算机 5收到所述伪造的带有RST标志的TCP数据包后就会自动断开TCP连接。如 果所述附加字段内包含有内容且能为所述监控主机3识别则认为所述终端 计算机5安装有所述监测模块。所述监测模块能够产生一个能被所述监控主 才几3识别的独一无二的ID,所述ID是GUID (全^t唯一标识符),是一个 32字节的字符串,例如"EF41A66B25E146B2964BE4F70534807F"。所述监 测才莫块生成所述ID的具体的方法是,所述监测才莫块调用windows的API函 数——"Create GUID"函数就会自动生成一个所述GUID。所述监测冲莫块内 含有NDIS驱动,所有经过所述终端计算机5上的本地网卡的数据包都会从 所述NDIS驱动流过,所述NDIS驱动的作用是截获所在所述终端计算才几5向 外发出的所有上行数据包,并对所述上行数据包的IP协议头进行修改,所 述修改是将所述ID附加到所述IP协议头的附加字段中,然后修改所述IP 协议头的校验码,使被修改后的所述IP协议头符合TCP/IP协议的规定,从 而形成附带所述ID的上行数据包。所述监测才莫块调用windows提供的API 函数"SendARP"等,获取所述终端计算机5的MAC地址信息,然后所述监 测模块立刻向所述监控主机3报告所述终端计算机5的所述MAC地址信息和 所述ID的对应情况,所述监控主机3将该对应情况与已有的记录进行判断, 看是否重复,不重复的情况下会记录到所述监控主机3的数据库中便于查询使用。所述附带所述ID的上行数据包先后经过所述二级路由器2和所述一 级; 各由器1,所述终端计算机5的IP地址信息和MAC信息,皮所述二级;洛由 器2的NAT功能给替换成所述二级路由器2的广域网IP地址信息和MAC信 息。所述监控主机3在所述一级路由器1处以旁路监听或者网关模式拦截所 有所述附带所述ID的上行数据包并进行解析,所述监控主机3根据提取的 所述ID以及所述MAC信息确定所述终端计算机5,并记录下所述ID对应的 所述终端计算才几5的上网行为。
所述解析的过程是按照TCP/IP协议模型的规定,由以太网协议、IP协 议、TCP协议、HTTP协议由下到上, 一层一层的解析。具体过程为从捕获 的数据包所在内存地址截取14个字节,这14个字节是以太网协议头,其中 6个字节为发送方的MAC地址,6个字节为接收方的MAC地址,1个字节是 协议类型信息,根据所述协议类型信息判断是否是IP协议,如果是IP协议 那么就继续截取IP协议头,然后获取所述IP协议头信息中的校验码,根据 所述校验码计算出附加段长度,如果计算结果为G就说明不存在所述附加 段,即数据包是一个无附加段信息的数据包,也就意味着所述终端计算机5 没有安装所述监测模块;如果计算结果不为G就说明存在有附加段,截取所 述附加段内的32个字节即获得所述ID。
所述旁路监听是指在所述一级路由器1上做一个镜像端口 ,做所述镜像 端口的目的是把所有流经所述一级路由器1的上行数据包拷贝一份到所述 镜像端口 ,所述监控主机3连接到所述镜像端口后就能收到处于所述一级路 由器1下的所有终端计算机5的数据包。所述网关模式是将所述一级路由器 l的网关功能关闭,将所述一级路由器l串联到所述监控主机3下面,所述 监控主机3开启网关功能,这样所有所述终端计算机5的上行数据包必须流 经所述监控主机3才能发送到Internet上,这样也能够实现对所述终端计 算机5的上行数据包的捕获。
当然本发明的方法也可以应用在具有三级路由的计算机网络中,所述具 有三级路由的计算机网络是指不仅包含有所述一级路由器1和所述二级路 由器2,而且与所述二级; 各由器2相连的还有三级if各由器,/人结构层次上讲所述三级3各由器位于所述二级路由器2的下面,所述二级路由器2位于所述
一级路由器1的下面。所述监控主4几3仍然是与所述一级i 各由器1相连,所 述监测模块仍然是安装到各个所述终端计算机5。本发明的方法应用在具有 三级路由的计算机网络与应用在具有二级路由的计算机网络不同之处只是 在于网络结构不同,所述终端计算机5的上行数据包流经的路由器的数量不 同,方法本身没有变化,达到的效果是一样,都能精确定位数据包来源于哪 一台所述终端计算机5。同样的道理,本发明的方法也可以应用在具有四级 路由甚至更多路由的计算机网络中实现计算机上网身份的识别。
本发明的方法可以用于大型网络环境,如集团企业、大中型院校等。本 发明的多级路由模式下计算机上网身份识别的方法识别精度高,不会存在误 判断和漏判断。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式 的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做 出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷 举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围 之中。
权利要求
1.一种多级路由模式下计算机上网身份识别的方法,其特征在于包括以下步骤①对多级路由模式下的计算机安装监测模块,所述监测模块用于截获所在计算机向外发出的所有上行数据包,并对所述上行数据包的IP协议头进行修改,所述修改是将一个独一无二的ID附加到IP协议头的附加字段中,形成附带所述ID的上行数据包;②所述监测模块将所在计算机的MAC信息和所述ID发送给与一级路由器相连的监控主机;③所述监控主机以旁路监听或网关模式拦截所述一级路由器向外发送的所有所述附带所述ID的上行数据包,并对所述附带所述ID的上行数据包进行解析,获得所述ID;④所述监控主机根据所述ID与所述计算机的MAC信息的对应关系,记录所述附带所述ID的上行数据包的来源。
2. 根据权利要求1所述的多级路由模式下计算机上网身份识别的方法, 其特征在于所述ID由所述监测模块产生。
3. 根据权利要求1所述的多级路由模式下计算机上网身份识别的方法, 其特征在于在步骤③中所述旁路监听是通过在所述一级路由器上做镜像端 口,所述镜像端口用于复制所有的经过所述一级路由器的数据包。
4. 根据权利要求1所述的多级路由模式下计算机上网身份识别的方法, 其特征在于在步骤③中所述网关模式是通过所述监控主机开启网关功能替 代所述一级路由器的网关功能。
5. 根据权利要求1至4任一所述的多级路由模式下计算机上网身份识 别的方法,其特征在于所述监测模块中包含有NDIS驱动。
6. 根据权利要求1至4任一所述的多级路由模式下计算机上网身份识 别的方法,其特征在于在步骤①之前还包括判断计算机是否安装有安装监 测模块,如果没有安装则进行提示并阻断该计算机的网络连接。
全文摘要
一种多级路由模式下计算机上网身份识别的方法,解决了现有技术不能定位多级路由下计算机的数据包来源的问题。特别适用于具有多级路由的计算机网络安全审计。本发明的方法识别精度高,不会存在误判断或者漏判断。
文档编号H04L9/36GK101582771SQ200910148738
公开日2009年11月18日 申请日期2009年7月2日 优先权日2009年7月2日
发明者孙伟力, 师以贺, 李秀元 申请人:济宁盛世光明软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1