`

ftp协议研究

    博客分类:
  • java
阅读更多
ACTIVE FTP OPERATION


1、客户端使用源端口5150与server端的21端口通信,请求建立连接。

2、server收到后,发送应答信息,OK(ACK),client and server通过控制端口交换控制信令。

3、当用户请求列出服务端目录或下载数据时,客户端软件会发送PORT命令,并包含有大于1023的随机端口号,告知服务端使用这个端口号将数据发送过来。这里客户端采用了5151端口。

4、服务端打开20端口做为数据发送的源端口,向客户端的5151端口发送。

5、客户端应答,传输过程结束。




PASSIVE FTP OPERATION



这种模式较为安全,因为所有连接都是由客户端发起,所以连接被窃取的可能性减小了。之所以被称为被动模式,是因为服务端看起来完全是被动的。详细过程如下:


1、被动模式下,客户端初始化控制信令连接,使用5150源端口与服务端的21端口建立连接,并使用PASSIVE命令请求进入被动模式。
2、服务端同意进入PASSIVE模式,并随机选择一个大于1023的端口号,告知客户端。
3、客户端接收到此信息后,使用自已的5151端口与刚才服务端提供的3268端口进行数据通信,这里5151是源,3268是目的。
4、服务端收到信息,回传数据并发送应答ACK(OK)





  • 大小: 26.3 KB
  • 大小: 30.8 KB
分享到:
评论

相关推荐

    网络协议TCP/IP实验四FTP 协议分析实验

    ### 知识点生成 #### 实验背景与目标 本次实验是湘潭大学网络协议TCP/IP...通过本次实验,学生不仅掌握了FTP协议的基本配置与使用方法,还加深了对FTP协议内部工作机制的理解,为后续的学习和研究奠定了坚实的基础。

    FTP.rar_FTP协议vc_VC FTP_ftp vc_ftp协议实现_vc FTP 上传

    在VC++环境中,开发者通常会使用Winsock库来实现TCP/IP通信,包括FTP协议。Winsock是Windows操作系统提供的一个API,为应用程序提供了访问网络协议的功能。为了实现FTP,我们需要理解FTP的基本工作流程和命令: 1. ...

    FTP协议的研究与客户端实现.pdf

    总结起来,这篇论文深入研究了FTP协议,并基于Java实现了FTP客户端,涵盖了FTP连接、数据处理、用户交互等多个方面,对于理解FTP协议及其客户端实现具有重要的参考价值。通过这样的实践,读者不仅可以学习到FTP协议...

    论文研究-基于FTP协议的校园网格设计与实现.pdf

    针对目前信息存储独立造成的服务器负荷不均衡,资源得不到真正意义上共享的现象,提出利用信息网格的方式采用FTP协议消除存储系统差异造成的访问困难,使得现有的FTP服务器协同工作,实现资源分配动态调整,提供了一...

    JAVA实现FTP协议中的服务器和客户端\\

    本文将深入探讨如何使用Java实现FTP协议中的服务器和客户端。通过学习这些知识点,开发者可以构建自己的FTP应用,进行文件的上传、下载和管理。 首先,我们要了解FTP协议的基本工作原理。FTP基于TCP/IP模型,通过...

    ftp.rar_ftp_ftpservernew_协议解析

    在这个"ftp.rar_ftp_ftpservernew_协议解析"的压缩包中,我们可以预期包含的是关于FTP协议的实现代码和相关教程,特别关注了FTP服务器的新特性以及协议解析。 FTP协议基于TCP/IP模型,工作在应用层。它定义了两个...

    基于FTP协议的文件传输服务器的研究

    基于FTP协议的文件传输服务器的研究,很有用的一篇硕士论文,希望能通过

    10172911梁天一FTP协议分析报告.docx

    通过Serv-U FTP Server的配置和Wireshark的报文分析,我们可以直观地学习和研究FTP协议的工作原理及其在实际网络环境中的应用。同时,了解PORT和PASV模式的不同,对于优化FTP在不同网络环境下的性能和安全性至关重要...

    FTP服务器与客户端程序(c++)

    在深入研究这些源代码时,可以学习到C++网络编程的基本原理,如套接字编程、多线程(用于并发处理多个客户端连接)、输入/输出流处理以及如何与FTP协议交互。 总结来说,这个FTP服务器与客户端程序的项目是C++网络...

    WPF C#升级程序 客户端升级 FTP协议 源码

    "WPF C#升级程序 客户端升级 FTP协议 源码" 提供了一种解决方案,帮助开发者实现远程自动升级功能,使得分布式客户端可以无缝地接收和安装最新版本的软件。下面我们将深入探讨这一主题。 **WPF(Windows ...

    基于FTP协议的软件自动更新系统V1.0.1

    基于FTP协议的软件自动更新系统,提供“最新文件检测”“自动更新新文件”“本地进程检测”“更新前和更新后运行目标程序”功能; 并能过“汽泡”功能提示更新和错误…… 内含源代码,供学习和研究, 本人QQ:...

    FTP开源代码 C++

    通过研究源代码,你可以了解FTP协议的细节,学习如何使用C++进行网络编程,以及如何处理并发连接和多线程问题。此外,这也可能是一个学习如何实现安全文件传输的好机会,因为开发者可能已经考虑到了FTP的不足并进行...

    VC++ Socket通信实现的FTP通信协议,实测下载速度比MFC封装的类快很多。

    本项目利用VC++的Socket通信实现FTP协议,旨在提供一个高效且易理解的FTP客户端实现,相比于使用MFC封装的类,据实际测试,下载速度有显著提升。 Socket编程是网络编程的基础,它提供了应用程序与网络底层通信的...

    C++实现FTP功能

    2. **FTP命令和响应**:FTP协议定义了一系列命令(如`USER`、`PASS`、`LIST`、`RETR`、`STOR`等)和响应代码(如200、331、550等)。客户端需要理解这些命令并正确构造它们,同时解析服务器返回的响应。 3. **数据...

    FTP代理服务器的研究与实现.pdf

    通过《FTP代理服务器的研究与实现》这篇文章,我们不仅了解了FTP协议的基本原理,还深入探讨了如何通过引入FTP代理服务器来提高系统的安全性。代理服务器的设计和实现对于保护网络安全具有重要意义。此外,Petri网...

    VC中ftp协议实现多线程断点续传.rar_C++builder _FTP 多线程_ftp_vc ftp_断点续传

    首先,理解FTP协议的基础至关重要。FTP允许客户端与服务器之间建立连接,进行文件的上传、下载以及目录浏览等操作。它通过TCP/IP协议栈工作,分为两种模式:主动模式和被动模式,以适应不同网络环境的需求。 在多...

    java FTP server

    Java FTP Server是一种基于Java语言实现的FTP(File Transfer Protocol)服务器,它允许用户通过FTP协议在互联网上...如果需要进一步了解或定制功能,可以深入研究源代码,学习其中的类和方法是如何实现FTP协议规范的。

    c++写的FTP服务器控制台源代码

    通过分析和研究这个C++ FTP服务器的源代码,开发者可以深入了解网络编程的基本原理,理解FTP协议的实现细节,以及如何在C++中构建多线程服务程序。这对于提高网络编程技能和深入理解底层网络通信机制非常有帮助。...

    ftp源代码2ftp源代码ftp2源代码ftp2源代码2

    FTP源代码是指实现FTP协议的程序代码,通常用于开发自己的FTP客户端或服务器软件。这些源代码可以是开源的,也可以是私有的。开源FTP源代码为开发者提供了研究和自定义FTP功能的机会,以便满足特定需求或改进现有...

    几个经典的ftp源代码

    通过研究FTP源代码,你可以了解到网络编程中的许多细节,例如如何使用套接字库进行网络通信,如何处理异步I/O,以及如何设计一个健壮的文件传输系统。这将有助于提升你在网络编程领域的专业技能,同时也能为自定义...

Global site tag (gtag.js) - Google Analytics