一种检测透明代理的方法及装置的制作方法

文档序号:7719760阅读:188来源:国知局
专利名称:一种检测透明代理的方法及装置的制作方法
技术领域
本发明涉及网络通信安全领域,具体涉及一种检测透明代理的方法及装置。
背景技术
目前黑客可以在用户毫不知情的情况下通过透明代理来劫持用户通过互联网传递的数据,甚至可以利用欺骗的手段诱导用户传送诸如邮箱账号密码、网上银行账号密码等敏感信息。目前检测透明代理的方法,是在IP数据包头中用一选项字段来记录每个处理该IP数据包的路由器的IP地址。当IP数据包到达目标主机时,IP数据包头中的路由器会将该选项字段复制到返回的应答中,并且返回途中所经过的路由器地址也会被加入到该选项字段中,通过査看IP数据包头中选项字段中记录的路由器地址从而判定出所发出的IP数据包是否经过了透明代理。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题
由于IP数据包头长度最大60个字节(包括可选项),且其中要包括固定长度20个字节和可选项3个字节,这样只剩下37个字节(60-20-3字节)来存放IP地址, 一个IP地址需要32位(4个字节),所以IP数据包头中只能存放9个IP地址,如果用户到达目标主机且返回时所经过的路由器总数超过了9个,那么目前检测透明代理的方法将失效。同时在IP数据包头中记录路由器的IP地址需要得到路由器的支持,但有些路由器出于安全和效率的考虑关掉了在IP数据包头中记录IP地址的功能,因而一旦用户到达目标主机且返回时所经过的路由器至少有一个不支持记录IP地址功能,则目前检测透明代理的方法将不准确。

发明内容
本发明实施例提供了一种检测透明代理的方法及装置,解决了目前检测透明代理失效或不准确的问题。
本发明实施例提供的一种检测透明代理的方法,包括,将数据包发送给目标主机的预定端口号和其它端口号;
4接收目标主机的预定端口号和其它端口号返回的IP数据包;
通过比较预定端口号和其它端口号返回的IP数据包中的生存时间TTL值,检测是否存在透明代理。
本发明实施例提供的一种检测透明代理的装置,包括,
发送单元,用于将数据包发送给目标主机的预定端口号和其它端口号;
接收单元,用于接收目标主机的预定端口号和其它端口号返回的IP数据包;
比较检测单元,用于通过比较接收单元接收的预定端口号和其它端口号返回的IP数据
包中的生存时间TTL值,检测是否存在透明代理。
本发明实施例通过发送传输控制协议TCP的三次握手包ayn,比较接收到的不同端口
返回的IP数据包头中生存时间TTL值,来检测透明代理,保证了用户通信的安全性。


