我下载了 vsftpd,根据这个链接安装和配置如何在我的 Ubuntu 12.04 上的Ubuntu Linux 中设置 FTP 服务器。但问题是如何测试?
我想学习如何使用 vsftpd,我正在寻找一个简单的图形分步场景来学习。就像使用虚拟盒包括客户端和服务器的场景一样?
如何在 Ubuntu_1 中从 Ubuntu_2 下载文件。两者都是 Virtual box 中的虚拟操作系统
检查服务状态
sudo service vsftpd status
Run Code Online (Sandbox Code Playgroud)检查其正在运行的进程
ps ax | grep vsftpd
Run Code Online (Sandbox Code Playgroud)
(命令:列出所有进程然后过滤 vsftpd 行的输出)
或者您可以使用循环来监视其进程:
while sleep 1 ; do clear ; ps ax | grep vsftpd ; done
Run Code Online (Sandbox Code Playgroud)
(命令为:等待 1 秒,清除 shell 屏幕,列出所有进程然后过滤 vsftpd 行的输出,再次循环,因为 sleep 总是成功返回)
检查与 vsftpd 进程相关的端口状态
netstat -lnp | grep vsftpd
Run Code Online (Sandbox Code Playgroud)
(命令:列出所有具有端口号的侦听端口和拥有它的进程 ID(PID),然后过滤 vsftpd 行的输出)
监控服务器日志(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"
Run Code Online (Sandbox Code Playgroud)(注意:我从服务器运行它们只是为了做例子,更喜欢其他主机来检查防火墙设置......)
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>
Run Code Online (Sandbox Code Playgroud)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.
Run Code Online (Sandbox Code Playgroud)服务器端:更改vsftpd.conf后重启服务(无需重启VBox guest)
sudo service vsftpd restart
Run Code Online (Sandbox Code Playgroud)客户端:可以使用yafc. 上传文件夹的示例:
#!/bin/bash
yafc <<**
open ftp://username:password@hostname
put -f -r folder
close
**
exit 0
Run Code Online (Sandbox Code Playgroud)
或使用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
Run Code Online (Sandbox Code Playgroud)客户端应该与服务器在同一个 NAT 网络,内部网络。
或者如果 Server 有 Bridged Adapter,Client 可以设置 NAT、NAT Network、Bridged Adapter。
参考: