FTP主动模式和被动模式:两者的共同点都是先由客户机的任意端口去连接服务器的21端口,进行指令传送。
主动模式:
客户机任意一个端口N向服务器端传送PORT命令。
然后FTP服务器主动打开20端口去和客户端任意端口N去连,通常是接收指令端口N+1.
被动模式:
客户机任意一个端口N向服务器端传送PASV命令。
然后服务器会开启任意一个端口并发送PORT P(端口号)命令给客户端。
最后服务器通过P端口向客户机的N+1端口传送数据。
今天突然发现FTP在接送数据的时候会多一些字节,例如文件有4行则多出4个字节。后面查书发现在UNIX下每一新行符(\n)被服务器转换成NVT ASCII码的2字节行结尾序列(\r\n)来传输,然后再由客户转换成原先形式来存储。而在TFTP中是将换行符转换成了CR/CF对。
如果客户机自动发出SYST命令,则服务器将用字节的系统类型来响应。当取文件时,客户机自动发出TYPE I把文件类型定成图像,这样文件大小不会变化。
阅读(3436) | 评论(3) | 转发(0) |