图l为本发明实施例所述存在透明代理和不存在透明代理时数据链路的示意图2为本发明实施例所述一种检测透明代理的方法的流程示意图3为本发明实施例所述一种检测透明互联网Web代理的流程示意图4为本发明实施例所述一种检测透明域名系统DNS代理的流程示意图5为本发明实施例所述一种检测透明文本传输协议FTP代理的流程示意图6为本发明实施例所述一种检测透明代理的装置的结构示意图7为本发明实施例所述一种检测透明代理的装置中比较检测单元3的结构示意图。
具体实施例方式
透明代理就是在用户完全察觉不到的情况下改变数据包的目的地址为代理服务器,然后由代理服务器去完成用户的请求,再把结果返回给用户,在返回给用户之前还会改变数据包的源地址为用户之前请求的目标地址,也就是改变用户的报文,并传送真实的IP地址。
按照端口号的分布情况,可以把端口号分为知名端口号、动态端口号和保留端口号,其中知名端口号即为众所周知的端口号,范围从0到1023,知名端口号一般都固定分配给一些服务,比如,端口21分配给FTP (文本传输协议)服务,端口25分配SMTP (简单邮件传输协议)服务,端口80分配给HTTP (超文本传输协议)服务,端口135分配给RPC (远程过程调用)服务等。端口探测主要是通过与目标主机的某些端口建立连接,根据目标主机的响应来探测目标主机的端口是否活动,通常情况下,对目标主机的某个端口发送TCP三次握手包syn,无论该端口是否活动,即是否处于监听状态都会返回IP数据包,具体若端口处于监听(活动)状态,则会返回IP数据包ack或ayn来完成三次握手建立通信连接;若端口没处于监听(活动)状态,则会返回IP数据包res,故无论端口是否处于监听(活动)状态,都会接收到端口返回的IP数据包,并获得其中的TTL值。
结合图1所示,具体说明存在透明代理和不存在透明代理TTL值的变化情况,设TTL初始值为V,如图l中a所示,不存在透明代理时,本机与目标主机之间存在3个路由器,则返回的IP数据包中TTL值为(V-3);如图l中b所示,存在透明代理时,由于被透明代理拦截,故只经过了本机与透明代理之间的l个路由器,则返回的IP数据包中TTL值为(V-1)。
本发明实施例提供了一种检测透明代理的方法的技术方案,如图2所示,
步骤一、将数据包发送给目标主机的预定端口号和其它端口号,所述数据包可以包括传输控制协议TCP的三次握手包ayn等;
步骤二、接收目标主机的预定端口号和其它端口号返回的IP数据包;
步骤三、通过比较预定端口号和其它端口号返回的IP数据包中的生存时间TTL值,检测是否存在透明代理。
上述技术方案中,所述预定端口号可以为知名端口号中的一个端口号,知名端口号是固定分配特定协议或服务的端口号;所述其它端口号可以为除预定端口号之外的任意一个端口号,例如,预定端口号为21,则其它端口号可以为30或50或80等。
上述技术方案中,通过比较预定端口号和其它端口号返回的IP数据包中的生存时间TTL值,检测是否存在透明代理的具体过程可以包括若预定端口号返回的IP数据包中的生存时间TTL值与其它端口号返回的IP数据包中的生存时间TTL值相等,则检测不存在透明代理;若预定端口号返回的IP数据包中的生存时间TTL值与其它端口号返回的IP数据包中的生存时间TTL值不相等,则检测存在透明代理。
上述技术方案中,透明代理可以包括透明互联网Web代理、透明域名系统DNS(Domain Name System)代理和透明文本传输协议FTP (File Transfer Protocol)代理等。
上述方案中,具体检测是否存在透明互联网Web代理过程,如图3所示,可以包括
步骤l 1 、将传输控制协议TCP的三次握手包ayn发送给目标主机的端口 80和其它端口号,所述端口80,用于为超文本传输协议HTTP(Hypertext Transfer Protocol)服务器提供服务;步骤12、接收目标主机的端口 80与其它端口号返回的IP数据包;
步骤13、判断IP数据包中的TTL值是否相等,若端口80返回的IP数据包中的TTL值与其它端口号返回的IP数据包中的生存时间TTL值不相等,则检测存在透明互联网Web代理;若端口 80返回的IP数据包中的生存时间TTL值与其它端口号返回的IP数据包中的生存时间TTL值相等,则检测不存在透明互联网Web代理。
上述方案中,具体检测是否存在透明域名系统DNS代理过程,如图4所示,可以包

