CN101035035A - 检测主机数量的方法、装置与***及通信方法 - Google Patents
检测主机数量的方法、装置与***及通信方法 Download PDFInfo
- Publication number
- CN101035035A CN101035035A CNA2007100962478A CN200710096247A CN101035035A CN 101035035 A CN101035035 A CN 101035035A CN A2007100962478 A CNA2007100962478 A CN A2007100962478A CN 200710096247 A CN200710096247 A CN 200710096247A CN 101035035 A CN101035035 A CN 101035035A
- Authority
- CN
- China
- Prior art keywords
- main frame
- packet
- timestamp
- content
- monitored main
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种检测方法,该方法包括:截获被监控主机向目的方发送的握手信息;向被监控主机发送带时间戳的握手反馈信息;截获被监控主机反馈的带时间戳的握手确认信息,并从中提取第一关键值;截获目的方向被监控主机发送的握手反馈信息,并从中提取第二关键值;将该握手反馈信息更改为目的方能够正确接收的内容,向目的方发送握手确认信息;截获目的方与被监控主机之间传输的数据包,将数据包中协议部分的内容通过所述的第一或第二关键值更改为被监控主机或目的方能够正确接收的内容,并进行转发;对应于该方法,还提供了一种检测主机数量的装置,该装置包括:截获单元、信息更改单元、发送单元和计算单元。
Description
技术领域
本发明涉及通信领域,尤其涉及一种检测方法、装置与***及通信方法。
背景技术
在网络环境中,NAT(网络地址转换设备)设备完成的是网络地址转换的功能,NAT使得其后面是用虚拟IP地址(例如192.168.10.1)的主机共享一个真实IP地址(所有流经NAT的数据包的IP地址等信息都被改写,例如10.110.255.30)。这是为应对IP地址匮乏而采用的办法,NAT用一个端口号标识其后每个主机的每个网络连接,用来作为中间传递网络数据的依据。
在很多情况下,需要对NAT后的主机数量进行检测,因此就出现了如图1NAT网络结构图。监控设备101是用来监控NAT102后面带了多少个主机;NAT102就是所述的网络地址转换设备;主机103可以代表多台与NAT相连的主机。然而NAT的特性使得从经过NAT的数据包中很难观察到NAT后主机的信息,从而使得对NAT后的主机数量进行统计变得十分困难。
为了能够方便用户对NAT设备后的主机数量进行统计,目前大多是通过获取时间戳的来判断NAT设备后的主机数量的方法。
这种方法是利用TCP(Transmission Control Protocol,传输控制协议)数据包中的时间戳选项为技术基础,论证了每台主机在单位时间内的与绝对标准时间计时误差是互不相同的,从而利用这一特点作为识别某个主机的“指纹”,而且根据该技术的报告,该方法所实现的技术不受网络时延、接入方式等的影响,判断准确度高。
但是由于在Windows操作***的主机上,不会主动发出带有tcp时间戳的数据包,所以需要有一种方法对主机进行诱导,使其发出带有时间戳的数据包。
目前是当被监控主机开始向目的方启动tcp三次握手时,处于通信双方的中间位置的监控设备冒充目的IP给被监控主机发送一个带有时间戳的SYN,ACK包(这两个数值是TCP协议中的二个字段,通信双方各有一对这个数值,主要是为了使通信双方能够以正确的顺序重组数据包,并且也能够依据这两个字段判断是否为真正到达目的方,这两个字段的内容变化在TCP协议中有具体规定内容),当源IP设备收到这个假的SYN,ACK包之后,会回复一个带有时间戳的ack包,从而获得被监控主机的时间戳。其具体过程在被监控主机A、目的方B与监控方C三者之间进行,参见图2所示:
步骤201:被监控主机A向目的方B发送SYN包,但是在传输过程中被监控方C截获(但不必影响数据包正确到达接收方);其SYN包中携带的seq值为被监控主机A的seq值x,ack为初始值0。
步骤202:监控方C在截获SYN包后,向被监控方A反馈一个带时间戳的SYN,ACK包。该SYN,ACK包中携带的seq为监控方C的seqy,ack为根据获得的被监控主机A向目的方B的seq+1;
步骤203:被监控主机A在收到C冒充B反馈的该带时间戳的SYN,ACK包后,向目的方B回复一个带时间戳的ACK包用来完成三次握手的建立,该ACK包中携带的ack为根据收到监控方C的SYN,ACK包中的seq变化。因此回复的ACK包中携带的seq为x+1;ack为y+1;但是该ACK包被监控方C截获,因此监控方C获得时间戳。
步骤204:目的方B由于也收到了被监控主机A在步骤1中发送的SYN包,因此向被监控主机A反馈一个SYN,ACK包,该包中seq为目的方B自己的seq值Z,ack为x+1;但是对于被监控主机A来说在步骤202中已经收到了seq:y、ack:seq+1的SYN,ACK包,在核对过程中,就会认为目的方B发送的SYN,ACK包是不合法的,因此被监控主机A始终都会将目的方B发送来的SNY,ACK包丢弃。
如上图所示的过程,在获得时间戳之后,因为监控方C假冒目的方B给被监控主机A发出的SYN,ACK包中的seq值和B真正给A回的应答包中的seq值(随机选取的)不可能一致,正因为这一关键点,所以实际上被监控主机A和目的方B并无法建立正确的连接,所以被监控主机A最终会进入等待状态(等待目的方B的响应),而目的方B会持续的给被监控主机A发送SYN,ACK包,因为这一数据包和被监控主机A早先接收的监控方C发送的SYN,ACK包seq值不同,所以始终不会被A接收,最后导致A发起的这次连接因为超时退出。导致连接中断。
综上所述,现有技术存在以下缺点:
1、该方案可能导致被监控主机和目的方之间通讯中断:虽然获得了被监控主机A发送的时间戳,能够通过时间戳判断NAT后有多少台主机,但是由于监控方C假冒目的方B发送SYN,ACK包,使得被监控主机A与目的方B还没有完成tcp三次握手,即还没有完成连接二者之间的通讯就已经中断了,会使得被监测主机A的用户明显感觉到网络服务质量降低。
2、只能获得一个时间戳:由于二者之间的通讯中断,导致监控方也只能获得一个时间戳,当需要通过时间戳获得更加精确的判断主机特性时,没有办法再获得更多的时间戳。
发明内容
本发明的实施例的目的在于:在不影响通信方通信的情况下,检测主机数量。
本发明实施例是通过下述方案实现的:截获被监控主机向目的方发送的握手信息;向被监控主机发送带时间戳的握手反馈信息;截获被监控主机反馈的带时间戳的握手确认信息,并从中提取第一关键值;
截获目的方向被监控主机发送的握手反馈信息,并从中提取第二关键值;将该握手反馈信息更改为目的方能够正确接收的内容,向目的方发送握手确认信息;
截获目的方发送的数据包时,将数据包中协议部分的内容通过所述的第二关键值更改为被监控主机能够正确接收的内容,并进行转发;或截获被监控主机发送的数据包时,将数据包中协议部分的内容通过第一关键值更改为目的方能够正确接收的内容,并进行转发;
监控方通过获取的时间戳统计主机数量。
对应于上述方法,本发明实施例提供了一种检测主机数量的装置,该装置包括:
截获单元包括信息截获单元,用于截获被监控主机向目的方发送的握手信息,并从中提取第一关键值;截获目的方向被监控主机反馈的握手反馈信息,并获取第二关键值;截获被监控主机向目的方发送的携带有时间戳的握手确认信息;截获目的方与被监控主机之间传输的数据包;
信息更改单元包括关键值单元,用于在截获目的方向被监控主机发送握手反馈信息时,将握手反馈信息中的关键值修改为目的方能够正确接收的内容;用于在截获目的方发送的数据包时,将数据包的协议部分的内容通过所述的第二关键值更改为被监控主机能够正确接收的内容,或者在截获被监控主机发送的数据包时,将数据包的协议部分的内容通过所述的第一关键值更改为目的方能够正确接收的内容;
发送单元:用于向被监控主机发送握手反馈信息,向目的方发送截获并修改后得握手确认信息;向目的方发送修改过关键值的数据包,、向被监控方发送修改过关键值的数据包;
计算单元,用于在截获携带有时间戳的握手信息后,通过时间戳判断主机存在的数量。
在上述方法与装置的基础上,本发明实施例还提供了一种检测主机数量的***,该***包括:
被监控主机,用于向目的方发送握手信息,接收携带有时间戳的反馈握手信息;向目的方反馈带时间戳的握手信息;向目的方发送数据包;
监控方,用于截获被监控主机向目的方发送的握手信息,并从中提取第一关键值;向被监控主机发送带时间戳的握手反馈信息;截获被监控主机反馈的带时间戳的握手确认信息;截获目的方向被监控主机发送的握手反馈信息并从中提取第二关键值,将该握手信息的内容更改为满足目的方需要的内容,并向目的方发送更改过内容的握手确认信息;截获目的方向被监控主机发送的数据包,将数据包中的协议部分的内容通过所述的第二关键值更改为被监控主机能够正确接收的内容,并进行转发;截获被监控主机向目的方发送的数据包,将数据包中的协议部分的内容通过所述的第一关键值更改为目的方能够正确接收的内容,并进行转发;通过获取的时间戳判断出主机存在的数量;
目的方,用于向被监控主机反馈握手信息,接收被监控主机反馈的带时间戳的握手信息,向被监控主机发送数据包。
依据本发明实施例,通过监控方截获通信双方的握手数据包,并从中提取建立连接所必需的相关信息(seq、ack值等),继而利用这些信息通过修改数据包相关内容的方式在通信双方中来回转发数据,使得通信双方的握手能在监控方的中转之下完成;进而监控方还在被监控主机与目的方进行数据通信时截获其互相发送的数据,修改为目的方或被监控主机能够接收的数据包,完成不间断的数据传输业务。
附图说明
图1为NAT网络结构图;
图2为现有技术监控方获取时间戳方法信令图;
图3为本发明实施例1监控方获取时间戳方法流程图;
图4为通过时间戳判断主机数量的方法1;
图5为通过时间戳判断主机数量的方法2;
图6为本发明实施例1监控方获取时间戳方法信令图;
图7为本发明实施例2监控方获取时间戳方法信令图;
图8为本发明实施例3获取时间戳装置图;
图9为本发明实施例4获取时间戳装置图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,首先先介绍一下几个基本的概念。
1、时间戳:本文中的时间戳指的是TCP协议规定的在TCP数据包携带的一个数值,其数值是一个从主机开机时刻到某时刻的计数值(该值在windows***中,每100ms计数加1),该数值只取决于主机开机时间,不取决于其他因素。
2、seq值和ack值:
这两个数值是TCP协议中的二个字段,通信双方各有一对这个数值,主要是为了使通信双方能够以正确的顺序重组数据包。
分组网络数据传输是通过如下方法实现的:将一个完整的数据切分成小块,发送方把每个小块放到数据包里,并将数据包发送给接收方,接收方依据接收到的数据包的顺序,将每个数据小块提取出来,然后进行重组,最后重组成原来的完整的数据。
但是,因为数据包在网络上传送时,会有很多不确定的因素导致数据包的延迟和丢失,因此接收方有相当的可能性是,接收到的数据包的顺序已经被打乱了,或者其中的一些数据包就丢失了,因此需要一种机制,在出现这些情况的时候及时地发现,发现之后再把丢失的数据重传,或者接收方把乱序的数据包重组。
seq值在会话的初始由通信双方随机产生,并以此随机数作为初始值,通信方A将此一数值包含自数据包中发送给另一方B,B在接收到数据包后,提取出该数值,并计算该数据包的负载长度(数据包中去掉协议字段剩下的实际数据的长度),最后将该数值与负载长度相加赋值给ack,连同自己的seq值一同发送给A,A通过收到的ack判断B是否正确的接收了数据,并以同样的方式计算ack,将ack和seq发送给B,以此类推,从而保证了数据的连续性。
当然,在实际的网络传送中有个特殊的规定,就是在连接建立过程中,A和B之间的ack值要加1,虽然这时并没有数据传送。在数据开始传送之后,如果数据包中没有数据(数据包是由协议部分+数据部分组成的,有的数据包中只有协议),那么ack值就不加。
下面将结合附图对本发明作进一步的详细描述。
本发明实施例1,监控方截获被监控主机向目的方发送的握手信息,并冒充目的方B向被监控主机发送握手应答包SYN,ACK,并截获B发给A的SYN,ACK包并获取相关的数值,最后冒充A给B发送握手确认信息ACK包,从而完成整个握手连接。随后监控方在被监控主机与目的方进行数据传输时截获数据包,并且更改数据包协议部分的内容满足目的方与被监控主机的需要,从而使得被监控主机与目的方连续的进行输出传输。
参见图3,
步骤301:监控方截获被监控主机向目的方发送的握手信息(SYN),并记下其中的seq值用来以后转发被监控主机与目的方之间传输的数据;
步骤302:监控方向被监控主机发送带时间戳的握手反馈信息(SYN,ACK);
步骤303:监控方截获被监控主机反馈的带时间戳的握手确认信息(ACK);
步骤304:监控方截获目的方接收被监控主机发送的握手信息后向被监控主机发送的握手反馈信息,并记下其中的seq值用来以后转发被监控主机与目的方之间传输的数据;
步骤305:监控方按照步骤304截获的目的方发送的握手反馈信息中的seq值对步骤303中获得的ACK数据包进行修改,并冒充被监控方发送给目的方;
步骤306:监控方截获目的方与被监控主机传输的数据,将数据包协议部分的内容更改为被监控主机或目的方能正确接收的内容,并进行转发;
步骤307:监控方通过截获的时间戳判断主机的数量。
步骤307中所述的监控方通过截获的时间戳判断主机的数量的方法可以采用现有技术的中根据时间戳判断主机的数量的方法,可以简单的描述成如下方式:
1、较简单的方式,我们假设现在有4台电脑共享上网,参见图4,并假设这4台电脑的开机时间分别为8:00、8:15、8:30、9:00,4条粗体线表示4台电脑上网的时间轨迹,在8:00的时候,A开机,时间戳计数器开始从0开始计数,假设8:10分A开始上网,监控设备获取到A的时间戳,这时时间戳应该是10(分钟)*60(秒/分钟)*10(100ms增1,1秒=10ms)=6000,监控设备记录这一数值。
8:15分,B开机,假设8:20分B开始上网,监控设备获取到B的时间戳,这时B的时间戳应该是5*60*10=3000,而依据上次获得的A的时间戳的数值,可以推断出目前的A的时间戳应该是20*60*10=12000,所以很容易可以判断是两台主机。
同理C和D上线之后可以判断出一共是4台主机。
2、另外一种稍微复杂的情况是:
监控设备捕获到时间戳后,同时开启自身的计数器,不断的与被监控的主机进行比较。
同样利用监控设备捕获4台电脑的时间戳,因为4台电脑的计数器(计数器的计数值就是时间戳的数值)和监控设备都会有不同的偏差,所以经过一段时间的记录后,就可以描绘出4台电脑的时间戳数值与监控设备的计数器的偏差。如图5所示:
根据每台电脑的时间戳(也就是每台电脑的计数器)与监控设备的计数器的偏差曲线来确定共有几台电脑。
下面参见图6,监控方获取时间戳方法信令图来具体描述本发明实施1的过程:
步骤601:被监控主机A向目的方B发送SYN包,监控方C截获所述SYN包,所述SYN包正确到达接收方;所述SYN包中携带的seq值为被监控主机A的seq值x,ack为初始值0;
步骤602:监控方C在截获SYN包后,向被监控方A反馈一个带时间戳的SYN,ACK包。该SYN包,ACK中携带的seq为监控方C的seqy,ack为根据获得的被监控主机A向目的方B的seq+1;
步骤603:被监控主机A在收到C冒充B反馈的该带时间戳的SYN,ACK包后,向目的方B回复一个带时间戳的ACK包用来完成三次握手的建立,该ACK包中携带的ack为根据收到监控方C的SYN,ACK包中的seq变化。因此回复的ACK包中携带的seq为x+1;ack为y+1;监控方C截获所述ACK包,并从所述ACK包中获得被监控主机的时间戳;所述目的方B接收所述带时间戳的ACK包后,由于所述ACK包中的seq、act值不匹配而将所述带时间戳的SYN,ACK包丢弃;
步骤604:目的方B由于也收到了被监控主机A在步骤1中发送的SYN包,因此向被监控主机A反馈一个SYN,ACK包,该包中seq为目的方B seq值Z,ack为x+1;监控方截获该SYN,ACK包;
步骤605:监控方C冒充被监控主机A向目的方B反馈一SYN,ACK包;并根据步骤603中获得的ACK包中数据进行更改seq与ack,向目的方C发送的SYN,ACK包的seq为x+1;ack为z+1;
步骤606:目的方B接收监控方C冒充被监控主机A发送的ACK包后,认为与被监控主机A建立了连接,那么就向被监控主机A发送数据包#1,该数据包中的seq为z+1,ack为x+1;但该数据包到达被监控主机A后由于seq为z+1,ack为x+1,与被监控主机A之前收到的seq、ack不符合,该数据包会被被监控主机A丢弃;同时,监控方C截获该数据包;
步骤607:监控方C截获目的方B向被监控主机A发送的数据包#1后,将seq更改为y+1;ack保持不变,即x+1;监控方C在将ack值进行更改后,将更改过ack值的数据包#1发送至被监控主机A;
步骤608:被监控主机A收到数据包后,向目的方B反馈应答数据包#1,该应答数据包#1的seq为x+1、ack为y+1+len。但是目的方B收到该应答数据包后因seq、ack值与之前收到的监控方C冒充被监控主机A发送的seq、ack值不同,因此会将该应答数据包#1丢弃;同时,监控方C截获该应答数据包#1;
步骤609:监控方C截获被监控主机A向目的方B发送的应答数据包#1后,seq保持不变,即x+1;ack更改为z+1+len;监控方C在将seq值进行更改后,将更改过seq值的应答数据包#1发送至目的方B。
上述步骤606至步骤609中是在目的方与被监控主机A建立连接后,目的方B首先向被监控主机A发送数据包,也可以由被监控主机A首先向目的方B发送数据包,其过程与上述步骤606至步骤609相似,都是由监控方C截获数据包,更改seq或ack值来进行转发,达到通信不中断的效果。
实施例2
在保证通讯过程不中断的情况下,为了更好的通过时间戳判断主机的数量,那么可以通过多次获得时间戳的方法,通过时间戳的连续性更好的判断数据的数量。
该实施例与实施例1的区别不大,仅在于监控方在更改目的方B向被监控主机A发送的数据包的seq或ack值时,进一步在数据包中添加时间戳;那么相应的监控方从截获的被监控主机A向目的方B反馈的应答数据包中就能够获取时间戳。这样的数据包传输是连续的,应此可以连续的获取时间戳。
详细信令过程参见图7:
步骤701:被监控主机A向目的方B发送SYN包,监控方C截获所述SYN包,所述SYN包正确到达接收方;所述SYN包中携带的seq值为被监控主机A的seq值x,ack为初始值0;
步骤702:监控方C在截获SYN包后,向被监控方A反馈一个带时间戳的SYN,ACK包。该SYN,ACK包中携带的seq为监控方C的seqy,ack为根据获得的被监控主机A向目的方B的seq+1;
步骤703:被监控主机A在收到C冒充B反馈的该带时间戳的SYN,ACK包后,向目的方B回复一个带时间戳的ACK包用来完成三次握手的建立,该ACK包中携带的ack为根据收到监控方C的SYN,ACK包中的seq变化。因此回复的ACK包中携带的seq为x+1;ack为y+1;监控方C截获所述ACK包,并从所述ACK包中获得被监控主机的时间戳;所述目的方B接收所述带时间戳的ACK包后,由于所述ACK包中的seq、act值不匹配而将所述带时间戳的SYN,ACK包丢弃;
步骤704:目的方B由于也收到了被监控主机A在步骤1中发送的SYN包,因此向被监控主机A反馈一个SYN,ACK包,该包中seq为目的方B seq值Z,ack为x+1;监控方截获该SYN,ACK包;
步骤705:监控方C冒充被监控主机A向目的方B反馈一个ACK包;并将步骤703中获得的ACK包中的seq更改为x+1;ack更改为z+1;
步骤706:目的方B接收监控方C冒充被监控主机A发送的ACK包后,认为与被监控主机A建立了连接,那么就向被监控主机A发送数据包#1,该数据包中的seq为z+1,ack为x+1;但该数据包到达被监控主机A后由于seq为z+1,ack为x+1,与被监控主机A之前收到的seq、ack不符合,该数据包会被被监控主机A丢弃;同时,监控方C截获该数据包;
步骤707:监控方C截获目的方B向被监控主机A发送的数据包#1后,将seq更改为y+1;ack保持不变,即x+1;监控方C在将ack值进行更改后,并在该数据包中添加时间戳,将更改过ack值与添加了时间戳的数据包#1发送至被监控主机A;
步骤708:被监控主机A收到数据包后,向目的方B反馈应答数据包#1,该应答数据包#1的seq为x+1、ack为y+1+len。但是目的方B收到该应答数据包后因seq、ack值与之前收到的监控方C冒充被监控主机A发送的seq、ack值不同,因此会将该应答数据包#1丢弃;同时,被监控方C截获该应答数据包#1;
步骤709:监控方C截获被监控主机A向目的方B发送的应答数据包#1后,获取时间戳,seq保持不变,即x+1;将ack更改为z+1+len;监控方C在将seq值进行更改后,将更改过seq值的应答数据包#1发送至目的方B。
在按照实施例2的方法判断主机数量的时候,为了提高监控方C的效率,可以预置监控方C只截获被监控主机A通往目的方的特定端口的握手信息及数据包。例如可以是只通往目的方80端口的数据包。或者监控方只是周期性的截获发送至同一个目的方的握手信息及数据包。例如可以是只周期性地截获通往一个目的IP的流,因在实践中发现,当访问一个网站时,通常会向同一个IP同时发起很多连接,没有必要每个连接都获取时间戳;这样可以避免重复检测。另一方面,被检测用户重复访问同一IP的可能性很高,这样可以避免重复检测,提高检测效率,减轻监控设备的负担。
实施例3,对应于实施例1,本发明实施例还提供了一种检测主机数量的装置,参见图8,该装置包括:截获单元801、发送单元802、信息更改单元803、计算单元804;
截获单元801包括信息截获单元,用于截获被监控主机向目的方发送的握手信息,并从中提取第一关键值;截获目的方向被监控主机反馈的握手反馈信息,并获取第二关键值;截获被监控主机向目的方发送的携带有时间戳的握手确认信息;截获目的方与被监控主机之间传输的数据包;
发送单元802:用于向被监控主机发送握手反馈信息,向目的方发送截获并修改后得握手确认信息;向目的方发送修改过关键值的数据包,、向被监控方发送修改过关键值的数据包;
信息更改单元803包括关键值单元,用于在截获目的方向被监控主机发送握手反馈信息时,将握手反馈信息中的关键值修改为目的方能够正确接收的内容,向目的方发送握手确认信息;用于在截获目的方发送的数据包时,将数据包的协议部分的内容通过所述的第二关键值更改为被监控主机能够正确接收的内容,或者在截获被监控主机发送的数据包时,将数据包的协议部分的内容通过所述的第一关键值更改为目的方能够正确接收的内容;
计算单元804,用于在截获携带有时间戳的握手信息后,通过时间戳判断主机存在的数量。
实施例4,对应于实施例2,该检测主机数量装置包括:截获单元901、发送单元902、信息更改单元903、计算单元904;
截获单元901包括信息截获单元和时间戳截获单元:
信息截获单元用于截获被监控主机向目的方发送的握手信息,并从中提取第一关键值;截获目的方向被监控主机反馈的握手反馈信息,并获取第二关键值;截获被监控主机向目的方发送的携带有时间戳的握手确认信息;截获目的方与被监控主机之间传输的数据包;
时间戳截获单元,用于从截获的被监控主机向目的方反馈的数据包中获取时间戳。
发送单元902:用于向被监控主机发送握手反馈信息,向目的方发送截获并修改后得握手确认信息;向目的方发送修改过关键值的数据包,、向被监控方发送修改过关键值的数据包;
信息更改单元903包括关键值单元和时间戳单元:
关键值单元用于在截获目的方向被监控主机发送握手反馈信息时,将握手反馈信息中的关键值修改为目的方能够正确接收的内容,向目的方发送握手确认信息;用于在截获目的方发送的数据包时,将数据包的协议部分的内容通过所述的第二关键值更改为被监控主机能够正确接收的内容,或者在截获被监控主机发送的数据包时,将数据包的协议部分的内容通过所述的第一关键值更改为目的方能够正确接收的内容;
时间戳单元,用于在更改所述数据包的协议部分的内容使得被监控主机能够正确接收时,进一步在数据包中协议部分添加时间戳;
计算单元904,用于在截获携带有时间戳的握手信息后,通过时间戳判断主机存在的数量。
以上所述的检测主机数量的装置可以为监控设备。
对应于实施例1,本发明实施例还提供一种检测主机数量的***,该***包括:
被监控主机,用于向目的方发送握手信息,接收携带有时间戳的反馈握手信息;向目的方反馈带时间戳的握手信息;向目的方发送数据包;
监控方,用于截获被监控主机向目的方发送的握手信息,并从中提取第一关键值;向被监控主机发送带时间戳的握手反馈信息;截获被监控主机反馈的带时间戳的握手确认信息;截获目的方向被监控主机发送的握手反馈信息并从中提取第二关键值,将该握手信息的内容更改为满足目的方需要的内容,并向目的方发送更改过内容的握手确认信息;截获目的方向被监控主机发送的数据包,将数据包中的协议部分的内容通过所述的第二关键值更改为被监控主机能够正确接收的内容,并进行转发;截获被监控主机向目的方发送的数据包,将数据包中的协议部分的内容通过所述的第一关键值更改为目的方能够正确接收的内容,并进行转发;通过获取的时间戳判断出主机存在的数量;
目的方,用于向被监控主机反馈握手信息,接收被监控主机反馈的带时间戳的握手信息,向被监控主机发送数据包。
对应于实施例2,该***所述的监控方在截获目的方向被监控主机发送的数据包、将数据包协议部分的内容更改为被监控主机能够正确接收的内容时,在数据包中的协议选项部分添加时间戳;
被监控主机在接收到携带有时间戳的数据包时,反馈携带有时间戳的数据包。
本发明实施例还提供了一种通讯方法,该方法包括与实施例1的过程大致相同,只是监控方在向被监控主机转发的信息中不包括时间戳,但是依然同实施例1中的其他作用一样可以更改数据包与握手信息中的内容来满足连续通信的需要。因此在此只将该通讯方法简单描述如下:
监控方截获被监控主机向目的方发送的握手信息;向被监控主机发送带时间戳的握手反馈信息;截获被监控主机反馈的握手确认信息,并从中提取第一关键值;
监控方截获目的方向被监控主机发送的握手反馈信息,并从中提取第二关键值;将该握手反馈信息更改为目的方能够正确接收的内容,向目的方发送握手确认信息;
监控方截获目的方发送的数据包时,将数据包中协议部分的内容通过所述的第二关键值更改为被监控主机能够正确接收的内容,并进行转发;或截获被监控主机发送的数据包时,将数据包中协议部分的内容通过第一关键值更改为目的方能够正确接收的内容,并进行转发。
该通讯方法可以运用于网络传输过程中的安全控制、监听等领域,并不限制于只能应用于获取时间戳,确定主机数量的方法中。
综上所述,依据本发明实施例,通过监控方截获被监控主机向目的方发送的握手信息,冒充目的方给被监控方发送带有时间戳的握手反馈信息,继而截获目的方给被监控方发送的握手反馈信息,从中提取seq值,并冒充被监控主机发送握手确认信息给目的方,使得目的方与被监控主机建立连接;进而监控方还在被监控主机与目的方进行数据通信时截获其互相发送的数据,修改为目的方或被监控主机需要的形式,完成不间断的数据传输业务;
进一步地,本发明实施例在目的方与被监控主机进行数据传输的时候,监控方继续在向被监控主机转发数据包时添加时间戳,连续诱导被监控主机反馈其时间戳,这样通过多次获得时间戳的方法能够更加精确判断主机的数量。
以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1、一种检测主机数量的方法,其特征在于,该方法包括:
截获被监控主机向目的方发送的握手信息;向被监控主机发送带时间戳的握手反馈信息;截获被监控主机反馈的带时间戳的握手确认信息,并从中提取第一关键值和所述时间戳;
截获目的方向被监控主机发送的握手反馈信息,并从中提取第二关键值;将该握手反馈信息更改为目的方能够正确接收的内容,向目的方发送握手确认信息;
截获目的方发送的数据包,将数据包中协议部分的内容通过所述的第二关键值更改为被监控主机能够正确接收的内容,并进行转发;或截获被监控主机发送的数据包,将数据包中协议部分的内容通过第一关键值更改为目的方能够正确接收的内容,并进行转发;
监控方通过获取的时间戳统计主机数量。
2、根据权利要求1所述的检测主机数量的方法,其特征在于,
截获目的方发送的数据包,将数据包中协议部分的内容通过所述的第二关键值更改为被监控主机能够正确接收的内容,并进行转发时,进一步在数据包中添加时间戳;
监控方从截获的被监控主机向目的方反馈的数据包中获取时间戳。
3、根据权利要求1或2所述的检测主机数量的方法,其特征在于,所述的监控方只截获通往被监控主机特定端口的握手信息及数据包。
4、根据权利要求1或2所述的检测主机数量的方法,其特征在于,为所述的监控方周期性的截获发送至同一个目的方的握手信息及数据包。
5、一种检测主机数量的装置,其特征在于,该装置包括:
截获单元包括信息截获单元,用于截获被监控主机向目的方发送的握手信息,并从中提取第一关键值;截获目的方向被监控主机反馈的握手反馈信息,并获取第二关键值;截获被监控主机向目的方发送的携带有时间戳的握手确认信息;截获目的方与被监控主机之间传输的数据包;
信息更改单元包括关键值单元,用于在截获目的方向被监控主机发送握手反馈信息时,将握手反馈信息中的关键值修改为目的方能够正确接收的内容;用于在截获目的方发送的数据包时,将数据包的协议部分的内容通过所述的第二关键值更改为被监控主机能够正确接收的内容,或者在截获被监控主机发送的数据包时,将数据包的协议部分的内容通过所述的第一关键值更改为目的方能够正确接收的内容;
发送单元:用于向被监控主机发送握手反馈信息,向目的方发送截获并修改后的握手确认信息;向目的方发送修改过关键值的数据包,向被监控方发送修改过关键值的数据包;
计算单元,用于从截获携带有时间戳的握手信息中获得所述时间戳,并通过所述时间戳判断主机存在的数量。
6、根据权利要求5所述的检测主机数量的装置,其特征在于,
所述的信息更改单元还包括时间戳单元,用于在更改所述数据包的协议部分的内容使得被监控主机能够正确接收时,进一步在数据包中协议部分添加时间戳;
截获单元还包括时间戳截获单元,用于从截获的被监控主机向目的方反馈的数据包中获取时间戳。
7、一种检测主机数量的***,其特征在于,该***包括:
被监控主机,用于向目的方发送握手信息,接收携带有时间戳的反馈握手信息;向目的方反馈带时间戳的握手信息;向目的方发送数据包;
监控方,用于截获被监控主机向目的方发送的握手信息,并从中提取第一关键值;向被监控主机发送带时间戳的握手反馈信息;截获被监控主机反馈的带时间戳的握手确认信息;截获目的方向被监控主机发送的握手反馈信息并从中提取第二关键值,将该握手信息的内容更改为满足目的方需要的内容,并向目的方发送更改过内容的握手确认信息;截获目的方向被监控主机发送的数据包,将数据包中的协议部分的内容通过所述的第二关键值更改为被监控主机能够正确接收的内容,并进行转发;截获被监控主机向目的方发送的数据包,将数据包中的协议部分的内容通过所述的第一关键值更改为目的方能够正确接收的内容,并进行转发;通过获取的时间戳判断出主机存在的数量;
目的方,用于向被监控主机反馈握手信息,接收被监控主机反馈的带时间戳的握手信息,向被监控主机发送数据包。
8、根据权利要求7所述的检测主机数量的***,其特征在于,
所述的监控方在截获目的方向被监控主机发送的数据包、将数据包协议部分的内容更改为被监控主机能够正确接收的内容时,在数据包中的协议选项部分添加时间戳;
被监控主机在接收到携带有时间戳的数据包时,反馈携带有时间戳的数据包。
9、一种通信方法,其特征在于,所述的方法包括:
截获被监控主机向目的方发送的握手信息;向被监控主机发送带时间戳的握手反馈信息;截获被监控主机反馈的握手确认信息,并从中提取第一关键值;
截获目的方向被监控主机发送的握手反馈信息,并从中提取第二关键值;将该握手反馈信息更改为目的方能够正确接收的内容,向目的方发送握手确认信息;
截获目的方发送的数据包时,将数据包中协议部分的内容通过所述的第二关键值更改为被监控主机能够正确接收的内容,并进行转发;或截获被监控主机发送的数据包时,将数据包中协议部分的内容通过第一关键值更改为目的方能够正确接收的内容,并进行转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100962478A CN100495993C (zh) | 2007-04-02 | 2007-04-02 | 检测主机数量的方法、装置与***及通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100962478A CN100495993C (zh) | 2007-04-02 | 2007-04-02 | 检测主机数量的方法、装置与***及通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101035035A true CN101035035A (zh) | 2007-09-12 |
CN100495993C CN100495993C (zh) | 2009-06-03 |
Family
ID=38731354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100962478A Expired - Fee Related CN100495993C (zh) | 2007-04-02 | 2007-04-02 | 检测主机数量的方法、装置与***及通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100495993C (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102217326A (zh) * | 2008-11-13 | 2011-10-12 | 微动公司 | 具有相对时间计时器的传送器 |
CN101741815B (zh) * | 2008-11-26 | 2012-07-04 | 凹凸科技国际股份有限公司 | 统计值刷新***以及方法 |
CN103685410A (zh) * | 2012-09-18 | 2014-03-26 | 华耀(中国)科技有限公司 | 一种透传时间戳的方法 |
CN104023036A (zh) * | 2014-06-25 | 2014-09-03 | 北京蓝汛通信技术有限责任公司 | Tcp旁路阻断方法和装置 |
CN106664223A (zh) * | 2015-06-18 | 2017-05-10 | 华为技术有限公司 | 一种共享接入主机数目检测方法及检测装置 |
CN110807942A (zh) * | 2019-09-24 | 2020-02-18 | 联创汽车电子有限公司 | 智能驾驶汽车航迹更新方法及其更新*** |
-
2007
- 2007-04-02 CN CNB2007100962478A patent/CN100495993C/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102217326A (zh) * | 2008-11-13 | 2011-10-12 | 微动公司 | 具有相对时间计时器的传送器 |
US9820019B2 (en) | 2008-11-13 | 2017-11-14 | Micro Motion, Inc. | Transmitter with a relative-time timer |
CN101741815B (zh) * | 2008-11-26 | 2012-07-04 | 凹凸科技国际股份有限公司 | 统计值刷新***以及方法 |
CN103685410A (zh) * | 2012-09-18 | 2014-03-26 | 华耀(中国)科技有限公司 | 一种透传时间戳的方法 |
CN103685410B (zh) * | 2012-09-18 | 2016-08-31 | 华耀(中国)科技有限公司 | 一种透传时间戳的方法 |
CN104023036A (zh) * | 2014-06-25 | 2014-09-03 | 北京蓝汛通信技术有限责任公司 | Tcp旁路阻断方法和装置 |
CN106664223A (zh) * | 2015-06-18 | 2017-05-10 | 华为技术有限公司 | 一种共享接入主机数目检测方法及检测装置 |
CN110807942A (zh) * | 2019-09-24 | 2020-02-18 | 联创汽车电子有限公司 | 智能驾驶汽车航迹更新方法及其更新*** |
Also Published As
Publication number | Publication date |
---|---|
CN100495993C (zh) | 2009-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101035035A (zh) | 检测主机数量的方法、装置与***及通信方法 | |
CN102739473B (zh) | 一种应用智能网卡的网络检测方法 | |
CN1968074B (zh) | 网络封包串流仿真方法 | |
CN1863033A (zh) | 获取网络超时重传间隔的方法及网络中数据传输的方法 | |
CN101035111A (zh) | 一种智能协议解析方法及装置 | |
EP1746801A3 (en) | Transmission of packet data over a network with a security protocol | |
CN101047485A (zh) | 通信终端以及重发控制方法 | |
CN101043384A (zh) | 一种网络测试的***和方法 | |
CN1848778A (zh) | 用于监控信令消息行进的方法和网络监控装置 | |
CN1805388A (zh) | 一种建立对等直连通道的方法 | |
CN101035270A (zh) | 基于互联网络的对等视频监控方法 | |
CN101039309A (zh) | 链路共享服务装置以及通信方法 | |
US20160330569A1 (en) | Service Processing Method and Network Device | |
CN101075866A (zh) | 一种互联网信息的上报方法和*** | |
CN1842030A (zh) | 客户机间通信记录的一致性保证管理*** | |
RU2013146538A (ru) | Связь между клиентским устройством и беспроводным периферийным устройством | |
CN103248606A (zh) | 一种面向IPv4和IPv6的网络病毒检测方法及*** | |
CN1805335A (zh) | 基于内容提供***的认证***及认证方法 | |
CN102469045A (zh) | 一种提升web安全网关并发性能的方法 | |
CN1161924C (zh) | 一种二层交换设备的数据升级方法 | |
WO2016008212A1 (zh) | 一种终端及检测终端数据交互的安全性的方法、存储介质 | |
CN102754488A (zh) | 用户访问的控制方法、装置及*** | |
CN104184565B (zh) | 一种处理重传信息的方法及装置 | |
CN101075992A (zh) | Ip多业务交换方法及ip多业务交换*** | |
WO2011012004A1 (zh) | 一种实现网络流量清洗的方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090603 Termination date: 20170402 |