一种Telnet系统及方法
技术领域
本发明涉及一种计算机网络技术,特别是涉及一种Telnet系统及方法。
背景技术
Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用Telnet程序,用它连接到服务器。终端使用者可以在Telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。Telnet是常用的远程控制Web服务器的方法。
通常Telnet采用固定的端口号,默认为23,由于Telnet协议方便,轻巧,得到了广泛的应用。现在的Telnet有个缺点,由于其端口号固定,很容易被不法分子攻击。同时,由于每次当接收到一个Telnet客户端请求时,Telnet服务端都会相应地建立一个console会话进程与Telnet客户端交互。很容易因为网络攻击导致在短时间内建立太多的console会话进程,从而造成系统资源的耗尽。
鉴于此,如何找到一种避免Telnet网络攻击的Telnet系统及方法成为了本领域技术人员亟待解决的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种Telnet系统及方法,用于解决现有技术中Telnet系统存在的Telnet网络安全的问题。
为实现上述目的及其他相关目的,本发明提供一种Telnet系统,包括Telnet服务端和Telnet客户端,所述Telnet服务端包括:固定监听模块,用于在默认端口监听Telnet客户端的连接请求;端口号确定模块,用于确定一个与Telnet客户端的连接端口号,并对所述连接端口号以预设加密算法加密得到加密数据,将所述加密数据发送给所述Telnet客户端;会话建立模块,用于接收Telnet客户端连接到所述连接端口号的请求,建立console会话进程。
可选地,所述连接端口号的确定方式包括随机确定方式。
可选地,所述随机确定方式包括每分钟确定一个新的连接端口号。
可选地,所述预设加密算法包括:将端口号加1后取反。
本发明还提供一种Telnet系统,包括Telnet服务端和Telnet客户端,所述Telnet客户端包括:连接请求模块,用于向Telnet服务端的默认端口发出连接请求;端口号获取模块,用于接收Telnet服务端发送的加密数据,并根据预设解密算法对所述加密数据进行解密得到连接端口号;连接建立模块,用于向Telnet服务端发出连接到所述连接端口号的请求,建立console会话进程。
可选地,所述预设解密算法包括:将加密数据取反后减1。
本发明还提供一种Telnet系统,包括如上所述任一的Telnet服务端和如上所述任一的Telnet客户端。
本发明还提供一种Telnet方法,应用于包括Telnet服务端和Telnet客户端的网络,所述Telnet方法包括:Telnet客户端请求连接到Telnet服务端的默认端口;Telnet服务端确定一个连接端口号,对所述连接端口号根据预设加密算法加密得到加密数据,并将所述加密数据发送给Telnet客户端;Telnet客户端接收到所述加密数据,并根据预设解密算法对所述加密数据进行解密得到所述连接端口号;Telnet客户端请求连接到Telnet服务端的所述连接端口号;Telnet服务端根据Telnet客户端的连接请求,建立console会话进程进行交互。
可选地,所述连接端口号的确定方式包括随机确定。
可选地,所述预设加密算法包括:将端口号加1后取反;所述预设解密算法包括:将加密数据取反后减一。
如上所述,本发明的一种Telnet系统及方法,具有以下有益效果:隐藏了Telnet服务端的真实端口号,不容易被攻击,避免了因网络攻击导致Telnet服务端在短时间内建立太多的console会话进程,从而造成系统资源的耗尽的问题。本发明提高了Telnet系统的安全度。
附图说明
图1显示为本发明的Telnet系统的一实施例的模块示意图。
图2显示为本发明的Telnet方法的一实施例的流程示意图。
元件标号说明
1 Telnet系统
11 Telnet服务端
111 固定监听模块
112 端口号确定模块
113 会话建立模块
12 Telnet客户端
121 连接请求模块
122 端口号获取模块
123 连接建立模块
S1~S5 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明提供一种Telnet系统,包括Telnet服务端和Telnet客户端。一个Telnet服务端可以与多个Telnet客户端建立连接。在一个实施例中,如图1所示,所述Telnet系统1包括Telnet服务端11和Telnet客户端12,所述Telnet服务端也可以称作Telnet服务器。所述Telnet服务端11包括固定监听模块111、端口号确定模块112以及会话建立模块113。其中:
固定监听模块111用于在默认端口监听Telnet客户端12的连接请求。Telnet服务的默认端口为23端口,23端口主要用于Telnet(远程登录)服务。Telnet服务端对默认端口进行监听,即监听是否有Telnet客户端12发出对23端口的连接请求。
端口号确定模块112用于确定一个与Telnet客户端12的连接端口号,并对所述连接端口号以预设加密算法加密得到加密数据,将所述加密数据发送给所述Telnet客户端12。当Telnet服务端11监听到有Telnet客户端发出对23端口的连接请求时,端口号确定模块112将确定一个与Telnet客户端12的连接端口号。这个连接端口号可以随机生成。所述连接端口号也可以采用以下方式确定:Telnet服务端11每隔固定时间段生成一个随机监听端口(比如每分钟更新一次,即随机监听端口每分钟变化一次),端口号确定模块112以当前的随机监听端口号作为连接端口号。在一个实施例中,所述预设加密算法包括:将端口号加1,然后对进行取反。端口号确定模块112对所述连接端口号加1后取反得到加密数据。如连接端口号为P,则加密得到的加密数据Q=~(P+1),将所述加密数据发送给所述Telnet客户端12。
会话建立模块113用于接收Telnet客户端12连接到所述连接端口号的请求,建立console会话进程。具体地,当会话建立模块113接收到Telnet客户端12连接到所述连接端口号的请求时,根据所述连接端口号建立一个Telnet服务端11与Telnet客户端12之间的console会话进程。
本发明还提供一种Telnet系统1,包括Telnet服务端11和Telnet客户端12。在一个实施例中,如图1所示,所述Telnet客户端12包括连接请求模块121、端口号获取模块122以及连接建立模块123。其中:
连接请求模块121用于向Telnet服务端11的默认端口发出连接请求。Telnet服务的默认端口为23端口,23端口主要用于Telnet(远程登录)服务。Telnet客户端11通过向Telnet服务端的默认端口发出Telnet连接请求。
端口号获取模块122用于接收Telnet服务端11发送的加密数据,并根据预设解密算法对所述加密数据进行解密得到连接端口号。在一个实施例中,所述预设解密算法包括:将加密数据取反得到中间结果,然后对中间结果减1。端口号获取模块122对所述加密数据取反后减1得到连接端口号。如加密数据为Q,则解密得到的连接端口号为P=~Q-1。
连接建立模块123用于向Telnet服务端11发出连接到所述连接端口号的请求,建立console会话进程。具体地,连接建立模块123向Telnet服务端11发出连接到Telnet服务端11的所述连接端口号的请求,根据所述连接端口号建立一个Telnet服务端11与Telnet客户端12之间的console会话进程。
本发明还提供一种Telnet系统1。所述Telnet系统1包括如上所述任一的Telnet服务端11和如上所述任一的Telnet客户端12。在一个实施例中,如图1所示,所述Telnet服务端11包括固定监听模块111、端口号确定模块112以及会话建立模块113。所述Telnet客户端12包括连接请求模块121、端口号获取模块122以及连接建立模块123。其中:
Telnet服务端11的固定监听模块111用于在默认端口监听Telnet客户端12的连接请求。Telnet默认端口为23端口,23端口主要用于Telnet(远程登录)服务。Telnet服务端对默认端口进行监听,监听是否有Telnet客户端12发出对23端口的连接请求。
Telnet客户端12的连接请求模块121向Telnet服务端11的默认端口发出连接请求。Telnet客户端11通过向Telnet服务端的默认端口发出Telnet连接请求。
Telnet服务端11的端口号确定模块112用于确定一个与Telnet客户端12的连接端口号,并对所述连接端口号以预设加密算法加密得到加密数据,将所述加密数据发送给所述Telnet客户端12。当Telnet服务端11监听到有Telnet客户端发出对23端口的连接请求时,端口号确定模块112将确定一个与Telnet客户端12的连接端口号。这个连接端口号可以随机生成。所述连接端口号也可以采用以下方式确定:Telnet服务端11每隔固定时间段生成一个随机监听端口(比如每分钟更新一次,即随机监听端口每分钟变化一次),端口号确定模块112以当前的随机监听端口号作为连接端口号。在一个实施例中,所述预设加密算法包括:将端口号加1后取反。端口号确定模块112对所述连接端口号加1后取反得到加密数据。如连接端口号为P,则加密得到的加密数据Q=~(P+1),将所述加密数据发送给所述Telnet客户端12。
Telnet客户端12的端口号获取模块122接收Telnet服务端11发送的加密数据,并根据预设解密算法对所述加密数据进行解密得到连接端口号。在一个实施例中,所述预设解密算法包括:将加密数据取反后减一。端口号获取模块122对所述加密数据取反后减一得到连接端口号。如加密数据为Q,则解密得到的连接端口号为P=~Q-1。
Telnet客户端12的连接建立模块123向Telnet服务端11发出连接到所述连接端口号的请求,建立console会话进程。
Telnet服务端11的会话建立模块113用于接收Telnet客户端12连接到所述连接端口号的请求,建立console会话进程。具体地,当话建立模块113接收到Telnet客户端12连接到所述连接端口号的请求时,根据所述连接端口号建立一个Telnet服务端11与Telnet客户端12之间的console会话进程。
本发明还提供一种Telnet方法,应用于包括Telnet服务端和Telnet客户端的网络。在一个实施例中,如图2所示,所述Telnet方法包括:
步骤S1,Telnet客户端请求连接到Telnet服务端的默认端口。Telnet服务的默认端口为23端口,23端口主要用于Telnet(远程登录)服务。
步骤S2,当Telnet服务端监听到Telnet客户端的连接请求后,确定一个连接端口号,对所述连接端口号根据预设加密算法加密得到加密数据,并将所述加密数据发送给Telnet客户端。这个连接端口号可以随机生成。在一个实施例中,所述连接端口号也可以采用以下方式确定:Telnet服务端每隔固定时间段生成一个随机监听端口(比如每分钟更新一次,即随机监听端口每分钟变化一次),Telnet服务端以当前的随机监听端口号作为连接端口号。在一个实施例中,所述预设加密算法包括:将端口号加1后取反。Telnet服务端对所述连接端口号加1后取反得到加密数据。如连接端口号为P,则加密得到的加密数据Q=~(P+1),将所述加密数据发送给所述Telnet客户端。
步骤S3,Telnet客户端接收到所述加密数据,并根据预设解密算法对所述加密数据进行解密得到所述连接端口号。在一个实施例中,所述预设解密算法包括:将加密数据取反后减一。端口号获取模块122对所述加密数据取反后减一得到连接端口号。如加密数据为Q,则解密得到的连接端口号为P=~Q-1。
步骤S4,Telnet客户端请求连接到Telnet服务端的所述连接端口号。即Telnet客户端向Telnet服务端发出连接到Telnet服务端的所述连接端口号的请求。
步骤S5,Telnet服务端根据Telnet客户端的连接请求,建立console会话进程进行交互。具体地,当Telnet服务端接收到Telnet客户端连接到所述连接端口号的请求时,根据所述连接端口号建立一个Telnet服务端与Telnet客户端之间的console会话进程。
在一个实施例中,所述Telnet方法还包括:当所述Telnet服务端与Telnet客户端之间交互结束时,关闭所述console会话进程。
综上所述,本发明Telnet系统及方法通过建立Telnet服务端的端口保护机制,在接收到Telnet客户端的连接请求后随机确定连接端口号,从而隐藏了Telnet客户端与Telnet服务端之间建立的会话的真实端口号,进而降低了Telnet服务端受攻击的可能性。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。