鍍金池/ 問答/C  Linux  網(wǎng)絡(luò)安全/ FTP client 發(fā)送 CWD 命令,故意讓目錄不正確,返回 550 錯(cuò)誤,

FTP client 發(fā)送 CWD 命令,故意讓目錄不正確,返回 550 錯(cuò)誤,但是接下來其他命令也都不對(duì)了

client 是自己用 C 寫的

#define BUFFER_SIZE 1024

char recv_buffer[BUFFER_SIZE];
char send_buffer[BUFFER_SIZE];

// ...
else if (start_with(cmd_read, "cd"))
{
    char *token;
    const char delim[2] = " \t";
    token = strtok(cmd_read, delim);
    char *path = strtok(NULL, delim);
    if (path == NULL)
    {
        printf("please input the path\n");
        continue;
    }
    sprintf(send_buffer, "CWD %s\r\n", path);
    send_cmd(client_socket, send_buffer);
    length = get_respond(client_socket, recv_buffer);
    printf("%s", recv_buffer);   
}


ftp server 什么要發(fā)送兩次錯(cuò)誤信息?這個(gè)如何處理呢?

Github 源碼
PS:
FTP server我用的是windows

回答
編輯回答
故林

測(cè)試發(fā)現(xiàn)windows 550-
這里有個(gè)-應(yīng)該表示多行,所以得接收到550 End
PS TCP是一個(gè)流式協(xié)議

2017年3月16日 14:40