1.一种拟态数据传输服务器,其特征在于,所述服务器包含:拟态协议特征管理模块、拟态协议选择模块和拟态协议数据传输模块;
所述拟态协议特征管理模块,用于采用协议特征数据库的形式管理若干的协议特征,所述协议特征包含:协议类型、操作系统类型、阶段码和响应码;
所述拟态协议选择模块,用于基于客户端的请求伪装一个包含特定的操作系统和协议类型的虚拟服务器,并将虚拟服务器采用的特定操作系统和协议类型的相关信息发回发出请求的客户端;
其中,所述特定的操作系统和协议类型来自于协议特征数据库;
所述拟态协议数据传输模块,用于基于拟态协议选择模块为客户端构建的虚拟服务器完成一次会话中客户端和服务端之间的数据传输。
2.根据权利要求1所述的拟态数据传输服务器,其特征在于,所述服务器还包含:
协议特征采集模块,用于采用人类工程学的方法,或者安装相应操作系统或客户端实测的方法采集协议特征,并将采集得到的协议特征的特征码存入协议特征数据库;
其中,采用协议特征采集模块采集得到的协议特征通过所述拟态协议特征管理模块输入到协议特征数据库。
3.根据权利要求1所述的拟态数据传输服务器,其特征在于,采用人类工程学方法采集得到Windows XP操作系统、Windows NT操作系统、Linux 2.6操作系统和FreeBSD操作系统相应TCP Reno实现的特征码,并将特征码通过拟态协议特征管理模块存入协议特征数据库。
4.根据权利要求1所述的拟态数据传输服务器,其特征在于,所述服务器还包含:
解析模块,用于基于服务器得到的用户请求,判断客户端的协议类型。
5.根据4权利要求所述的拟态数据传输服务器,其特征在于,所述拟态协议选择模块进一步包含:
操作系统类型获取模块,用于采用如下方法之一获取服务器的虚拟操作系统的类型:
方法一:根据服务器接收的客户端的IP地址、端口号、请求时间和阶段码,计算得到操作系统类型;
方法二,采用随机方法确定操作系统类型;
方法三,采用客户端的请求命令发出时间确定操作系统类型;
响应码获取子模块,用于根据解析得到的客户端的协议类型、虚拟操作系统的类型、客户端发送的阶段码为键值,搜索协议特征数据库,得出响应码,以此响应码对客户端请求做出响应;
记录子模块,用于采用四元组列表记录为一个客户端设定的虚拟操作系统类型,所述四元组列表包含的元素依次为:客户端IP、端口号、操作系统类型和协议类型。
6.一种拟态数据传输方法,该数据传输方法采用权利要求1-5中任意一条权利要求记载的拟态数据传输服务器为客户端传输数据,所述数据传输方法包含:
步骤101)客户端发出服务请求,建立服务器和客户端的连接;
步骤102)以客户端发送的客户端IP地址、端口号和协议类型为键值获得服务器端的虚拟操作系统的类型;
其中,虚拟操作系统的类型包含:服务器实际采用的操作系统和未被服务器实际采用而存储在协议特征数据库的操作系统;
步骤103)以客户端的协议类型,虚拟操作系统的类型和客户端发送的阶段码为键值,搜索协议特征数据库,进而得到响应码或响应例程,并基于得到的响应码或响应例程进行客户端和服务器之间的一次会话的数据传输;
其中,协议特征数据库为用于存储采集得到的协议特征的特征码,所述协议特征包含:协议类型、操作系统类型、阶段码和响应码。
7.根据权利要求6所述的拟态数据传输系统,其特征在于,所述步骤102)进一步包含:
步骤102-1)服务端得到客户端请求之后,判断得到协议类型;
步骤102-2)采用如下方法之一获取针对一个客户端的虚拟操作系统类型:
方法一,依据客户端的IP地址、端口号、请求时间和阶段码,计算得到操作系统类型;
方法二,采用随机方法确定操作系统类型;
方法三,根据请求时间确定操作系统类型。
8.根据权利要求7所述的拟态数据传输系统,其特征在于,所述步骤103)以协议类型、虚拟操作系统类型、阶段码为键值,搜索协议特征数据库,得出响应码,以此响应码对客户端请求做出响应为客户端提供数据。