一种ftp文件传输系统及传输方法

文档序号:7807775阅读:166来源:国知局
一种ftp文件传输系统及传输方法
【专利摘要】本发明提供了一种FTP文件传输系统,包括FTP客户端和FTP服务器,所述FTP客户端和FTP服务器基于FTP进行数据传输,还包括FTP代理服务器,所述FTP客户端通过FTP协议连接到所述FTP代理服务器,所述FTP客户端与所述FTP代理服务器进行交互,通知所述FTP代理服务器需要连接的FTP服务器地址;FTP代理服务器接受FTP客户端会话后,根据FTP客户端发来命令和请求连接对应的FTP服务器,并与对应的FTP服务器建立FTP会话。本发明还提供了一种FTP文件传输方法。本发明大大地提高了FTP方式的运维操作的安全性。
【专利说明】一种FTP文件传输系统及传输方法

【技术领域】
[0001] 本发明属于通信中文件传输领域,特别涉及一种FTP文件传输系统及传输方法。

【背景技术】
[0002] 文件传输协议(下文简称FTP)使用TCP可靠的运输层。FTP的主要功能就是减少 或消除在不同操作系统下处理文件的不兼容性。
[0003] FTP的工作情况如下:在进行文件传输时,FTP的客户和服务器之间要建立两个连 接:"控制连接"和"数据连接"。控制连接在整个会话期间一直保持打开,FTP客户发出的 传送请求通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。实际 用于传输文件的是"数据连接"。服务器端的控制进程在接收到FTP客户发送来的文件传 输请求后就创建"数据传送进程"和"数据连接",用来连接客户端和服务器端的数据传送进 程。数据传送进程实际完成文件的传送,在传送完毕后关闭"数据传送连接"并结束运行。
[0004] 当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端 口(21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。接着, 服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号码建立数据传送 连接。由于FTP使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。
[0005] FTP的工作模式和其他网络通信协议有很大的区别。通常在进行HTTP通信,只要 一个通信端口进行通信。即客户端只要连接一个端口进行数据传输。而FTP使用两个独立 的连接,其主要优点是使网络数据传输分工更加明确,同时在文件传输时还可以利用控制 连接。
[0006] FTP在日常的运维操作中比较常见,由于FTP的工作模式,运维行为可能会造成整 个系统的不安全性,因为在整个传输过程中没有对运维的行为进行监控和限制。


【发明内容】

[0007] 发明目的:本发明的目的在于针对现有技术的不足,提供一种使用更加安全方便 的FTP文件传输系统。
[0008] 技术方案:本发明提供了一种FTP文件传输系统,包括FTP客户端和FTP服务器, 所述FTP客户端和FTP服务器基于FTP进行数据传输,还包括FTP代理服务器,所述FTP客 户端通过FTP协议连接到所述FTP代理服务器,所述FTP客户端与所述FTP代理服务器进 行交互,通知所述FTP代理服务器需要连接的FTP服务器地址;FTP代理服务器接受FTP客 户端会话后,根据FTP客户端发来命令和请求连接对应的FTP服务器,并与对应的FTP服务 器建立FTP会话。
[0009] 进一步,所述FTP服务器包括连接控制与登录认证模块、会话转发模块、命令记录 模块、命令过滤模块、会话中断模块、FTP会话监控模块和数据库,其中,
[0010] 所述连接控制与登录认证模块在FTP客户端登陆FTP代理服务器后,解析用户附 加的登录信息,分析用户需要登陆的FTP服务器的地址并得到相应权限,之后连接需要登 陆的FTP服务器,完成会话建立过程;
[0011] 所述会话转发模块、命令记录模块和命令过滤模块在会话建立后相互协同工作, 所述会话转发模块和命令记录模块用于用户会话过程中的会话命令和相应内容的记录和 转发,所述命令过滤模块根据既定的会话控制要求,过滤和截断不符合要求的运行;
[0012] 所述FTP会话监控模块实时对FTP客户端与FTP服务器之间的会话进行监控;
[0013] 所述会话中断模块根据FTP会话监控模块的监控结果提供会话中断的功能。
[0014] 所述数据库用于存储运维记录。如时间,IP信息,运维开始结束时间,命令文件的 位置等。
[0015] 更近一步,还包括共享数据模块,所述数据库通过所述共享数据模块与其它模块 连接。这样共享数据区可以起到缓冲的作用,而且有些模块可以直接从共享数据区提取数 据,有效的提高了整个系统工作效率。
[0016] 本发明还提供了一种FTP文件传输方法,包括以下步骤:
[0017] 步骤1 :FTP客户端将要连接的FTP服务器的IP地址传递给FTP代理服务器;
[0018] 步骤2 :FTP代理服务器从数据库中获取对应FTP服务器的用户名及密码信息,并 且生成随机用户名和密码,返回给FTP客户端;
[0019] 步骤3 :FTP客户端通过随机用户名与密码与FTP代理服务器建立连接;
[0020] 步骤4 :FTP代理服务器对FTP客户端信息进行验证;
[0021] 步骤5 :验证通过后,FTP代理服务器通过真实用户名和密码与对应的FTP服务器 建立FTP连接;
[0022] 步骤6 :FTP代理服务器进行FTP数据包的分析以及转发。
[0023] 进一步,在整个连接通信过程中,FTP代理服务器对会话进行实时的监控,对于超 出FTP客户端权限的会话,FTP代理服务器自行中断FTP客户端与FTP服务器之间的会话。
[0024] 有益效果:与现有技术相比,本发明通过串行方式在FTP客户端与FTP服务器之间 接入一个FTP代理服务器,从而实现FTP客户端与FTP服务器之间通信的实时监测。本发 明可以实现基本的文件传输功能,同时可以对FTP客户端和FTP服务器的实时交互进行监 控,并可以随时中断FTP客户端与FTP服务器的连接,通过对一些禁止命令的设置,提高FTP 方式运维的安全性,大大地提高了 FTP方式的运维操作的安全性。

【专利附图】

【附图说明】
[0025] 图1为本发明的FTP文件传输系统的示意图;
[0026] 图2为本发明的FTP代理服务器工作程序整体流程;
[0027] 图3为本发明的FTP代理服务器控制命令处理流程;
[0028] 图4为本发明的FTP代理服务器业务处理逻辑示意图。

【具体实施方式】
[0029] 下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施 例。
[0030] 实施例:如图1所示,FTP文件传输系统的示意图,FTP代理服务器通过串行方式 接在FTP客户端与FTP服务器之间,FTP客户端通过FTP协议连接到FTP代理服务器,FTP 客户端与FTP代理服务器进行交互,对于FTP客户端传送过来的命令及请求,FTP代理服务 器将其记录,并把内容通过与FTP服务器的会话转对应要求的FTP服务器,对于对应要求的 FTP服务器传回的响应信息,FTP代理服务器在记录之后,同样通过与FTP客户端的连接转 回FTP客户端。FTP代理服务器就实现了 FTP客户端与FTP服务器会话中类似"中间桥梁" 的作用。
[0031] FTP代理服务器的结构包括连接控制与登录认证模块、会话转发模块、命令记录模 块、命令过滤模块、会话中断模块、FTP会话监控模块、数据库和共享数据模块。其中,连接 控制与登录认证模块在FTP客户端登陆代理服务器后,解析用户附加的登录信息,分析用 户实际登陆的FTP服务器的地址并得到相应权限,之后连接需要登陆的FTP服务器,完成会 话建立过程;会话建立后,会话转发模块、命令记录、命令过滤模块和会话中断模块协同工 作,负责用户会话过程中的会话命令和相应内容的记录、转发,并实现根据既定的会话控制 策略,过滤和截断某些不属于既定的会话控制策略的命令的运行。FTP会话监控模块实时 对FTP客户端与FTP服务器之间的会话进行监控;并将结果反馈到通过共享数据模块保存 到数据库中,会话中断模块实时从共享数据模块中调取FTP会话监控模块的监控结果,对 于超出权限的对话进行中断,这样,在审计管理员使用管理web界面进行会话监控时,可以 中断正在进行的会话。数据库用于存储每个模块生成的数据以及FTP客户端和FTP服务器 之间传递的命令和?目息。
[0032] 本发明提供的一种FTP文件传输方法,包括以下步骤:
[0033] 步骤1 :FTP客户端将要连接的FTP服务器的IP地址传递给FTP代理服务器;
[0034] 步骤2 :FTP代理服务器从数据库中获取对应FTP服务器的用户名及密码信息,并 且生成随机用户名和密码,返回给FTP客户端;
[0035] 步骤3 :FTP客户端通过随机用户名与密码与FTP代理服务器建立连接;
[0036] 步骤4 :FTP代理服务器对FTP客户端信息进行验证;
[0037] 步骤5 :验证通过后,FTP代理服务器通过真实用户名和密码与对应的FTP服务器 建立FTP连接;
[0038] 步骤6 :FTP代理服务器进行FTP数据包的分析以及转发。
[0039] 在整个连接通信过程中,FTP代理服务器对会话进行实时的监控,对于超出FTP客 户端权限的会话,FTP代理服务器自行中断FTP客户端与FTP服务器之间的会话。
[0040] 其中,图2是FTP代理服务器工作程序整体流程。FTP代理服务器采用Socket (套 接字)网络服务器结构构建,应用多线程+10复用网络服务器模型,服务器为每个连接的会 话建立独立的数据结构,整体管理会话连接,为每n(n〈 = 50)个会话开启一个线程处理η 个会话的请求响应的转发和记录存储。
[0041] 图3是FTP代理服务器控制命令处理流程。每个运维会话开始后,进行命令及相 应数据的处理、转发、记录等过程。对于代理的FTP协议的命令,根据功能处理方法分为五 类:一问一答式命令、建立连接命令(如PASV和PORT)、服务器向客户端传输数据命令(简 称为StoC命令)、FTP客户端向FTP服务器传送数据命令(简称为CtoS命令)、其他特殊 命令(如AB0R等)。运维会话开始后,FTP客户端向FTP代理服务器发送控制命令,代理根 据命令内容进行解析,对不正确的命令格式进行丢弃,正确的命令格式,判断命令的类别, 对不同的命令类型,进行不同的处理过程。对于一问一答型命令,记录命令内容到数据库, 然后转发命令到后台实际服务器;之后判断是否为建立连接命令,如果是开启新线程建立 数据连接;再判断是否为FTP服务器到FTP客户端或FTP客户端到FTP服务器的命令,这时 通过数据缓冲区从FTP服务器/FTP客户端读取缓冲区大小的数据,发送到FTP客户端/FTP 服务器,之后判断是否为列目录命令,如果是则记录内容;最后对于特殊类型命令,为命令 单独开启特别的处理过程。分类处理结束后,把缓冲区中的命令和相应记录在数据库,记录 时根据数据量大小,大于缓冲区大小分为多条存储。
[0042] 图4为本发明所述的FTP代理服务器业务处理逻辑示意图。
[0043] 1)运维人员访问登录主页面;
[0044] 2)运维人员输入登录帐号和口令;
[0045] 3)连接控制与登录认证模块查询帐号/ 口令;
[0046] 4)查询成功;
[0047] 5连接控制与登录认证模块回馈成功认证信息;
[0048] 6)生成认证成功页面;
[0049] 7)进入运维设备界面
[0050] 8)运维人员选择运维设备及FTP客户端,并启动FTP客户端;
[0051] 9)运维人员输入运维会话数据到FTP客户端;
[0052] 10)FTP客户端发送运维会话数据到FTP代理服务器;
[0053] 11) FTP代理服务器调用运维设备权限表,判断权限;
[0054] 12) FTP代理服务器调用运维时间权限表,判断权限;
[0055] 13) FTP代理服务器调用禁止的运维命令表,判断权限;
[0056] 14) FTP代理服务器记录运维会话数据到运维会话数据库表;
[0057] 15) FTP代理服务器记录运维会话数据到日志文件;
[0058] 16)FTP代理服务器转发运维会话数据到目标设备;
[0059] 17)目标设备返回运维操作响应数据到FTP代理服务器;
[0060] 18)FTP代理服务器转发运维操作响应数据到FTP客户端。
【权利要求】
1. 一种FTP文件传输系统,包括FTP客户端和FTP服务器,所述FTP客户端和FTP服务 器基于FTP进行数据传输,其特征在于:还包括FTP代理服务器,所述FTP客户端通过FTP 协议连接到所述FTP代理服务器,所述FTP客户端与所述FTP代理服务器进行交互,通知所 述FTP代理服务器需要连接的FTP服务器地址;FTP代理服务器接受FTP客户端会话后,根 据FTP客户端发来命令和请求连接对应的FTP服务器,并与对应的FTP服务器建立FTP会 话。
2. 根据权利要求1所述的FTP文件传输系统,其特征在于:所述FTP服务器包括连接 控制与登录认证模块、会话转发模块、命令记录模块、命令过滤模块、会话中断模块、FTP会 话监控模块和数据库,其中, 所述连接控制与登录认证模块在FTP客户端登陆FTP代理服务器后,解析用户附加的 登录信息,分析用户需要登陆的FTP服务器的地址并得到相应权限,之后连接需要登陆的 FTP服务器,完成会话建立过程; 所述会话转发模块、命令记录模块和命令过滤模块在会话建立后相互协同工作,所述 会话转发模块和命令记录模块用于用户会话过程中的会话命令和相应内容的记录和转发, 所述命令过滤模块根据既定的会话控制要求,过滤和截断不符合要求的运行; 所述FTP会话监控模块实时对FTP客户端与FTP服务器之间的会话进行监控; 所述会话中断模块根据FTP会话监控模块的监控结果提供会话中断的功能。 所述数据库用于存储运维记录。
3. 根据权利要求2所述的FTP文件传输系统,其特征在于:还包括共享数据模块,所述 数据库通过所述共享数据模块与其它模块连接。
4. 一种FTP文件传输方法,其特征在于:包括以下步骤: 步骤1 :FTP客户端将要连接的FTP服务器的IP地址传递给FTP代理服务器; 步骤2 :FTP代理服务器从数据库中获取对应FTP服务器的用户名及密码信息,并且生 成随机用户名和密码,返回给FTP客户端; 步骤3 :FTP客户端通过随机用户名与密码与FTP代理服务器建立连接; 步骤4 :FTP代理服务器对FTP客户端信息进行验证; 步骤5 :验证通过后,FTP代理服务器通过真实用户名和密码与对应的FTP服务器建立 FTP连接; 步骤6 :FTP代理服务器进行FTP数据包的分析以及转发。
5. 根据权利要求4所述的一种FTP文件传输方法,其特征在于:在整个连接通信过程 中,FTP代理服务器对会话进行实时的监控,对于超出FTP客户端权限的会话,FTP代理服务 器自行中断FTP客户端与FTP服务器之间的会话。
【文档编号】H04L29/08GK104065731SQ201410307315
【公开日】2014年9月24日 申请日期:2014年6月30日 优先权日:2014年6月30日
【发明者】吴克河, 崔文超, 丁雪伟 申请人:江苏华大天益电力科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1