SOHO路由器上网检测方法、设备和系统转让专利

申请号 : CN201010132877.8

文献号 : CN101800681B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙伟袁博范亮

申请人 : 中兴通讯股份有限公司

摘要 :

本发明揭示了一种SOHO路由器共享上网检测方法,包括:连接设备发送针对预定端口的TCP/UDP检测报文到用户终端;所述连接设备监测用户终端返回的回应报文;当所述回应报文指示端口关闭时,所述连接设备判断所述用户终端为SOHO路由器。本发明实施例还提供相应的设备和系统。本发明实施例通过采用连接设备发送TCP/UDP检测报文,针对特定PC打开而SOHO路由器关闭的端口进行探测,以判断用户终端是否是SOHO路由器,发现用户是否通过SOHO路由器上网。

权利要求 :

1.一种小型办公室或家庭办公室SOHO路由器上网检测方法,其特征在于,包括:连接设备发送针对预定端口的传输控制协议/用户数据报协议TCP/UDP检测报文到用户终端,所述TCP/UDP检测报文为TCP SYN报文和/或UDP报文;

所述连接设备监测用户终端返回的回应报文;

所述回应报文指示端口关闭时,所述连接设备判断所述用户终端为SOHO路由器,当所述TCP/UDP检测报文为TCP SYN报文,所述连接设备监测到TCP RST-ACK报文时,认定所述用户终端为SOHO路由器,当所述TCP/UDP检测报文为UDP报文,所述连接设备监测到ICMP unreachable报文时,认定所述用户终端为SOHO路由器。

2.根据权利要求1所述的方法,其特征在于,所述连接设备发送针对预定端口的TCP/UDP检测报文到用户终端前包括:所述用户终端发送连接请求到所述连接设备;

所述连接设备发送针对所述用户终端的认证请求到认证服务器;

认证服务器判断所述用户终端的用户是否为一般用户;

当所述用户终端的用户为一般用户时,所述认证服务器发送认证响应消息到所述连接设备。

3.根据权利要求1或2所述的方法,其特征在于,所述连接设备发送针对预定端口的TCP/UDP检测报文到用户终端前包括:所述连接设备接入所述用户终端;

所述连接设备检测所述用户终端流量,当所述用户终端流量大于预设阈值时制作TCP/UDP检测报文。

4.根据权利要求1所述的方法,其特征在于,所述连接设备为SN设备或探测服务器。

5.一种连接设备,其特征在于,包括发送模块、监测模块和判断模块:发送模块,用于发送针对预定端口的TCP/UDP检测报文到用户终端,所述发送模块用于发送针对预定端口的TCP SYN报文和/或UDP报文;

监测模块,用于监测用户终端返回的回应报文;

判断模块,用于当所述回应报文指示端口关闭时,判断所述用户终端为SOHO路由器,当所述TCP/UDP检测报文为TCP SYN报文,所述监测模块监测到TCP RST-ACK报文时,认定所述用户终端为SOHO路由器,当所述TCP/UDP检测报文为UDP报文,所述检测模块监测到ICMP unreachable报文时,认定所述用户终端为SOHO路由器。

6.一种SOHO路由器上网检测系统,其特征在于,包括连接设备和用户终端:所述连接设备为权利要求5所述的连接设备;

所述用户终端,用于接收所述TCP/UDP检测报文,根据预置规则返回回应报文。

7.根据权利要求6所述的系统,其特征在于,所述用户终端还用于发送连接请求到连接设备;

所述连接设备还用于发送针对所述用户终端的认证请求;

所述系统还包括认证服务器,用于接收认证请求,判断所述用户终端的用户是否为一般用户;当所述用户终端的用户为一般用户时,发送认证响应消息到所述连接设备。

8.根据权利要求7所述的系统,其特征在于,所述连接设备还用于接入所述用户终端;

检测所述用户终端流量,当所述用户终端流量大于预设阈值时制作针对预定端口的TCP/UDP检测报文。

9.根据权利要求6所述的系统,其特征在于,所述连接设备为SN设备或探测服务器。

说明书 :

SOHO路由器上网检测方法、设备和系统

