FTP服务器开发与协议通信测试要点.pdfVIP

  • 0
  • 0
  • 约1.66万字
  • 约 14页
  • 2026-01-08 发布于北京
  • 举报

一、编写FTP服务器:

二、连接协议:

所有ftp协议没有2进制数字,全部用文本格式收发。发送协议:协议号+

描述+CRLF例如:DELEIndex.html\r\n接收协议:协议键+描述+

CRLF例如:250删除成功\r\n其中,协议号和协议键是关键字,不能随

意变换。#defineCRLF\r\nCRLF作为校验使用,因此是必须出现在发

送或者接收字串的结尾。发送长度必须等于strlen或者string.length。

发送长度也是校验条件之一。协议键不区分大小写予以处理。例如:创建

ftp端口21,使用IE浏览器执行登录。收到Accept连接后立即返回

Send1,使用Receive接收你将收到Recv2。依次向下收发,得到的

测试结果如下:Send1=220FtpDforfreeRecv2USERtest

Send3=331Passwordrequiredfortest.Recv4PASStestSend5=230

Usertestloggedin,proceedRecv6optsutf8onSend7=502

CommandOPTSutf8onnotimplementedRecv8systSend9=215

WindowsRecv10sitehelp

一、编写FTP服务器:

二、连接协议:

所有ftp协议没有2进制数字,全部用文本格式收发。

发送协议:协议号+描述+CRLF例如:DELEIndex.html\r\n”

接收协议:协议键+描述+CRLF例如:”250删除成功\r\n”

其中,协议号和协议键是关键字,不能随意变换。

#defineCRLF“\r\n”

CRLF作为校验使用,因此是必须出现在发送或者接收字串的结尾。

发送长度必须等于strlen或者string.length。发送长度也是校验条件之一。

协议键不区分大小写给以处理。

例如:创建ftp端口21,使用IE浏览器执行登录。

收到Accept连接后立即返回Send1,使用Receive接收你将收到Recv2。

依次向下收发,得到的测试结果如下:

Send1=220FtpDforfree

Recv2=USERtest

Send3=331Passwordrequiredfortest.

Recv4=PASStest

Send5=230Usertestloggedin,proceed

Recv6=optsutf8on

Send7=502CommandOPTSutf8onnotimplemented

Recv8=syst

Send9=215Windows

Recv10=sitehelp

发送11=502命令SITEhelp未实现接收12PWD发送13=257/是

当前目录接收14CWD/subing/发送15=250/subing/是当前目录。

接收16TYPEA发送17=200类型设置为ASCII。接收18PASV

发送19=425无法打开数据连接(30创建失败)接收20=

TYPEA发送21=200类型设置为ASCII。接收22PORT

127,0,0,1,4,226发送23=200PORT命令正确。接收24LIST发送

25=150正在打开ASCIINO‑PRINT模式数据连接用于ls‑l。三、协议

内容:每一个协议都是一个判断分支语句,得到是或否的结果后再返

回(发送)

1、接收:

收到连接请求,根据对方的IP判断是否允许。是:发送220协议,相关描

述自定义。否:关闭Accept产生的收发套接字

文档评论(0)

1亿VIP精品文档

相关文档