全部博文(395)
分类: LINUX
2011-07-29 09:01:03
基于 (RT3052)ftp实现文档
(注:这里面关于linux下配置ftp-server,然后windows下可以访问的步骤是通用的。。。。)
FTP的全称是File Transfer Protocol(文件传输协议)。就是专门用来传输文件的协议,当它们运行时,用户就可以连接到服务器上下载文件,也可以将自己的文件上传到FTP服务器中。因此,FTP的存在,大大方便了网友之间远程交换文件资料的需要。
而对于嵌入式ftp搭建,一般的情况是目标机上会运行服务器,而个人电脑是客户端,客户端只要有客户端软件就可,可是对于RALINK AP SDK 3.5.0.0的这款mips板的sdk开发包中并没有对ftp又说涉及,并且为了开发进度,我们选择了在目标板上运行客户端命令,而在宿主机上安装ftp服务器,我们使用vsftpd这个软件。
一.sdk包中配置ftp client(客户端)
|[*] Customize Kernel Settings
Networking options
[*] Network packet filtering framework (Netfilter) --->
Core Netfilter Configuration --->
<*> FTP protocol support
|[*] Customize Vendor/User Settings (NEW)
Network Applications
[*] storage(enable chmod, fdisk in busybox)
| |[*] proftpd (FTP Server) (由于我们使用的是客户端方式,这个原则上可以不选,不过我选上了(刚开始是为了验证server方式))
Busybox Configuration
Networking Utilities --->
[*] ftpget
[*] ftpput(这2个最重要,是最后在开发板中运行的两个命令)
二.虚拟机中安装ftp server服务器
目前比较流行的server服务器是:vsftpd,从网上下载:vsftpd-2.2.2-6.fc12.i686.rpm(或者使用:yum install vsftpd)
安装完成后,可以查看一下/var目录下多了一个ftp目录
[root@localhost source]# ls /var/
account/ db/ games/ local/ mail/ preserve/ tmp/
cache/ empty/ gdm/ lock/ nis/ run/ www/
cvs/ ftp/ lib/ log/ opt/ spool/ yp/
[root@localhost source]# ls /var/ftp/
Pub
(注:这个Pub目录是匿名用户登录时使用的默认目录)
[root@localhost source]# service vsftpd restart
关闭 vsftpd:[确定]
为 vsftpd 启动 vsftpd:[确定]
这个时候我们可以在windows下的dos中来访问了如下:
C:\Documents and Settings\Administrator>ftp 192.168.3.138
Connected to 192.168.3.138.
220 (vsFTPd 2.2.2)
User (192.168.3.138:(none)): ftp (注:这个地方的用户名如果是匿名的话是ftp或者anonymous,直接回车不行)
331 Please specify the password.
Password:
230 Login successful.
ftp>
ftp> ?
Commands may be abbreviated. Commands are:
! delete literal prompt send
? debug ls put status
append dir mdelete pwd trace
ascii disconnect mdir quit type
bell get mget quote user
binary glob mkdir recv verbose
bye hash mls remotehelp
cd help mput rename
close lcd open rmdir
ftp> pwd
257 “/”
ftp> dir
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x 3 0 0 4096 Aug 03 23:02 pub(看到了这个pub了吧)
226 Directory send OK.
ftp: 收到 61 字节,用时 0.00Seconds 61000.00Kbytes/sec.
ftp> cd pub
250 Directory successfully changed.
ftp> pwd
257 "/pub"
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
zhang.txt(看到了这个文件了吧)
226 Directory send OK.
ftp: 收到 11 字节,用时 0.00Seconds 11000.00Kbytes/sec.
为了验证,我们打开我们的linux
[root@localhost ftp]# ls /var/ftp/
Pub
明白了吧。。。
三.在目标机上测试:(这个针对的是ralink3052,也不知道咋回事,这个上面客户端只支持ftpget,ftpput,不过只有这2个命令的话,也是可以执行的)
启动之后,但你输入ftp,按下tab键后出现下面:
#ftp
ftpget ftpput
说明只有这2个命令
下面使用这连个命令来实现文件的传输
首先,在宿主机上建立一个用户,来进行ftp传输的账户,我使用zhang,密码:01
#adduser zhang
#passwd zhang
Passwd:01
Repeat:01
目标机上:
现在当前目录下
#touch fei.txt
# ftpput -u zhang -p 01 10.10.10.138 fei.txt fei.txt
#
上面说明命令执行成功了
然后去宿主机上查找fei.txt,最终查找到了位于/home/zhang目录下,说明,默认的不用匿名方式的目录位于用户目录下(我们不去做更多的设置)
验证ftpget
在zhang目录下
#touch yan.txt
然后在目标机上:
# ftpget -u zhang -p 146243 10.10.10.138 yan.txt yan.txt
# ls
fei.txt yan.txt
说明成功了
最后注明一点:所有的操作都是在网络可以ping通的情况下进行的(也就是说在一个网段)