一种无协议栈模式下针对TCP的中间人处理方法技术

技术编号:14853860 阅读:59 留言:0更新日期:2017-03-18 20:45
本发明专利技术涉及一种无协议栈模式下针对TCP的中间人处理方法,包括:截取发送端向接收端发送的TCP数据包后,对TCP数据包进行TCP/IP重组;然后修改该TCP数据包的载荷长度;修改TCP数据包的TCP首部信息,至少包括序列号、确认号;最后对TCP数据包进行缓存,并向接收端转发。

【技术实现步骤摘要】

本专利技术涉及网络通信领域,特别涉及一种无协议栈模式下针对TCP的中间人处理方法
技术介绍
随着互联网的发展,网络传输媒体日益多样化,网络安全问题也逐渐受到人们的重视。作为网络攻击的一种,中间人攻击具有很强的隐蔽性,威胁巨大。攻击者使自己位于信息发送者和接收者之间,对双方交互的信息进行处理。但在某些特定情况下,中间人技术也有可取之处。例如中间人技术可以在一定程度上对网络犯罪进行监测、对网络中非法暴力色情信息进行屏蔽。现有的TCP中间人处理方法都是工作在正常TCP/IP协议栈模式下,中间人采用与两端分别建立两个连接的方法,监听两端的交互报文。这种方法的优点是实现简单。由于该方法工作在正常TCP/IP协议栈模式下,因此每当收到数据包时,需要将数据包先后提交到网络层(IP协议栈)、传输层(TCP协议栈)、应用层进行处理;之后再经过应用层、传输层(TCP)、网络层(IP)进行封装;最后将数据包进行转发。显然现有TCP中间人处理方法的实时性较差,会对网络吞吐量造成影响。另外,该方法也会对两端的正常交互造成影响。
技术实现思路
本专利技术的目的在于本文档来自技高网...

【技术保护点】
一种无协议栈模式下针对TCP的中间人处理方法,包括:截取发送端向接收端发送的TCP数据包后,对TCP数据包进行TCP/IP重组;然后修改该TCP数据包的载荷长度;修改TCP数据包的TCP首部信息,至少包括序列号、确认号;最后对TCP数据包进行缓存,并向接收端转发。

【技术特征摘要】
1.一种无协议栈模式下针对TCP的中间人处理方法,包括:
截取发送端向接收端发送的TCP数据包后,对TCP数据包进行TCP/IP重组;
然后修改该TCP数据包的载荷长度;修改TCP数据包的TCP首部信息,至少包括
序列号、确认号;最后对TCP数据包进行缓存,并向接收端转发。
2.根据权利要求1所述的无协议栈模式下针对TCP的中间人处理方法,其特征
在于,该方法进一步包括:
步骤S101、收到一个TCP数据包;
步骤S102、对该TCP数据包进行TCP/IP重组;
步骤S103、通过TCP重组的信息判断该TCP数据包是否为重传包,若是,则
转到重传包处理流程S108,否则,转到正常包处理流程S104;
步骤S104、按照需求修改该数据包的载荷长度,载荷长度变化值记为offset,转
步骤S105;
步骤S105、检查该TCP数据包是否捎带了确认号,若是,则转步骤S106,否
则,转步骤S107;
步骤S106、提取该TCP数据包的五元组,进行反向哈希查找,对反向的TCP
流进行确认,在反向缓存队列中删除已经确认过的TCP数据包,并修改TCP首部的
确认号,转步骤S107;
步骤S107、以TCP数据包的五元组进行正向哈希查找,修改TCP首部的序列
号,将该包插入正向缓存队列的队尾,并向前转发,转步骤S111;
步骤S108、确定该TCP数据包为重传包,判断该重传包是否已经被TCP中间
人处理模块确认,若是,则转步骤S109,否则,转步骤S110;
步骤S109、以该TCP数据包的五元组进行反向哈希查找,找到反向缓存队列中
对应的TCP数据包,将缓存队列中对应的TCP数据包向后转发,丢弃原TCP数据
包,转步骤S111;
步骤S110、以该TCP数据包的五元组进...

【专利技术属性】
技术研发人员:郑艳伟袁鼎宋磊叶晓舟周渊斐
申请(专利权)人:中国科学院声学研究所北京中科智网科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1