技术领域

[0001] 本发明涉及到通信技术领域,特别涉及到一种SOHO(Sall Office HomeOffice,小型办公室或家庭办公室)路由器上网检测方法、设备和系统。

背景技术

[0002] 家庭网络的需求不断提高,原本的512Kb带宽已不能满足人们的要求,当前的家庭网络已经可以达到6Mb甚至更高。在带宽提高的基础上一些用户申请家庭网络,私设共享上网,将私用网络用来运营甚至建立黑网吧。而运营商为了维护自身的利益,会限制家庭网络用户私建网络、共享上网。这就需要检测用户是否私建网络、共享上网。
[0003] 运 营 商 通 过 限 制 多 个 TCP/UDP(Transmission ControlProtocol/UserDatagramProtocol,传输控制协议/用户数据报协议)连接数来限定多台PC(Personal Computer,个人电脑)同时使用同一个账号上网;具体是通过查看统计用户TCP/UDP连接数,当所述TCP/UDP连接数超过一定数值,就认为是共享上网。
[0004] 在具体实施过程中,本发明的发明人发现,当用户使用SOHO路由器连接多台PC上网,运营商现有的检测机制检测到的TCP/UDP连接数与一台PC上网的连接数相同,并不能检测到用户使用多台PC通过SOHO路由器上网。

发明内容

[0005] 本发明的目的之一为提供一种可以检测出用户是否通过SOHO路由器实现多台PC上网的SOHO路由器共享上网检测方法、设备和系统。
[0006] 本发明提出一种SOHO路由器上网检测方法,包括:
[0007] 连接设备发送针对预定端口的TCP/UDP检测报文到用户终端;
[0008] 所述连接设备监测用户终端返回的回应报文;
[0009] 当所述回应报文指示端口关闭时,所述连接设备判断所述用户终端为SOHO路由器。
[0010] 进一步,所述连接设备发送针对预定端口的TCP/UDP检测报文到用户终端前包括:
[0011] 所述用户终端发送连接请求到所述连接设备;
[0012] 所述连接设备发送针对所述用户终端的认证请求到认证服务器;
[0013] 认证服务器判断所述用户终端的用户是否为一般用户;
[0014] 当所述用户终端的用户为一般用户时,所述认证服务器发送认证响应消息到所述连接设备。
[0015] 进一步,所述连接设备发送针对预定端口的TCP/UDP检测报文到用户终端前包括:
[0016] 所述连接设备接入所述用户终端;
[0017] 所述连接设备检测所述用户终端流量,当所述用户终端流量大于预设阈值时制作TCP/UDP检测报文。
[0018] 进一步,所述TCP/UDP检测报文为TCP SYN报文和/或UDP报文。
[0019] 进一步,当所述TCP/UDP检测报文为TCP SYN报文,所述连接设备监测到TCP RST-ACK报文时,认定所述用户终端为SOHO路由器;
[0020] 当所述TCP/UDP检测报文为UDP报文,所述连接设备监测到ICMPunreachable报文时,认定所述用户终端为SOHO路由器。
[0021] 进一步,所述连接设备为SN设备或探测服务器。
[0022] 一种连接设备,包括发送模块、监测模块和判断模块:
[0023] 发送模块,用于发送针对预定端口的TCP/UDP检测报文到用户终端;
[0024] 监测模块,用于监测用户终端返回的回应报文;
[0025] 判断模块,用于当所述回应报文指示端口关闭时,判断所述用户终端为SOHO路由器。
[0026] 进一步,所述发送模块用于发送针对预定端口的TCP SYN报文和/或UDP报文。
[0027] 进一步,所述判断模块用于所述TCP/UDP检测报文为TCP SYN报文,所述监测模块监测到TCP RST-ACK报文时,认定所述用户终端为SOHO路由器;
[0028] 当所述TCP/UDP检测报文为UDP报文,所述检测模块监测到ICMPunreachable报文时,认定所述用户终端为SOHO路由器。
[0029] 一种SOHO路由器上网检测系统,包括连接设备和用户终端:
[0030] 所述连接设备,用于发送针对预定端口的TCP/UDP检测报文到所述用户终端;监测所述用户终端返回的回应报文;当所述回应报文指示端口关闭时,判断所述用户终端为SOHO路由器;
[0031] 所述用户终端,用于接收所述TCP/UDP检测报文,根据预置规则返回回应报文。
[0032] 进一步,所述系统还包括认证服务器:
[0033] 用户终端还用于发送连接请求到连接设备;
[0034] 所述连接设备还用于发送针对所述用户终端的认证请求到所述认证服务器;
[0035] 所述认证服务器判断所述用户终端的用户是否为一般用户;当所述用户终端的用户为一般用户时,发送认证响应消息到所述连接设备。
[0036] 进一步,所述连接设备还用于接入所述用户终端;检测所述用户终端流量,当所述用户终端流量大于预设阈值时制作TCP/UDP检测报文。
[0037] 进一步,所述连接设备为SN设备或探测服务器。
[0038] 本发明实施例通过采用连接设备发送TCP/UDP检测报文,针对特定PC打开而SOHO路由器关闭的端口进行探测,以判断用户终端是否是SOHO路由器,发现用户是否通过SOHO路由器上网。