步骤21、将传输控制协议TCP的三次握手包ayn发送给目标主机的端口53和其它端口号,所述端口53,用于为域名系统DNS服务器提供服务;
步骤22、接收目标主机的端口 53与其它端口号返回的IP数据包;
步骤23、判断IP数据包中的TTL值(生存时间)是否相等,若端口53返回的IP数据包中的生存时间TTL值与其它端口号返回的IP数据包中的生存时间TTL值不相等,则检测存在透明域名系统DNS代理;若端口53返回的IP数据包中的生存时间TTL值与其它端口号返回的IP数据包中的生存时间TTL值相等,则检测不存在透明域名系统DNS代理。
上述方案中,具体检测是否存在透明文本传输协议FTP代理过程,如图5所示,可以包括
步骤31、将传输控制协议TCP的三次握手包ayn发送给目标主机的端口21和其它端口号,所述端口21,用于为文本传输协议FTP服务器提供服务;
步骤32、接收目标主机的端口21与其它端口号返回的IP数据包;所述端口21,用于为文本传输协议FTP服务器提供服务;
步骤33、判断IP数据包中的TTL值(生存时间)是否相等,若端口21返回的IP数据包中的生存时间TTL值与其它端口号返回的IP数据包中的生存时间TTL值不相等,则检测存在透明文本传输协议FTP代理;若端口21返回的IP数据包中的生存时间TTL值与其它端口号返回的IP数据包中的生存时间TTL值相等,则检测不存在透明文本传输协议FTP代理。
本发明实施例还提供了一种检测透明代理的装置,如图6所示,包括,
发送单元l,用于将数据包送给目标主机的预定端口号和其它端口号,所述数据包可以包括传输控制协议TCP的三次握手包ayn等,所述预定端口号包括知名端口号中的一个端口号,所述知名端口号是固定分配特定协议或服务的端口号;所述其它端口号包括除预定端口号之外的任意一个端口号;
接收单元2,用于接收目标主机的预定端口号和其它端口号返回的IP数据包;比较检测单元3,用于通过比较接收单元2接收的预定端口号和其它端口号返回的IP数据包中的生存时间TTL值,检测是否存在透明代理。
在上述装置中,比较检测单元3,如图7所示,具体包括
比较子单元31,用于比较预定端口号返回的IP数据包中的生存时间TTL值与其它端口号返回的IP数据包中的生存时间TTL值是否相等,得到比较结果;
检测确定子单元32,用于根据比较子单元31得到的比较结果检测确定是否存在透明代理,具体若比较结果为相等,则检测确定不存在透明代理;若比较结果不相等,则检测确定存在透明代理。
上述装置中包含的各单元的处理功能的具体实现方式在之前的方法实施例中已经描述,在此不再重复描述。
本发明实施例通过发送数据包,比较接收到的不同端口返回的IP数据包头中生存时间TTL值,来检测透明代理,可以防止用户在不知情的情况下将一些敏感信息发送给透明代理,有效地提醒了用户,保证了用户通信的安全性。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
8
权利要求
1、一种检测透明代理的方法,其特征在于,包括,将数据包发送给目标主机的预定端口号和其它端口号;接收目标主机的预定端口号和其它端口号返回的IP数据包;通过比较预定端口号和其它端口号返回的IP数据包中的生存时间TTL值,检测是否存在透明代理。
2、 根据权利要求l所述的方法,其特征在于,所述预定端口号包括知名端口号中的 一个端口号,所述知名端口号是固定分配特定协议或服务的端口号;所述其它端口号包 括除预定端口号之外的任意一个端口号。
3、 根据权利要求l所述的方法,其特征在于,所述通过比较预定端口号和其它端口 号返回的IP数据包中的生存时间TTL值,检测是否存在透明代理的具体过程包括若预定端口号返回的IP数据包中的生存时间TTL值与其它端口号返回的IP数据包中的 生存时间TTL值相等,则检测不存在透明代理;若预定端口号返回的IP数据包中的生存时 间TTL值与其它端口号返回的IP数据包中的生存时间TTL值不相等,则检测存在透明代 理。
4、 根据权利要求1或2或3所述的方法,其特征在于,所述透明代理包括透明互联网 Web代理,所述检测是否存在透明代理具体包括将传输控制协议TCP的三次握手包ayn发送给目标主机的端口 80和其它端口号,所述 端口 80,用于为超文本传输协议HTTP服务器提供服务;'接收目标主机的端口80与其它端口号返回的IP数据包;若端口80返回的IP数据包中的 生存时间TTL值与其它端口号返回的IP数据包中的生存时间TTL值不相等,则检测存在透 明互联网Web代理;若端口80返回的IP数据包中的生存时间TTL值与其它端口号返回的IP 数据包中的生存时间TTL值相等,则检测不存在透明互联网Web代理。
5、 根据权利要求1或2或3所述的方法,其特征在于,所述透明代理还包括透明域名 系统DNS代理,所述检测是否存在透明代理具体包括将传输控制协议TCP的三次握手包ayn发送给目标主机的端口53和其它端口号,所述 端口53,用于为域名系统DNS服务器提供服务;接收目标主机的端口 53与其它端口号返回的IP数据包;若端口 53返回的IP数据包中的生存时间TTL值与其它端口号返回的IP数据包中的生存时间TTL值不相等,则检测存在透明域名系统DNS代理;若端口 53返回的IP数据包中的生 存时间TTL值与其它端口号返回的IP数据包中的生存时间TTL值相等,则检测不存在透明 域名系统DNS代理。
6、 根据权利要求1或2或3所述的方法,其特征在于,所述透明代理还包括透明文本 传输协议FTP代理,所述检测是否存在透明代理具体包括将传输控制协议TCP的三次握手包ayn发送给目标主机的端口21和其它端口号,所述 端口 21 ,用于为文本传输协议FTP服务器提供服务;接收目标主机的端口21与其它端口号返回的IP数据包;所述端口21,用于为文本传输 协议FTP服务器提供服务;若端口21返回的IP数据包中的生存时间TTL值与其它端口号返回的IP数据包中的生存 时间TTL值不相等,则检测存在透明文本传输协议FTP代理;若端口21返回的IP数据包中 的生存时间TTL值与其它端口号返回的IP数据包中的生存时间TTL值相等,则检测不存在 透明文本传输协议FTP代理。
7、 一种检测透明代理的装置,其特征在于,包括,发送单元,用于将数据包发送给目标主机的预定端口号和其它端口号; 接收单元,用于接收目标主机的预定端口号和其它端口号返回的IP数据包; 比较检测单元,用于通过比较接收单元接收的预定端口号和其它端口号返回的IP数据 包中的生存时间TTL值,检测是否存在透明代理。
8、 根据权利要求7所述的装置,其特征在于所述预定端口号包括知名端口号中的--个端口号,所述知名端口号是固定分配特定协议或服务的端口号;所述其它端口号包括 除预定端口号之外的任意一个端口号。
9、 根据权利要求7所述的装置,其特征在于,所述比较检测单元具体包括-比较子单元,用于比较预定端口号返回的IP数据包中的生存时间TTL值与其它端口号返回的IP数据包中的生存时间TTL值是否相等,得到比较结果;检测确定子单元,用于根据比较子单元得到的比较结果检测确定是否存在透明代 理,具体若比较结果为相等,则检测确定不存在透明代理;若比较结果不相等,则检测 确定存在透明代理。
全文摘要
一种检测透明代理的方法及装置,首先,将数据包发送给目标主机的预定端口号和其它端口号;其次,接收目标主机的预定端口号和其它端口号返回的IP数据包;最后,通过比较预定端口号和其它端口号返回的IP数据包中的生存时间TTL值,检测是否存在透明代理。本发明实施例通过发送传输控制协议TCP的三次握手包ayn,比较接收到的不同端口返回的IP数据包头中生存时间TTL值,来检测透明代理,可以防止用户在不知情的情况下将一些敏感信息发送给透明代理,有效地提醒了用户,保证了用户通信的安全性。
文档编号H04L9/00GK101674177SQ20091023642
公开日2010年3月17日 申请日期2009年10月21日 优先权日2009年10月21日
发明者莉 丁, 区嘉亮 申请人:北京高信达网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1