描述 vsftpd 的场景

描述 vsftpd 的场景

我根据此链接下载了 vsftpd、安装和配置如何在 Ubuntu Linux 中设置 FTP 服务器在我的 Ubuntu 12.04 上。但问题是如何测试呢?

我想学习如何使用 vsftpd,我正在寻找简单的图形化分步场景了解这一点。就像一个包括客户端和服务器的场景,通过使用虚拟框

如何在 Ubuntu_1 中从 Ubuntu_2 下载文件。两者都是 Virtual Box 中的虚拟操作系统

答案1

服务器端

  1. 检查服务状态

    sudo service vsftpd status
    
  2. 检查其正在运行的进程

    ps ax | grep vsftpd
    

    (命令:列出所有进程然后过滤 vsftpd 行的输出)

    或者你可以使用循环来监视其进程:

    while sleep 1 ; do clear ; ps ax | grep vsftpd ; done
    

    (命令为:等待 1 秒,清除 shell 屏幕,列出所有进程,然后过滤 vsftpd 行的输出,再次循环,因为睡眠总是成功返回)

  3. 检查 vsftpd 进程相关端口状态

    netstat -lnp | grep vsftpd
    

    (命令:列出所有监听端口及其端口号和所属进程 ID(PID),然后过滤 vsftpd 行的输出)

  4. 监控服务器日志(tail跟踪-f日志更新和监控 vsftpd)

    $ tail -f /var/log/vsftpd.log
    Fri Apr 25 18:43:28 2014 [pid 2026] CONNECT: Client "127.0.0.1"
    Fri Apr 25 18:45:01 2014 [pid 2025] [sneetsher] OK LOGIN: Client "127.0.0.1"
    

客户端

(注意:我从服务器运行它们只是为了举例说明,更喜欢其他主机来检查防火墙设置......)

  1. ftp带有详细选项的命令-v来显示来自远程服务器的所有响应)

    $ ftp -v localhost
    Connected to localhost.
    220 (vsFTPd 3.0.2)
    Name (localhost:sneetsher):      
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> 
    
  2. FileZilla。它有非常详细的日志,但它会根据设置发送几个命令,而这些命令并不总是您想要的。

    Status: Resolving address of localhost
    Status: Connecting to 127.0.0.1:21...
    Status: Connection established, waiting for welcome message...
    Response:   220 (vsFTPd 3.0.2)
    Command:    USER sneetsher
    Response:   331 Please specify the password.
    Command:    PASS ********
    Response:   230 Login successful.
    Command:    SYST
    Response:   215 UNIX Type: L8
    Command:    FEAT
    Response:   211-Features:
    Response:    EPRT
    Response:    EPSV
    Response:    MDTM
    Response:    PASV
    Response:    REST STREAM
    Response:    SIZE
    Response:    TVFS
    Response:    UTF8
    Response:   211 End
    Command:    OPTS UTF8 ON
    Response:   200 Always in UTF8 mode.
    Status: Connected
    Status: Retrieving directory listing...
    Command:    PWD
    Response:   257 "/home/sneetsher"
    Command:    TYPE I
    Response:   200 Switching to Binary mode.
    Command:    PASV
    Response:   227 Entering Passive Mode (127,0,0,1,159,231).
    Command:    LIST
    Response:   150 Here comes the directory listing.
    Response:   226 Directory send OK.
    Status: Calculating timezone offset of server...
    Command:    MDTM 0000_12.04~
    Response:   213 20140208184211
    Status: Timezone offsets: Server: 0 seconds. Local: 0 seconds. Difference: 0 seconds.
    Status: Directory listing successful
    ...
    Status: Sending keep-alive command
    Command:    TYPE I
    Response:   200 Switching to Binary mode.
    

可能的测试工作流程

  1. 服务器端:更改后vsftpd.conf,重新启动服务(无需重新启动VBox客户机)

    sudo service vsftpd restart
    
  2. 客户端:可以使用 编写 FTP 客户端脚本(例行测试)yafc。上传文件夹的示例:

    #!/bin/bash
    yafc <<**
    open ftp://username:password@hostname
    put -f -r folder
    close
    **
    exit 0
    

    或使用ftp

    #!/bin/sh
    HOST='ftp.users.qwest.net'
    USER='yourid'
            PASSWD='yourpw'
    FILE='file.txt'
    
    ftp -n $HOST <<END_SCRIPT
    quote USER $USER
    quote PASS $PASSWD
    put $FILE
    quit
    END_SCRIPT
    exit 0
    

VirtualBox 客户机上的服务器/客户端

  • 客户端应该与服务器位于同一个 NAT 网络、内部网络中。

  • 或者如果服务器有桥接适配器,客户端可以设置 NAT、NAT 网络、桥接适配器。

参考:

答案2

您可以通过以下 3 种方法测试 VSFTPD 服务器:

  1. 在 ubuntu 机器上(您已安装 VSFTPD 服务器),打开终端(Ctrl+Alt+T)并输入“ftp localhost”。出现提示时输入名称和密码。成功后,您将进入 ftp> 提示符。

    参考:https://help.ubuntu.com/community/vsftpd

  2. 测试 VSFTPD 的状态 -> 在服务器上运行“ netstat -a | grep ftp ”。如果 VSFTPD 没有运行,则根本没有输出。

    检查此链接:http://www.informit.com/articles/article.aspx?p=378136&seqNum=6

  3. 从另一台 ubuntu 机器(将其视为 FTP 客户端),向您的 FTP 服务器(即安装了 VSFTPD 的机器)发送或接收一些文件。

    为此,您必须从另一台 ubuntu 机器连接到 FTP 服务器。

    在此链接中查看 Linux 上的 FTP 命令列表:http://linux.about.com/od/commands/a/blcmdl1_ftpx.htm

答案3

在 ubuntu 服务器上,打开终端并输入:

sudo service vsftpd status

如果输出如下(除了 pid 进程):

vsftpd start/running, process 6582

那么服务器正在运行。

从另一台计算机检查服务器是否在默认端口(21)上处于活动状态:

telnet ip_server_ftp 21

如果连接已建立,则输出将返回

答案4

相关内容