监视互联网通信的方法

文档序号:7645230阅读:351来源:国知局
专利名称:监视互联网通信的方法
背景技术
本发明涉及用于通过分析从中通过的数据来使得能够监视和监控网络的方法和系统。
大量的业务正在通过当今的计算机网络,但是并非所有的业务都是无害的。因此,一个给定网络的拥有者或管理员可能对于能够实时跟踪或“监听”,以便有效地监控和/或保护网络非常感兴趣。可以通过将一个探测器连接到网络以监控网络上多个节点(例如用户工作站)中的两个之间通过的数据来实现这种监控或监视。
在其中两个节点之间的通信是以离散分组形式的系统中,网络探测器能够“读出”一个数据分组,以收集如关于分组的源和目的地址或分组的协议的信息。此外,可以计算统计和相关信息,如在一个给定时间段中一个确定协议类型的业务量的总数或平均数,或者被发送到或来自一个节点的分组的总数。该信息可以被实时地报告给系统管理者,或者被存储以便后来分析。
在这方面已经进行了各种尝试。例如,美国林肯郡,III的清晰(Clear)通信公司的软件程序“清晰观察网络视窗(Clear ViewNetwork Window)”声明提供预测/主动的维护、智能根源分析以及质量验证报告。不过,输出为网络故障管理设计,其与“窃听”在网络中的两个节点之间的通信不同。这样,清晰观察系统不允许关于内容或特性来监视网络中两个节点之间传送的数据。
美国加利福尼亚州利物摩尔(Livermore)的利物摩尔国家实验室开发了一组计算机程序,用于通过“测错”通过一个局域网的数据分组来保护美国能源局的计算机。美国国家和宇宙航行局使用了这些程序中的一个,称作“iWatch”程序,以窃听闯入美国国防部和NASA的计算机系统的一个可以计算机黑客的通信。iWatch程序使用一个网络探测器来读出通过一个网络的所有分组,然后将该信息“存储”到一个公共数据库中。然后,可以写入一个简单的计算机程序来读一遍所存储的数据,并只显示预定义的“有趣的”各条信息。
每当找到一条有趣的信息时,所存储的信息就被重新扫描,并且位于“有趣的”信息两端的特定数量的字符被报告。然后,这些有趣的字符被再观察,以便确定消息的内容并用作将来监控活动的指南。
该系统被限制为用户活动的历史分析,并且不能使得完成所有用户活动的“窃听”以及用户网上冲浪活动的完整仿真。
在获取连续和可靠跟踪方面遇到了三个主要问题(a)各浏览器没有报告对于一个网服务器执行的所有活动。例如,当一个浏览器从其浏览器高速缓存空间或从一个代理服务器加载网页时,它没有通过电脑空间将请求发送到任何“远程”网服务器;(b)被设计来由一个厂商的网服务器执行确定特性的应用程序通常与另一个厂商制造的那些不兼容,因为浏览器接口机制是不同的,并且对于其中的每一个都是专有的;以及(c)各浏览器以非系统顺序来将它们的请求发送到网服务器。换句话说,关于一个给定的网服务器,在前的请求与一个后来的请求没有关系。在请求的处理中,网站没有对于请求序列的控制。
在克服这些问题的尝试中,美国专利No.5,951,643指出了用于可信任地组织和管理用于网同步和在多个消费者浏览器中跟踪的信息的一个机制。
不过,该解决方案被限制为跟踪同意被“窃听”和愿意合作并连接到具有指定应用的主机的确定用户的活动。
因此,本发明的主要目的是提供一种使得网络通信厂商能够窃听连接到网络上的任何用户的监控和监视方法以及系统。
本发明的另一个目的是提供使得网络通信厂商能够在进行网络通信时实时监视所有用户的活动的窃听方法。
本发明的另一个目的是使得网站拥有者能够监控和窃听联系其网站的用户。

发明内容
根据本发明,提供了一种由网络探测器终端(“终端代理”)仿真一个给定终端的浏览器(“初始浏览器”)活动来跟踪网络通信线的方法,该方法包括步骤接入网络通信线,跟踪路由通过该通信线的TCP/IP数据分组,选择涉及一个给定IP地址的TCP/IP数据分组;(“所识别的数据分组”),从所识别的数据分组中选择对于新连接的当前请求(“初始请求”),从所识别的数据分组中选择指示新地址的当前网页组件(“新导航组件”),将新导航组件划分成为两类,嵌入对象或帧(“错误新组件”)、超级链接(“正确的新组件”),将初始请求划分成为与正确的新组件相匹配的初始请求、不与任何新连接组件匹配并属于作为“主要请求”的HTTP或POST类型的初始请求、与作为“次要请求”的错误组件匹配的初始请求,从所识别的数据分组中选择涉及主要请求的HTML数据文件;(“各自的主要响应”),根据各自次要响应生成“虚拟”次要请求,从所识别的数据分组中选择涉及次要虚拟请求的响应,(“各自的次要响应”)并根据各自的次要响应来仿真终端代理上的网页呈现。


