CN104065731B - 一种ftp文件传输系统及传输方法 - Google Patents
一种ftp文件传输系统及传输方法 Download PDFInfo
- Publication number
- CN104065731B CN104065731B CN201410307315.0A CN201410307315A CN104065731B CN 104065731 B CN104065731 B CN 104065731B CN 201410307315 A CN201410307315 A CN 201410307315A CN 104065731 B CN104065731 B CN 104065731B
- Authority
- CN
- China
- Prior art keywords
- ftp
- server
- session
- client
- proxy servers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种FTP文件传输系统,包括FTP客户端和FTP服务器,所述FTP客户端和FTP服务器基于FTP进行数据传输,还包括FTP代理服务器,所述FTP客户端通过FTP协议连接到所述FTP代理服务器,所述FTP客户端与所述FTP代理服务器进行交互,通知所述FTP代理服务器需要连接的FTP服务器地址;FTP代理服务器接受FTP客户端会话后,根据FTP客户端发来命令和请求连接对应的FTP服务器,并与对应的FTP服务器建立FTP会话。本发明还提供了一种FTP文件传输方法。本发明大大地提高了FTP方式的运维操作的安全性。
Description
技术领域
本发明属于通信中文件传输领域,特别涉及一种FTP文件传输系统及传输方法。
背景技术
文件传输协议(下文简称FTP)使用TCP可靠的运输层。FTP的主要功能就是减少或消除在不同操作系统下处理文件的不兼容性。
FTP的工作情况如下:在进行文件传输时,FTP的客户和服务器之间要建立两个连接:“控制连接”和“数据连接”。控制连接在整个会话期间一直保持打开,FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到FTP客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。
当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口(21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。接着,服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号码建立数据传送连接。由于FTP使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。
FTP的工作模式和其他网络通信协议有很大的区别。通常在进行HTTP通信,只要一个通信端口进行通信。即客户端只要连接一个端口进行数据传输。而FTP使用两个独立的连接,其主要优点是使网络数据传输分工更加明确,同时在文件传输时还可以利用控制连接。
FTP在日常的运维操作中比较常见,由于FTP的工作模式,运维行为可能会造成整个系统的不安全性,因为在整个传输过程中没有对运维的行为进行监控和限制。
发明内容
发明目的:本发明的目的在于针对现有技术的不足,提供一种使用更加安全方便的FTP文件传输系统。
技术方案:本发明提供了一种FTP文件传输系统,包括FTP客户端和FTP服务器,所述FTP客户端和FTP服务器基于FTP进行数据传输,还包括FTP代理服务器,所述FTP客户端通过FTP协议连接到所述FTP代理服务器,所述FTP客户端与所述FTP代理服务器进行交互,通知所述FTP代理服务器需要连接的FTP服务器地址;FTP代理服务器接受FTP客户端会话后,根据FTP客户端发来命令和请求连接对应的FTP服务器,并与对应的FTP服务器建立FTP会话。
进一步,所述FTP服务器包括连接控制与登录认证模块、会话转发模块、命令记录模块、命令过滤模块、会话中断模块、FTP会话监控模块和数据库,其中,
所述连接控制与登录认证模块在FTP客户端登陆FTP代理服务器后,解析用户附加的登录信息,分析用户需要登陆的FTP服务器的地址并得到相应权限,之后连接需要登陆的FTP服务器,完成会话建立过程;
所述会话转发模块、命令记录模块和命令过滤模块在会话建立后相互协同工作,所述会话转发模块和命令记录模块用于用户会话过程中的会话命令和相应内容的记录和转发,所述命令过滤模块根据既定的会话控制要求,过滤和截断不符合要求的运行;
所述FTP会话监控模块实时对FTP客户端与FTP服务器之间的会话进行监控;
所述会话中断模块根据FTP会话监控模块的监控结果提供会话中断的功能。
所述数据库用于存储运维记录。如时间,IP信息,运维开始结束时间,命令文件的位置等。
更近一步,还包括共享数据模块,所述数据库通过所述共享数据模块与其它模块连接。这样共享数据区可以起到缓冲的作用,而且有些模块可以直接从共享数据区提取数据,有效的提高了整个系统工作效率。
本发明还提供了一种FTP文件传输方法,包括以下步骤:
步骤1:FTP客户端将要连接的FTP服务器的IP地址传递给FTP代理服务器;
步骤2:FTP代理服务器从数据库中获取对应FTP服务器的用户名及密码信息,并且生成随机用户名和密码,返回给FTP客户端;
步骤3:FTP客户端通过随机用户名与密码与FTP代理服务器建立连接;
步骤4:FTP代理服务器对FTP客户端信息进行验证;
步骤5:验证通过后,FTP代理服务器通过真实用户名和密码与对应的FTP服务器建立FTP连接;
步骤6:FTP代理服务器进行FTP数据包的分析以及转发。
进一步,在整个连接通信过程中,FTP代理服务器对会话进行实时的监控,对于超出FTP客户端权限的会话,FTP代理服务器自行中断FTP客户端与FTP服务器之间的会话。
有益效果:与现有技术相比,本发明通过串行方式在FTP客户端与FTP服务器之间接入一个FTP代理服务器,从而实现FTP客户端与FTP服务器之间通信的实时监测。本发明可以实现基本的文件传输功能,同时可以对FTP客户端和FTP服务器的实时交互进行监控,并可以随时中断FTP客户端与FTP服务器的连接,通过对一些禁止命令的设置,提高FTP方式运维的安全性,大大地提高了FTP方式的运维操作的安全性。
附图说明
图1为本发明的FTP文件传输系统的示意图;
图2为本发明的FTP代理服务器工作程序整体流程;
图3为本发明的FTP代理服务器控制命令处理流程;
图4为本发明的FTP代理服务器业务处理逻辑示意图。
具体实施方式
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
实施例:如图1所示,FTP文件传输系统的示意图,FTP代理服务器通过串行方式接在FTP客户端与FTP服务器之间,FTP客户端通过FTP协议连接到FTP代理服务器,FTP客户端与FTP代理服务器进行交互,对于FTP客户端传送过来的命令及请求,FTP代理服务器将其记录,并把内容通过与FTP服务器的会话转对应要求的FTP服务器,对于对应要求的FTP服务器传回的响应信息,FTP代理服务器在记录之后,同样通过与FTP客户端的连接转回FTP客户端。FTP代理服务器就实现了FTP客户端与FTP服务器会话中类似“中间桥梁”的作用。
FTP代理服务器的结构包括连接控制与登录认证模块、会话转发模块、命令记录模块、命令过滤模块、会话中断模块、FTP会话监控模块、数据库和共享数据模块。其中,连接控制与登录认证模块在FTP客户端登陆代理服务器后,解析用户附加的登录信息,分析用户实际登陆的FTP服务器的地址并得到相应权限,之后连接需要登陆的FTP服务器,完成会话建立过程;会话建立后,会话转发模块、命令记录、命令过滤模块和会话中断模块协同工作,负责用户会话过程中的会话命令和相应内容的记录、转发,并实现根据既定的会话控制策略,过滤和截断某些不属于既定的会话控制策略的命令的运行。FTP会话监控模块实时对FTP客户端与FTP服务器之间的会话进行监控;并将结果反馈到通过共享数据模块保存到数据库中,会话中断模块实时从共享数据模块中调取FTP会话监控模块的监控结果,对于超出权限的对话进行中断,这样,在审计管理员使用管理web界面进行会话监控时,可以中断正在进行的会话。数据库用于存储每个模块生成的数据以及FTP客户端和FTP服务器之间传递的命令和信息。
本发明提供的一种FTP文件传输方法,包括以下步骤:
步骤1:FTP客户端将要连接的FTP服务器的IP地址传递给FTP代理服务器;
步骤2:FTP代理服务器从数据库中获取对应FTP服务器的用户名及密码信息,并且生成随机用户名和密码,返回给FTP客户端;
步骤3:FTP客户端通过随机用户名与密码与FTP代理服务器建立连接;
步骤4:FTP代理服务器对FTP客户端信息进行验证;
步骤5:验证通过后,FTP代理服务器通过真实用户名和密码与对应的FTP服务器建立FTP连接;
步骤6:FTP代理服务器进行FTP数据包的分析以及转发。
在整个连接通信过程中,FTP代理服务器对会话进行实时的监控,对于超出FTP客户端权限的会话,FTP代理服务器自行中断FTP客户端与FTP服务器之间的会话。
其中,图2是FTP代理服务器工作程序整体流程。FTP代理服务器采用Socket(套接字)网络服务器结构构建,应用多线程+IO复用网络服务器模型,服务器为每个连接的会话建立独立的数据结构,整体管理会话连接,为每n(n<=50)个会话开启一个线程处理n个会话的请求响应的转发和记录存储。
图3是FTP代理服务器控制命令处理流程。每个运维会话开始后,进行命令及相应数据的处理、转发、记录等过程。对于代理的FTP协议的命令,根据功能处理方法分为五类:一问一答式命令、建立连接命令(如PASV和PORT)、服务器向客户端传输数据命令(简称为StoC命令)、FTP客户端向FTP服务器传送数据命令(简称为CtoS命令)、其他特殊命令(如ABOR等)。运维会话开始后,FTP客户端向FTP代理服务器发送控制命令,代理根据命令内容进行解析,对不正确的命令格式进行丢弃,正确的命令格式,判断命令的类别,对不同的命令类型,进行不同的处理过程。对于一问一答型命令,记录命令内容到数据库,然后转发命令到后台实际服务器;之后判断是否为建立连接命令,如果是开启新线程建立数据连接;再判断是否为FTP服务器到FTP客户端或FTP客户端到FTP服务器的命令,这时通过数据缓冲区从FTP服务器/FTP客户端读取缓冲区大小的数据,发送到FTP客户端/FTP服务器,之后判断是否为列目录命令,如果是则记录内容;最后对于特殊类型命令,为命令单独开启特别的处理过程。分类处理结束后,把缓冲区中的命令和相应记录在数据库,记录时根据数据量大小,大于缓冲区大小分为多条存储。
图4为本发明所述的FTP代理服务器业务处理逻辑示意图。
1)运维人员访问登录主页面;
2)运维人员输入登录帐号和口令;
3)连接控制与登录认证模块查询帐号/口令;
4)查询成功;
5连接控制与登录认证模块回馈成功认证信息;
6)生成认证成功页面;
7)进入运维设备界面
8)运维人员选择运维设备及FTP客户端,并启动FTP客户端;
9)运维人员输入运维会话数据到FTP客户端;
10)FTP客户端发送运维会话数据到FTP代理服务器;
11)FTP代理服务器调用运维设备权限表,判断权限;
12)FTP代理服务器调用运维时间权限表,判断权限;
13)FTP代理服务器调用禁止的运维命令表,判断权限;
14)FTP代理服务器记录运维会话数据到运维会话数据库表;
15)FTP代理服务器记录运维会话数据到日志文件;
16)FTP代理服务器转发运维会话数据到目标设备;
17)目标设备返回运维操作响应数据到FTP代理服务器;
18)FTP代理服务器转发运维操作响应数据到FTP客户端。
Claims (2)
1.一种FTP文件传输系统,包括FTP客户端和FTP服务器,所述FTP客户端和FTP服务器基于FTP进行数据传输,其特征在于:还包括FTP代理服务器,所述FTP客户端通过FTP协议连接到所述FTP代理服务器,所述FTP客户端与所述FTP代理服务器进行交互,通知所述FTP代理服务器需要连接的FTP服务器地址;FTP代理服务器接受FTP客户端会话后,根据FTP客户端发来命令和请求连接对应的FTP服务器,并与对应的FTP服务器建立FTP会话;FTP代理服务器采用套接字网络服务器结构构建,应用多线程+IO复用网络服务器模型,FTP代理服务为每个连接的会话建立独立的数据结构,整体管理会话连接,为每n,n<=50个会话开启一个线程处理n个会话的请求响应的转发和记录存储;
所述FTP服务器包括连接控制与登录认证模块、会话转发模块、命令记录模块、命令过滤模块、会话中断模块、FTP会话监控模块和数据库,其中,
所述连接控制与登录认证模块在FTP客户端登陆FTP代理服务器后,解析用户附加的登录信息,分析用户需要登陆的FTP服务器的地址并得到相应权限,之后连接需要登陆的FTP服务器,完成会话建立过程;
所述会话转发模块、命令记录模块和命令过滤模块在会话建立后相互协同工作,所述会话转发模块和命令记录模块用于用户会话过程中的会话命令和相应内容的记录和转发,所述命令过滤模块根据既定的会话控制要求,过滤和截断不符合要求的运行;
所述FTP会话监控模块实时对FTP客户端与FTP服务器之间的会话进行监控;并将结果反馈到通过共享数据模块保存到数据库中;
所述会话中断模块根据FTP会话监控模块的监控结果提供会话中断的功能;对于超出权限的对话进行中断;
所述数据库用于存储运维记录;
还包括共享数据模块,所述数据库通过所述共享数据模块与其它模块连接。
2.一种FTP文件传输方法,其特征在于:包括以下步骤:
步骤1:FTP客户端将要连接的FTP服务器的IP地址传递给FTP代理服务器;
步骤2:FTP代理服务器从数据库中获取对应FTP服务器的用户名及密码信息,并且生成随机用户名和密码,返回给FTP客户端;
步骤3:FTP客户端通过随机用户名与密码与FTP代理服务器建立连接;
步骤4:FTP代理服务器对FTP客户端信息进行验证;
步骤5:验证通过后,FTP代理服务器通过真实用户名和密码与对应的FTP服务器建立FTP连接;
步骤6:FTP代理服务器进行FTP数据包的分析以及转发;
在整个连接通信过程中,FTP代理服务器对会话进行实时的监控,对于超出FTP客户端权限的会话,FTP代理服务器自行中断FTP客户端与FTP服务器之间的会话;每个运维会话开始后,进行命令及相应数据的处理、转发、记录的过程;对于代理的FTP协议的命令,根据功能处理方法分为五类:一问一答式命令、建立连接命令、服务器向客户端传输数据命令、FTP客户端向FTP服务器传送数据命令、其他特殊命令;运维会话开始后,FTP客户端向FTP代理服务器发送控制命令,代理根据命令内容进行解析,对不正确的命令格式进行丢弃,正确的命令格式,判断命令的类别,对不同的命令类型,进行不同的处理过程;对于一问一答型命令,记录命令内容到数据库,然后转发命令到后台实际服务器;之后判断是否为建立连接命令,如果是开启新线程建立数据连接;再判断是否为FTP服务器到FTP客户端或FTP客户端到FTP服务器的命令,这时通过数据缓冲区从FTP服务器/FTP客户端读取缓冲区大小的数据,发送到FTP客户端/FTP服务器,之后判断是否为列目录命令,如果是则记录内容;最后对于特殊类型命令,为命令单独开启特别的处理过程;分类处理结束后,把缓冲区中的命令和相应记录在数据库,记录时根据数据量大小,大于缓冲区大小分为多条存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410307315.0A CN104065731B (zh) | 2014-06-30 | 2014-06-30 | 一种ftp文件传输系统及传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410307315.0A CN104065731B (zh) | 2014-06-30 | 2014-06-30 | 一种ftp文件传输系统及传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104065731A CN104065731A (zh) | 2014-09-24 |
CN104065731B true CN104065731B (zh) | 2018-04-13 |
Family
ID=51553258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410307315.0A Expired - Fee Related CN104065731B (zh) | 2014-06-30 | 2014-06-30 | 一种ftp文件传输系统及传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104065731B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022002209A1 (zh) * | 2020-07-01 | 2022-01-06 | 中兴通讯股份有限公司 | 数据传输方法和代理服务器、存储介质及电子装置 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105007303B (zh) * | 2015-06-05 | 2019-08-20 | 冠研(上海)专利技术有限公司 | 物联网连接方法 |
CN106101185A (zh) * | 2016-05-30 | 2016-11-09 | 上海华力微电子有限公司 | Ftp之间数据传输的人机交互界面及方法 |
CN107079057A (zh) * | 2016-12-14 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 数据传输方法、装置、系统、电子设备及计算机程序产品 |
CN108809899A (zh) * | 2017-05-02 | 2018-11-13 | 四川秘无痕信息安全技术有限责任公司 | 一种针对ftp数据包进行核查的方法 |
CN106911811A (zh) * | 2017-05-04 | 2017-06-30 | 郑州云海信息技术有限公司 | 一种基于ftp文件高效传输的方法 |
CN110019121B (zh) * | 2017-10-31 | 2021-05-11 | 北京国双科技有限公司 | 一种数据库文件过滤方法、装置、存储介质及处理器 |
CN109309731A (zh) * | 2018-10-31 | 2019-02-05 | 四川长虹电器股份有限公司 | 一种跨网络的数据传输方法 |
CN109934011A (zh) * | 2019-03-18 | 2019-06-25 | 国网安徽省电力有限公司黄山供电公司 | 一种应用于运维审计系统的数据安全分区方法 |
CN111193717A (zh) * | 2019-12-06 | 2020-05-22 | 上海上讯信息技术股份有限公司 | Ftp黑白名单控制方法、装置及电子设备 |
CN111726401B (zh) * | 2020-06-09 | 2023-05-26 | 北京天空卫士网络安全技术有限公司 | 一种文件传输方法和装置 |
CN112019623A (zh) * | 2020-08-28 | 2020-12-01 | 大医智诚健康管理有限公司 | 基于ftp协议的分布式存储系统及其实现方法 |
CN112165430B (zh) * | 2020-09-24 | 2024-02-13 | 阿波罗智联(北京)科技有限公司 | 数据路由方法、装置、设备以及存储介质 |
CN114124935A (zh) * | 2021-11-18 | 2022-03-01 | 北京明朝万达科技股份有限公司 | Ftp服务的实现方法、系统、设备及存储介质 |
CN116319761A (zh) * | 2023-05-11 | 2023-06-23 | 成都数联云算科技有限公司 | 一种ftp协议文件传输方法、装置、设备和介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100358387B1 (ko) * | 2000-06-27 | 2002-10-25 | 엘지전자 주식회사 | 네트워크망에서 내부자원의 보호기능이 강화된 보안장치및 그 운용방법 |
-
2014
- 2014-06-30 CN CN201410307315.0A patent/CN104065731B/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022002209A1 (zh) * | 2020-07-01 | 2022-01-06 | 中兴通讯股份有限公司 | 数据传输方法和代理服务器、存储介质及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104065731A (zh) | 2014-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104065731B (zh) | 一种ftp文件传输系统及传输方法 | |
CN103840953B (zh) | 远程日志实时获取方法及系统 | |
CN107070613B (zh) | 分布式网络环境下数据可靠传输方法 | |
CN101197715B (zh) | 一种移动数据业务状态的安全集中采集方法 | |
CN106790420B (zh) | 一种多会话通道建立方法和系统 | |
CN108881158A (zh) | 数据交互系统和方法 | |
CN104426837B (zh) | Ftp的应用层报文过滤方法及装置 | |
CN102006307A (zh) | 一种基于应用代理的网管系统隔离控制装置 | |
CN104009938A (zh) | 基于路由层面的长连接的方法和系统 | |
CN104270604B (zh) | 获取ipc的实时视频数据的方法、系统及装置 | |
CN103685283B (zh) | 一种通信网络管理的认证授权系统及方法 | |
CN104408777B (zh) | 一种基于nat穿越实现p2p通信的互联网考勤管理系统和方法 | |
CN110138779B (zh) | 一种基于多协议反向代理的Hadoop平台安全管控方法 | |
CN101808112A (zh) | 一种基于telnet和代理的设备远程维护方法 | |
CN107749890A (zh) | 基于互联网技术的电阻焊机远程监控系统 | |
CN103595712B (zh) | 一种Web认证方法、装置及系统 | |
CN111478891A (zh) | 不同安全等级的工业网络隔离方法及装置 | |
CN103701928A (zh) | 应用于负载均衡器提高服务器和ssl网关运行效率的方法 | |
CN110098987A (zh) | 一种解决物联网多层长连接负载均衡的方法 | |
CN103516573B (zh) | 受限网络中客户端之间的数据传输方法和客户端 | |
CN111399463B (zh) | 工业网络数据单向隔离方法及装置 | |
CN103516794A (zh) | 一种分布式服务器的网络架构及其实现方法 | |
CN108259249A (zh) | 网络接入方法、路由器、终端设备、服务器及网络系统 | |
CN105188087B (zh) | 一种基于短信网关的业务通信方法和系统 | |
CN101989987B (zh) | 安全终端仿真协议监控时实现加密文件传输和跟踪的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170125 Address after: 102206 Beijing Changping District city Huilongguan Town Road No. 1 Building No. 5 hospital 8 floor 1 unit 906 Applicant after: BEIJING HUADIAN TIANYI INFORMATION TECHNOLOGY Co.,Ltd. Address before: Shishi Fuda Road Park 212000 city of Jiangsu Province, Zhenjiang Jurong Economic Development Zone, building 02, room 315 Applicant before: JIANGSU HUADA TIANYI ELECTRIC POWER SCIENCE & TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180413 |
|
CF01 | Termination of patent right due to non-payment of annual fee |