ftp协议详解
客户端与服务器之间,需要多条连接才能完成应用的协议,属于复杂协议。如FTP,PPTP,H.323和SIP均属于复杂协议。
这里主要介绍ftp协议的工作原理。首先,ftp通信协议有两种工作模式,被动模式和主动模式。


- 主动模式
以上图为例,假设客户端IP为192.168.2.10,服务器端IP为192.168.2.11,首先客户端使用端口1966连接服务器的21端口,接着客户端会发送一个含有PORT 192,168,2,10,19,137字符的数据包给服务器端。
服务器端接收到这个数据包之后,从PORT 192,168,2,10,19,137字符串中了解到,客户端192.168.2.10(字符串中的前四段)在其上动态启用了一个端口5001(字符串的后两段19*256+137=5001),接着服务器端会固定使用端口20去连接客户端的端口5001.
1955-21端口的连接为控制连接,20-5001端口的连接为数据连接
- 被动模式
假设客户端IP为192.168.2.10,服务器端IP为192.168.2.11,首先客户端使用端口1955连接服务器的21端口,接着客户端对服务器端发送一个含有PASV命令的数据包给服务器端,服务器端收到这个数据包之后就会知道,客户端要求以被动(Passive)模式来传输数据,接着服务器端发送一个含有PORT 192,168,2,11,,114,134字符串的数据包给客户端。
客户端在收到这个数据包后,从PORT 192,168,2,11,,114,134字符串中了解到,服务器端192.168.2.11(字符前4段)在其上动态打开了一个端口29318(字符串后两段114*256+134=29318),接着客户端会使用另一个端口1956去连接服务器端的端口29318.
1955-21端口的连接为控制连接,1956-29318端口的连接为数据连接
ftp协议详解的更多相关文章
- FTP协议详解(转)
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”.用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application ...
- 转FTP协议详解
转自:http://www.cnblogs.com/li0803/archive/2010/11/16/1878833.html FTP 是File Transfer Protocol(文件传输协议) ...
- HTTP协议详解(转)
转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的 ...
- HTTP协议详解
Author :Jeffrey 引言 HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展. ...
- ASP.NET知识总结(3.HTTP协议详解)
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...
- 接口测试之HTTP协议详解
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...
- HTTP协议详解(真的很经典)
HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展.目前在WWW中使用的是HTTP/1.0 ...
- HTTP协议详解--转载http://blog.csdn.net/gueter/article/details/1524447
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...
- 关于http协议详解
Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前 ...
随机推荐
- 解决Win10图片打开方式没有“Windows照片查看器”问题
1.打开注册表编辑器(Win+R,Regedit),定位至(建议修改前备份注册表): HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Photo Viewe ...
- array题目合集
414. Third Maximum Number 给一个非空的整数数组,找到这个数组中第三大的值,如果不存在,那么返回最大的值.要求时间复杂度为o(n) 例如: Example 1: Input: ...
- 几何服务,cut功能,输入要素target(修改后)内容。
几何服务,cut功能测试,输入要素target(修改后)内容. {"displayFieldName":"","fieldAliases": ...
- IDEA +maven+ ContextLoaderListener not find
tomcat 启动失败:SEVERE: Context [] startup failed due to previous errors 查看pox.xml 有spring-web依赖 查看tomca ...
- 初识django
一 从下面开始 所有的的web应用其实就是就是一个socket服务器,浏览器是一个web客户端. import socket def handle_request(client): buf = cli ...
- c# json TO xml
using System.IO;using System.Text;using System.Xml.Serialization;using System.Xml;using System.Runti ...
- java中使用 redis (转载)
jedis是一个著名的key-value存储系统,而作为其官方推荐的java版客户端jedis也非常强大和稳定,支持事务.管道及有jedis自身实现的分布式. 在这里对jedis关于事务.管道和分布式 ...
- fuck--Fix git command line spelling errors GitHub
修复Git输入错误,挺有意思.git命令关键字如果输入错误,会提示最接近的正确关键字,如果提示内容是你想要的,输入'fuck',就能执行了. GitHub源码.源码生成exe,windows上运行. ...
- JSPatch打补丁
http://www.cnblogs.com/dsxniubility/p/5080875.html http://www.jianshu.com/p/0cb81bf23d7a
- Web 服务器 low bandth DOS attack
https://www.owasp.org/images/0/04/Roberto_Suggi_Liverani_OWASPNZDAY2010-Defending_against_applicatio ...