附图说明

[0039] 图1为本发明一种SOHO路由器共享上网检测方法一实施例的流程图;
[0040] 图2为本发明一种连接设备一实施例的结构示意图;
[0041] 图3为本发明一种共享上网检测系统一实施例的结构示意图。
[0042] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0043] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0044] 参照图1,为本发明一种SOHO路由器共享上网检测方法一实施例的流程图;用户终端可能是PC也可能是SOHO路由器,用户通过用户终端连接互联网的连接设备接入互联网,所述连接设备可以是SN设备。
[0045] PC上会有一些特定TCP/UDP端口开启(端口开启/关闭由操作系统规定)。向PC发送一个TCP SYN报文,目的地址为PC IP。如果PC上这个TCP端口打开,则回应TCP SYN-ACK报文。如果PC上这个TCP端口关闭,则回应TCPRST-ACK报文。向PC发送一个UDP报文,目的地址为PC IP。如果PC上这个UDP端口开启,则不做任何回应。如果PC上这个UDP端口关闭,则回应ICMPUnreachable(端口不可达)。
[0046] SOHO路由器使用的是标准的TCP/UDP协议栈,对于TCP/UDP检测报文的回应动作和真实PC相同。也就是说,如果SOHO路由器上TCP端口开启,回应TCP SYN-ACK,关闭则回应TCP RST-ACK。UDP端口开启,不做回应,关闭则回应ICMP Unreachable(端口不可达)。
[0047] 真实PC和SOHO路由器上开启的TCP/UDP端口必定不同(例如PCWindows OS上都会打开TCP 139端口用于NetBIOS服务,而SOHO路由器上没有打开。)。PC上开启的端口由操作系统决定。SOHO路由器上开启的端口由厂商决定。必定会有同一个的端口,真实PC上开启,SOHO路由器上关闭。
[0048] 同时,当向连接设备上记录的用户IP发送TCP/UDP检测报文时,如果是真实PC上网的,则PC收到这个TCP/UDP检测报文并对其根据其自身端口开启情况做出回应。如果使用SOHO路由器(用户IP地址是路由器获得的),则由于NAT原理(NAT会话不能反向发起),这个报文不会到达下挂的PC,SOHO路由器会根据其自身的端口开启情况对这个报文做出回应。
[0049] 本发明实施例中选取一组PC操作系统常见的开放端口,作为检测列表(可以根据实际情况,预先配置或选择)。PC和SOHO路由器收到以检测列表中端口为目的的TCP/UDP检测报文,回应也是不相同的。我们可以根据不同的回应,来判断这些端口是否开启/关闭,从而判断是真实PC拨号还是SOHO路由器拨号。如果发现这些端口全都关闭的(收到UDP的回应为ICMP端口不可达,TCP的回应为TCP RST-ACK),我们就可以怀疑是SOHO共享上网。
[0050] 具体的步骤如下:
[0051] 步骤S101、用户终端发送连接请求到连接设备;
[0052] 当用户需要连接互联网时,发起连接请求到连接设备,在所述连接请求中应该包含用户账户和密码。
[0053] 步骤S102、连接设备根据连接请求发送验证请求到验证服务器;
[0054] 所述连接设备接收到用户终端的连接请求后,发送验证请求到验证服务器,所述验证请求中应携带用户账号和密码等信息。所述验证服务器可以是AAA服务器。
[0055] 步骤S103、验证服务器对用户终端进行验证后返回验证消息到连接设备;
[0056] 在进行验证时,验证服务器确定用户的属性,区分用户属于一般用户还是共享用户如企业用户等。并将用户属性通过验证消息告知连接设备。
[0057] 步骤S104、连接设备监控用户流量;
[0058] 当验证服务器返回的验证消息指示用户属于一般用户时,连接设备对用户流量进行监控,当用户流量超过预设阈值时进入步骤S105。
[0059] 步骤S105、连接设备发送TCP/UDP检测报文到用户终端;
[0060] 当用户属于一般用户,且流量超过预设阈值时,所述预设阈值是否异常根据运营商定义,连接设备向用户IP地址发送TCP/UDP检测报文,目的IP为用户IP,源IP为连接设备地址,目的端口号选取PC和SOHO路由器状态不同的端口,来探测端口。所述TCP/UDP检测报文可以是TCP SYN报文和/或UDP报文。
[0061] 步骤S106、连接设备监测用户终端返回的回应报文;
[0062] 连接设备监测用户终端的回应报文。
[0063] 步骤S107、当所述回应报文指示端口关闭时,所述连接设备判断所述用户终端为SOHO路由器。
[0064] 所述连接设备根据回应报文,判断是真实PC还是SOHO路由器,例如:TCP/UDP检测报文选定的端口号是只有PC上开启的端口,连接设备发送TCPSYN检测报文来探测。如果所述连接设备收到了TCP RST-ACK,说明这个端口没有打开,认为是SOHO路由器拨号。如果所述连接设备收到了TCPSYN-ACK报文,说明这个端口打开了,是真实PC拨号。同样,如果所述连接设备发送UDP报文探测,收到ICMP unreachable,端口不可达,说明该端口没有打开,是SOHO路由器拨号。如果超时时间内,所述连接设备没有收到回应的报文,则认为该端口打开,是真实PC拨号。
[0065] 在本实施例中连接设备可以是SN设备或者探测服务器,在发送TCP/UDP检测报文时,可以是SN设备直接发送也可以是SN设备要求探测服务器发送,或者探测服务器直接发送。
[0066] 本发明实施例通过采用连接设备发送TCP/UDP检测报文,针对特定PC打开而SOHO路由器关闭的端口进行探测,以判断用户终端是否是SOHO路由器,发现用户是否通过SOHO路由器上网。
[0067] 请参阅图2,为本发明一种连接设备一实施例的结构示意图;本发明实施例包括发送模块21、监测模块22和判断模块23:
[0068] 发送模块21,用于发送针对预定端口的TCP/UDP检测报文到用户终端;
[0069] 所述发送模块21向用户IP地址发送TCP/UDP检测报文,目的IP为用户IP,源IP为连接设备地址,目的端口号选取PC和SOHO路由器状态不同的端口,即PC上打开但SOHO路由器关闭的端口,来探测端口。所述TCP/UDP检测报文可以是TCP SYN报文和/或UDP报文。
[0070] 监测模块22,用于监测用户终端返回的回应报文;
[0071] 判断模块23,用于当所述回应报文指示端口关闭时,判断所述用户终端为SOHO路由器。
[0072] 进一步,所述发送模块21用于发送针对预定端口的TCP SYN报文和/或UDP报文。
[0073] 进一步,所述判断模块23用于所述TCP/UDP检测报文为TCP SYN报文,所述监测模块监测到TCP RST-ACK报文时,认定所述用户终端为SOHO路由器;
[0074] 当所述TCP/UDP检测报文为UDP报文,所述检测模块监测到ICMPunreachable报文时,认定所述用户终端为SOHO路由器。
[0075] 所述判断模块23根据回应报文,判断是真实PC还是SOHO路由器,例如:TCP/UDP检测报文预定的端口号是只有PC上开启的端口,连接设备发送TCPSYN检测报文来探测。如果所述连接设备收到了TCP RST-ACK,说明这个端口没有打开,认为是SOHO路由器拨号。
如果所述连接设备收到了TCPSYN-ACK报文,说明这个端口打开了,是真实PC拨号。同样,如果所述连接设备发送UDP报文探测,收到ICMP unreachable,端口不可达,说明该端口没有打开,是SOHO路由器拨号。如果超时时间内,所述连接设备没有收到回应的报文,则认为该端口打开,是真实PC拨号。
[0076] 请参阅图3,为本发明一种共享上网检测系统一实施例的结构示意图。
[0077] 本发明实施例是采用实施例一中方法的系统,包括连接设备31和用户终端32:
[0078] 所述连接设备31,用于发送针对预定端口的TCP/UDP检测报文到所述用户终端32;监测所述用户终端返回的回应报文;当所述回应报文指示端口关闭时,判断所述用户终端32为SOHO路由器;
[0079] 连接设备31向用户终端32IP地址发送TCP/UDP检测报文,目的IP为用户终端32IP,源IP为连接设备31地址,目的端口号选取PC和SOHO路由器状态不同的端口,来探测端口。所述TCP/UDP检测报文可以是TCP SYN报文和/或UDP报文。然后监测用户终端
32的回应报文,根据回应报文,判断是真实PC还是SOHO路由器,例如:TCP/UDP检测报文选定的端口号是只有PC上开启的端口,连接设备发送TCP SYN检测报文来探测。如果所述连接设备收到了TCP RST-ACK,说明这个端口没有打开,认为是SOHO路由器拨号。如果所述连接设备收到了TCP SYN-ACK报文,说明这个端口打开了,是真实PC拨号。同样,如果所述连接设备发送UDP报文探测,收到ICMPunreachable,端口不可达,说明该端口没有打开,是SOHO路由器拨号。如果超时时间内,所述连接设备没有收到回应的报文,则认为该端口打开,是真实PC拨号。
[0080] 所述用户终端32,用于接收所述TCP/UDP检测报文,根据预置规则返回回应报文。
[0081] 进一步,所述系统还包括认证服务器33:
[0082] 用户终端32还用于发送连接请求到连接设备31;
[0083] 当用户需要连接互联网时,所述用户终端32发起连接请求到连接设备31,在所述连接请求中应该包含用户账户和密码。
[0084] 所述连接设备31还用于发送针对所述用户终端32的认证请求到所述认证服务器33;
[0085] 所述连接设备31接收到用户终端32的连接请求后,发送验证请求到验证服务器33,所述验证请求中应携带用户账号和密码等信息。所述验证服务器33可以是AAA服务器。
[0086] 所述认证服务器33判断所述用户终端32的用户是否为一般用户;当所述用户终端32的用户为一般用户时,发送认证响应消息到所述连接设备31。
[0087] 所述认证服务器33在进行验证时,可以确定用户的属性,区分用户属于一般用户还是共享用户如企业用户等。并将用户属性通过验证消息告知连接设备31。
[0088] 进一步,所述连接设备31还用于接入所述用户终端32;检测所述用户终端32流量,当所述用户终端32流量大于预设阈值时制作TCP/UDP检测报文。
[0089] 当验证服务器33返回的验证消息指示用户属于一般用户时,连接设备31对用户流量进行监控,当用户流量超过预设阈值时所述连接设备31发送TCP/UDP检测报文。
[0090] 进一步,所述连接设备31为SN设备或探测服务器,在发送TCP/UDP检测报文时,可以是SN设备直接发送也可以是SN设备要求探测服务器发送,或者探测服务器直接发送。
[0091] 本发明实施例通过采用连接设备发送TCP/UDP检测报文,针对特定PC打开而SOHO路由器关闭的端口进行探测,以判断用户终端是否是SOHO路由器,发现用户是否通过SOHO路由器上网。
[0092] 以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。