[发明专利]一种实现TCP代理完全透明的方法有效

专利信息
申请号: 201810731684.0 申请日: 2018-07-05
公开(公告)号: CN108924138B 公开(公告)日: 2020-10-23
发明(设计)人: 刘佳;范渊;吴永越;郑学新;刘韬 申请(专利权)人: 成都安恒信息技术有限公司
主分类号: H04L29/06 分类号: H04L29/06;H04L29/12
代理公司: 成都君合集专利代理事务所(普通合伙) 51228 代理人: 张鸣洁
地址: 610000 四川省成都市高新区*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 实现 tcp 代理 完全 透明 方法
【权利要求书】:

1.一种实现TCP代理完全透明的方法,其特征在于:具体包括以下步骤:

步骤F1:TCP代理服务器通过对Client流向Server的TCP Syn报文进行拦截和缓存,实现MAC地址透明;

步骤F2:TCP代理服务器检查并拷贝Client和Server之间的互发的报文头部字段,实现IP头部TOS和TTL字段透明;

步骤F3:TCP代理服务器为Client建立network namespace,实现TCP端口透明;

所述TCP代理服务器包括相互连接的TCP代理模块、Syn_handler模块、Bridge,所述TCP代理模块包括Tcpproxy_client、Tcpproxy_server、Fd_binder;

所述步骤F1具体包括以下步骤:

步骤F101:Client发出Tcp Syn报文请求,试图与Server建立连接,Bridge学习并记录Client的源MAC地址;

步骤F102: Client发出的Tcp Syn报文到达TCP代理服务器,被Syn_handler模块拦截并缓存;

步骤F103:Syn_handler模块向TCP代理模块发送消息,通知TCP代理模块记录拦截的Tcp Syn报文五元组信息并且发起与Server的TCP连接;

步骤F104:TCP代理模块中的Tcpproxy_client通过Bridge向Server发送Tcp Syn报文,尝试与Server建立连接;

步骤F105:TCP代理服务器中的Bridge转发Tcpproxy_client发出的Tcp Syn报文到Server,此时TCP代理服务器发出的报文的源MAC地址被改成Client的MAC地址,Tcpproxy_client伪装为Client;

步骤F106:Server回复并通过Bridge与TCP代理模块握手建立连接,Bridge通过Server回复的报文进行二层信息学习,记录Server的源MAC地址;

步骤F107:Bridge转发Server回复的报文到Tcpproxy_client,同时TCP代理模块发送确认给Bridge,并且得到与Server连接的文件描述符Client fd;

步骤F108:TCP代理模块的Tcpproxy_client向Fd_binder提交连接的文件描述符Client fd;

步骤F109:TCP代理模块通知Syn_handler模块将步骤F102中Client发来的原始TcpSyn报文放行;

步骤F110:Syn_handler模块将Client发来的原始Tcp Syn报文提交到TCP代理模块中;

步骤F111:TCP代理模块回复ACK确认报文给Client,通过Bridge与Client交互握手,TCP代理服务器发出的所有交互报文源MAC地址被修改为Server的MAC地址,此时建立TCP代理服务器与Client的连接,得到与Client连接的文件描述符Server fd;

步骤F112:TCP代理模块的Tcpproxy_server向Fd_binder提交连接文件描述符Serverfd,Fd_binder根据五元组信息对文件描述符Server fd和文件描述符Client fd进行关联绑定为fd关联组;

步骤F113:Tcpproxy_server和Tcpproxy_client通过Fd_binder绑定的fd关联组进行数据转发。

2.根据权利要求1所述的一种实现TCP代理完全透明的方法,其特征在于:所述步骤F2具体包括以下步骤:

步骤F201:TCP代理服务器检查Client发往Server的报文头部字段;

步骤F202:所述步骤F201中的报文头部字段的TOS和TTL值被Tcpproxy_client拷贝到TCP代理服务器发往Server的请求报文中;

步骤F203:TCP代理服务器检查Server发往Client的报文头部字段;

步骤F204:所述步骤F203中的报文头部字段的TOS和TTL值被Tcpproxy_server拷贝到TCP代理服务器发往Client的请求报文中。

3.根据权利要求1所述的一种实现TCP代理完全透明的方法,其特征在于:所述Client的数量有多个且分别与TCP代理服务器连接,所述network namespace的数量有多个且与多个所述Client一一对应,所述network namespace分别与Bridge连接;

所述步骤F3具体包括以下步骤:

步骤F301:任意一个Client发起Tcp Syn报文请求,被TCP代理服务器截获;

步骤F302:TCP代理服务器检查收到的Tcp Syn报文是否属于某个已经存在的Client,如果是,则找到与所述Client相对应的network namespace;如果不是,则为Client创建对应的network namespace;

步骤F303:步骤F301中所述Client发出的Tcp Syn报文被送往对应的networknamespace中进行处理;

步骤F304:TCP代理模块进程通过在步骤F303中所述network namespace与Server建立连接并通信,Tcpproxy_client使用的IP地址和TCP源端口与步骤F301中所述Client的完全一致。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都安恒信息技术有限公司,未经成都安恒信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201810731684.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top