Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4027100
  • 博文数量: 366
  • 博客积分: 9916
  • 博客等级: 中将
  • 技术积分: 7195
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-29 23:27
个人简介

简单!

文章分类

全部博文(366)

文章存档

2013年(51)

2012年(269)

2011年(46)

分类: 嵌入式

2011-12-10 17:17:06

基于 RT3052ftp实现文档

 

(注:这里面关于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通的情况下进行的(也就是说在一个网段)

 


摘自 http://blog.chinaunix.net/space.php?uid=25100840&do=blog&id=1764027

阅读(3478) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~