通过参考附图来举例描述几个优选实施例,可以更清楚地理解本发明的这些以及其它特征和优点,其中图1说明一个其中可以实现本发明的典型网络配置;图2说明终端代理的操作方案;图3说明跟踪和识别TCP/IP数据分组的过程;图4是对TCP/IP请求分类的流程图;图5是仿真虚拟次要TCP/IP请求的创建的流程图;以及图6说明仿真初始浏览器活动的过程。
优选实施例详述讨论图1,假设终端01,02…连接到相同的通信线,其中通信线被用作内部网(“内联网”)或者诸如互联网的外部网。根据本发明,建议将一个指定的网络探测器(后文称作“终端代理”)连接到数据通信线。可替代地,终端01、02等以及终端代理可以连接到不同的数据通信线或者位于不同的本地网。
终端代理操作的一般方案如图2所示。
终端代理面临通过通信线的所有数据帧。这些数据帧含有在终端之间传送的信息或者到诸如互联网服务器的外部源的外部数据传送。
再假设诸如ISP或私人组织的网络的数据通信线的“拥有者”对于实时监视一个给定终端在互联网上冲浪时的实际通信活动感兴趣。
终端代理的操作首先是分析数据帧以跟踪TCP/IP数据分组。如图3所示,数据分析被根据不同的协议层次(见互联网协议的RFC0793)来处理,即首先分析本地网协议,过滤外部数据传输(“网关级”),然后识别互联网协议(IP)数据帧,并最终检测“主机级”的TCP(“传输控制协议”)数据分组。
一旦分析了数据分组的IP头,请求终端以及消息目的地的IP地址就被识别。通信线的拥有者能够容易地将IP地址与用户终端相关。因此,可能滤出所有其它不相关的数据分组,并进一步限制一个所选择终端的数据(后文称作“所识别的数据分组”)传输的处理。
所识别的数据分组还被根据使得能够对于数据通信端口的完全管理和控制的RFC079规范处理。
根据已知的管理TCP数据通信端口的例程,如诸如互联网探测器(Inter Explorer)的传统浏览器所处理的,操作浏览器的终端是所有数据传输的初始源。例如,假设终端发出对于YAHOO!主页的请求,该请求通过网络被分发到YAHOO!服务器。作为响应,服务器发送一个含有YAHOO主页组件的HTML数据文件。因此,浏览器通过打开新的通信“虚拟”端口来发送对于接收网页所有组件的新请求,其中每个端口用于发送相同网页的不同组件。面临所有数据请求和各自响应的一个“外来者”终端无法在例如请求完整YAHOO!主页的初始“主要”请求和用于接收其组件的“次要”请求之间进行区分。为了由一个“外来者”探测器终端仿真初始浏览器的活动,本质上是同样识别主要请求。
图4说明从次要请求中区分主要请求的过程。主要请求来自于不同操作,如由用户输入一个新的URL,选择一个超级链接等。因此,为了检测相同的一个,必须分析发送到相同IP地址的先前信息。由终端接收的网页的所有新导航组件(寻址浏览器到新位置)被根据它们的类型来分类,所有嵌入对象、帧等被标记为“错误”组件,而超级链接被标记为“正确”组件。所有数据都被存储到进入缓冲区响应数据库中以备后来使用。
当根据TCP分析来识别对于新连接的请求时,根据进入响应缓冲区中的各自导航组件(RNC)检查该请求。如果RNC被标记为“错误”,则该请求被忽略;如果RNC被标记为“正确”,则该请求被分类为主要的;否则,如果没有涉及所述请求的RNC,则连接类型应当被识别。如果连接是HTML类型或“记入(post)”类型,则它被分类成为主要请求。
为了观察和监控一个终端的活动,所有“初始”浏览器活动必须被重建。为此,建议使用一个“虚拟”浏览器。该虚拟浏览器拥有一个“实际”浏览器的所有功能,以从互联网上实时下载网页。不过,其与互联网的连接是虚拟的,因为没有执行与互联网服务器的实际数据交换,而只是仿真初始“实际的”浏览器的活动。
图5示出了虚拟浏览器的第一功能。该浏览器正在接收“实际的”浏览器的所有主要请求。这些主要请求和来自互联网的各自主要响应被根据传统的浏览器操作分析和处理。不过,次要虚拟请求(在传统的浏览器中用于完成下载网页组件的过程)的结果不象通常一样被直接传送通过互联网到恰当的服务器,而是存储在虚拟“次要”请求缓冲区数据库中。
尽管虚拟浏览器连接不是“实际的”,但是打开和控制端口连接的所有TCP协议管理都由终端代理来处理,就好像这些连接是“实际的”一样。
在虚拟浏览器上仿真和呈现网页的最终过程进一步如图6所示。所有经过通信线的初始次要响应都在进入响应缓冲区数据库中被分析和记录。虚拟请求被按照它们的到达顺序与存储在进入响应缓冲区数据库中的各自次要响应相比较。如果各自的次要响应已经在缓冲区中,则这些响应被传送到虚拟浏览器中并被处理(根据传统的浏览器操作)以呈现各自网页组件的可视图片。结果,终端代理实时仿真下载互联网网页的精确过程,由于它已经由初始终端执行。
如果各自的响应不出现在进入响应缓冲区数据库中,则初始本地高速缓存的活动被推论。如果初始本地高速缓存没有被关于所述虚拟请求使用,则它被在缓存数据库中暂停执行,直到初始次要的各自响应到达为止。否则,如果实际的本地高速缓存被用于涉及该响应,则虚拟浏览器的本地高速缓存被检查,并且如果各自的次要响应在本地高速缓存中,则各自的响应被传送到虚拟浏览器并如上所述被处理。如果各自的响应不在虚拟高速缓存中,则可以应用以下任何一个替代方案。根据一个替代方案,即终端代理的“被动”方案,不采取进一步的动作来找到“缺少的”响应,并且一个“错误”消息将代替出现在实际终端上的网页组件出现在代理终端上。根据该方案,实际终端的仿真没有完成,但是窃听活动是无法察觉的。根据另一个方案,即“主动”方案,终端代理寻址网页服务器以请求“缺少的”响应。尽管该方案使得终端代理能够呈现实际主动活动的更精确图片,但是它对于能够检测窃听活动的更有经验的终端用户是可跟踪的。
根据本发明的另一个实现模式,建议不仅窃听相关的网页数据分组,还窃听相关的消息数据分组,如电子邮件或聊天。网络启动这种窃听,与上述相同的方法和原则被应用于对于通过为了接收和发送消息的请求中,而不是对于网页的请求中。分析这种请求和各自响应的过程是更加流水线型的,因为不需要检查高速缓存存储器活动,因为通过定义,这种信息总是新的。
最后,应当理解,上述实施例是针对互联网通信环境的。不过,本发明广义上同样通常可以应用于计算机化的网络通信中,如卫星、蜂窝等。
尽管上面的描述含有许多特性,但是它们并不是对本发明范围的限制,而是作为优选实施例的范例。本领域的技术人员可以想象其它可能的变化也在本发明的范围内。因此,本发明的范围不仅应当由所说明的实施例确定,还由附加的权利要求以及它们的合法等价物确定。
权利要求
1.一种通过网络探测器终端(“终端代理”)仿真一个给定终端的浏览器(“初始浏览器”)活动来跟踪网络通信线的方法,该方法包括步骤I.接入网络通信线;II.跟踪通过通信线路由的TCP/IP数据分组;III.选择涉及一个给定IP地址的TCP/IP数据分组(“所识别的数据分组”);IV.从所识别的数据分组中选择对于新连接的当前请求(“初始请求”);V.从所识别的数据分组中选择指示新地址的当前网页组件(“新导航组件”);VI.将新导航组件划分成为两类(f1)嵌入对象或帧(“错误的新组件”);(f2)超级链接(“正确的新组件”);VII.根据下列原则将初始请求分别划分成为“主要”或“次要”请求(g1)初始请求与正确的新组件相匹配,或者初始请求不能与任何新连接组件相匹配并属于HTTP或POST类型;(g2)初始请求与错误组件相匹配或者初始请求不与任何新连接组件相匹配并且不属于HTTP或POST类型;VIII.从所识别的数据分组中选择涉及主要请求的HTML数据文件(“各自的主要响应”);IX.根据各自的次要响应生成“虚拟”的次要请求;X.从所识别的数据分组中选择涉及次要虚拟请求的响应;(“各自的次要响应”);以及XI.根据各自的次要响应仿真终端代理上的网页呈现。
2.根据权利要求1所述的方法,还包括步骤—选择当前与任何各自的初始响应(“未回答的次要请求”)不匹配的虚拟次要请求;—如果初始浏览器本地高速缓存(“初始高速缓存”)被涉及未回答的次要请求使用,则从终端代理的本地高速缓存(“虚拟高速缓存”)中检索内容;—如果虚拟高速缓存含有这种数据,则根据涉及未回答的次要请求的数据来仿真代理终端上的网页呈现;以及—如果虚拟高速缓存不含有涉及未回答次要请求的数据,则在代理终端的各自位置上显示错误消息。
3.根据权利要求2所述的方法,还包括步骤如果虚拟高速缓存不含有数据,则通过通信线寻址到恰当的互联网服务器,以便接收涉及未回答的次要请求的各自被仿真的响应并将其显示。
4.根据权利要求1所述的方法,还包括步骤—从所识别的数据分组中选择涉及如电子邮件的网络消息的数据(“消息数据”);—将消息数据转换成为文本数据文件;以及—在终端代理上显示文本数据文件。
5.根据权利要求1所述的方法,其中网络是局域网(LAN),并且终端连接到扩展的通信线上。
6.根据权利要求1所述的方法,其中通信线是一条外部通信线,例如电话线、ISDN线、光线路等。
7.根据权利要求1所述的方法,其中网络是局域网(LAN),并且终端代理位于不同于给定终端的一个位置。
8.根据权利要求1所述的方法,其中由通信线提供者(ISP)识别给定的IP地址。
9.根据权利要求1所述的方法,其中由通信线拥有者识别给定的IP地址。
10.根据权利要求1所述的方法,其中给定的IP地址是网站访问者的地址并由网站拥有者识别。
11.一种用于跟踪网络通信线并仿真一个给定终端的浏览器(“初始浏览器”)活动的网络探测器终端,包括I.用于接入网络通信线的连接装置;II.用于跟踪路由通过通信线的TCP/IP数据分组的监控装置;III.用于从涉及一个给定IP地址的TCP/IP数据分组(“所识别的数据分组”)中选择新的连接请求(“初始请求”)以及指示新地址(“新导航组件”)的网页组件的第一过滤模块;IV.用于将新的导航组件划分成为两类的第一分类装置;(f1)嵌入对象或帧(“错误的新组件”);(f2)超级链接(“正确的新组件”)V.用于根据下述原则分别将初始请求划分成为“主要”或“次要”请求的第二分类装置(g1)初始请求与正确的新组件相匹配,或者初始请求不能与任何新连接组件相匹配并属于HTTP或POST类型;(g2)初始请求与错误组件相匹配或者初始请求不与任何新连接组件相匹配并且不属于HTTP或POST类型;VI.用于从所识别的数据分组中选择涉及主要请求(“主要响应”)的HTML数据文件的分类模块;VII.用于根据各自的次要响应而创建“虚拟”次要请求的请求生成模块;VIII.用于从所识别的数据分组中选择涉及次要虚拟请求的响应(“次要响应”)的第二过滤模块;以及IX.用于根据次要响应来仿真在终端代理上的网页呈现的显示装置。
12.根据权利要求11的网络探测器终端,其中过滤模块包括用于选择目前与任何各自的初始响应不匹配的虚拟次要请求(“未回答的次要请求”)的装置。
13.根据权利要求11的网络探测器终端,还包括高速缓存模块,用于如果初始浏览器本地高速缓存(“初始高速缓存”)已经被响应于未回答的次要请求而使用,则激活终端代理本地高速缓存。
14.根据权利要求13的网络探测器终端,还包括一个检索模块,用于如果虚拟本地高速缓存不含有数据,则通过通信线寻址到恰当的互联网服务器并且接收涉及未回答的次要请求的各自被仿真的响应。
15.根据权利要求11的网络探测器终端,还包括一个电子消息模块,用于选择涉及如电子邮件的网络消息的所识别的数据分组数据(“消息数据”),将消息数据转换成为文本数据文件,并将文本数据文件显示在终端上。
16.根据权利要求11的网络探测器终端,其中由通信线提供者(ISP)识别给定的IP地址。
17.根据权利要求11的网络探测器终端,其中由通信线拥有者(ISP)识别给定的IP地址。
18.根据权利要求11的网络探测器终端,其中给定的IP地址是网站访问者的地址并由网站拥有者识别。
全文摘要
一种用于跟踪网络通信线并仿真一个给定终端的浏览器活动的网络探测器终端。该探测器终端监控路由通过通信线的TCP/IP数据分组,以过滤涉及一个给定IP地址的相关的请求和响应。这些请求和响应被根据它们的类型和内容分析和分类。基于该分析,探测器终端识别涉及给定终端的导航过程的所有相关数据事务。探测器终端激活仿真所识别的数据事务的处理的虚拟浏览器,以创建类似于给定终端用户所看见的实际导航的导航呈现。
文档编号H04L12/28GK1386355SQ01802155
公开日2002年12月18日 申请日期2001年5月23日 优先权日2000年5月24日
发明者N·阿米特, Y·阿米特, Z·埃亚丹 申请人:索弗特科姆计算机有限公司, 伊克特尔有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1