搭建简单的ftp上传下载文件

1.软件准备

软件网址:

   http://www.downcc.com/soft/15160.html

windows端:

     软件:简单ftp Server

     验证身份

     用户:ftpuser  密码:123456

     服务端口:21    最大连接数:100

     共享目录: C:\Users\86159\Pictures

1. 启动之后cmd打开命令行:netstat -ano | find ":87" 查看端口有没有起来

2. 开放windows防火墙:21端口

3. 查看windows的ip地址

C:\Users\86159>ipconfig

Windows IP 配置

以太网适配器 以太网 2:


   连接特定的 DNS 后缀 . . . . . . . :

   本地链接 IPv6 地址. . . . . . . . : fe80::e5f2:f156:efc5:439f%3

   IPv4 地址 . . . . . . . . . . . . : 172.100.20.7

   子网掩码  . . . . . . . . . . . . : 255.255.255.0

   默认网关. . . . . . . . . . . . . : 172.100.20.1

linux端:

     yum install -y ftp

     ftp  -p 172.100;.20.7 enter 输入密码

     dir 查看目录

     get /home/gegewu/下载文件

下载文件:

227 Entering Passive Mode (172,100,20,7,56,182).
150 Opening data connection for directory list.
drw-rw-rw-   1 ftp      ftp            0 Jun 09 09:32 .
drw-rw-rw-   1 ftp      ftp            0 Jun 22 15:40 ..
-rw-rw-rw-   1 ftp      ftp         1855 May 10 16:45 amelaxie-10187819-weixin.py
-rw-rw-rw-   1 ftp      ftp      5149898 May 07 17:42 CloudEngine 8800, 7800, 6800, 5800 V200R005C10 MIB????.chm
-rw-rw-rw-   1 ftp      ftp       696067 May 18 16:18 H3C S5500HI????MIB????????.pdf
-rw-rw-rw-   1 ftp      ftp      7486201 May 07 17:41 S9300, S9300X V200R020C00 MIB????.chm
-rw-rw-rw-   1 ftp      ftp            0 May 25 09:25 ???? ????????.txt
226 File sent ok
ftp> pwd
257 "/" is current directory.
ftp> get amelaxie-10187819-weixin.py
local: amelaxie-10187819-weixin.py remote: amelaxie-10187819-weixin.py
227 Entering Passive Mode (172,100,20,7,56,225).
150 Opening data connection for amelaxie-10187819-weixin.py.
226 File sent ok
1855 bytes received in 0.00 secs (14.0402 MB/s)
ftp> exit
221 Goodbye.
root@gegewu1:/home/gegewu# ls
1.sh.bak  amelaxie-10187819-weixin.py  cike  mydocker   pgbak    server.log  TPG-Nightinagle  zabbix
1.txt     cacti                        data  nohup.out  scripts  test        webapi.log       zz.log
root@gegewu1:/home/gegewu# vim amelaxie-10187819-weixin.py 
root@gegewu1:/home/gegewu# 

 成功!

f扩展:tp基础操作

不想下载客户端,懒得写上传脚本,直接通过ftp命令把文件丢到服务器。

目标:将本地目录/local_a下的内容,上传到服务器/server_b目录中。

步骤:

1、ftp登陆: 输入命令 sftp username@ip 接着提示输入密码,直接输入密码即可。此时,默认进入的是用户username的用户文件夹(目录)内

2、 ls                                  常看服务器当前目录内容: 输入命令

3、 cd /server_b                 进入目录/server_b : 输入命令

4、 _a: lcd /local_a             进入本地目录/local输入命令

5、 lls                                  切换本地目录用lcd  查看本地当前目录下的内容

6、 put ./                              将本地local_a内的所有文件上传到服务器server_b中

7、 put -r ./                           在 put 命令后加上 -r 可将文件夹及文件夹下的内容也上传上去 

8、put filename 若是单独上传某个文件即可,filename表示文件名, 如上传的是某个文件夹,则输入put -r foldername

9、退出ftp对话框: 输入 bye或者quit

在ftp命令行下常用的其他命令:

1、 mkdir folderName  新建文件夹

2、 rename preFolderName newFolderName 修改文件夹名称

3、 rmdir folderName                                       删除空文件夹 ,非空文件夹不能直接删除

4、 get -r foldername                                       下载文件 get filename , 下载文件夹

---------------------------------------------------------------------------------->

参考:https://blog.csdn.net/qq_42083847/article/details/99968146

FTP>ascii: 设定以ASCII方式传送文件(缺省值)
FTP>bell: 每完成一次文件传送,报警提示.
FTP>binary: 设定以二进制方式传送文件.
FTP>bye: 终止主机FTP进程,并退出FTP管理方式.
FTP>case: 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母.
FTP>cd: 同UNIX的CD命令.
FTP>cdup: 返回上一级目录.
FTP>chmod: 改变远端主机的文件权限.
FTP>close: 终止远端的FTP进程,返回到FTP命令状态, 所有的宏定义都被删除.
FTP>delete: 删除远端主机中的文件.
FTP>dir [remote-directory] [local-file] 列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件.
FTP>get [remote-file] [local-file] 从远端主机中传送至本地主机中.
FTP>help [command] 输出命令的解释.
FTP>lcd: 改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录.
FTP>ls [remote-directory] [local-file] 同DIR.
FTP>macdef: 定义宏命令.
FTP>mdelete [remote-files] 删除一批文件.
FTP>mget [remote-files] 从远端主机接收一批文件至本地主机.
FTP>mkdir directory-name 在远端主机中建立目录.
FTP>mput local-files 将本地主机中一批文件传送至远端主机.
FTP>open host [port] 重新建立一个新的连接.
FTP>prompt: 交互提示模式.
FTP>put local-file [remote-file] 将本地一个文件传送至远端主机中.
FTP>pwd: 列出当前远端主机目录.
FTP>quit: 同BYE.
FTP>recv remote-file [local-file] 同GET.
FTP>rename [from] [to] 改变远端主机中的文件名.
FTP>rmdir directory-name 删除远端主机中的目录.
FTP>send local-file [remote-file] 同PUT.
FTP>status: 显示当前FTP的状态.
FTP>system: 显示远端主机系统类型.
FTP>user user-name [password] [account] 重新以别的用户名登录远端主机.
FTP>? [command]: 同HELP. [command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表。
FTP>! 从 ftp 子系统退出到外壳。
参考:
https://www.cnblogs.com/huzixia/p/10390001.html#:~:text=ftp%E5%91%BD%E4%BB%A4%E7%94%A8%E6%9D%A5%E8%AE%BE%E7%BD%AE%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E7%9B%B8%E5%85%B3%E5%8A%9F%E8%83%BD%E3%80%82%20ftp%E6%9C%8D%E5%8A%A1%E5%99%A8,%E5%9C%A8%E7%BD%91%E4%B8%8A%E8%BE%83%E4%B8%BA%E5%B8%B8%E8%A7%81%EF%BC%8CLinux%20ftp%E5%91%BD%E4%BB%A4%E7%9A%84%E5%8A%9F%E8%83%BD%E6%98%AF%E7%94%A8%E5%91%BD%E4%BB%A4%E7%9A%84%E6%96%B9%E5%BC%8F%E6%9D%A5%E6%8E%A7%E5%88%B6%E5%9C%A8%E6%9C%AC%E5%9C%B0%E6%9C%BA%E5%92%8C%E8%BF%9C%E7%A8%8B%E6%9C%BA%E4%B9%8B%E9%97%B4%E4%BC%A0%E9%80%81%E6%96%87%E4%BB%B6%EF%BC%8C%E8%BF%99%E9%87%8C%E8%AF%A6%E7%BB%86%E4%BB%8B%E7%BB%8DLinux%20ftp%E5%91%BD%E4%BB%A4%E7%9A%84%E4%B8%80%E4%BA%9B%E7%BB%8F%E5%B8%B8%E4%BD%BF%E7%94%A8%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E7%9B%B8%E4%BF%A1%E6%8E%8C%E6%8F%A1%E4%BA%86%E8%BF%99%E4%BA%9B%E4%BD%BF%E7%94%A8Linux%E8%BF%9B%E8%A1%8Cftp%E6%93%8D%E4%BD%9C%E5%B0%86%E4%BC%9A%E9%9D%9E%E5%B8%B8%E5%AE%B9%E6%98%93%E3%80%82

小tips:    以下为参考内容

问题

在 Ubuntu 使用命令行 ftp 时,使用 ls 命令会出现卡在 150 Opening data channel for directory listing of "/" 的情况。如下

$ ftp 192.168.0.100
Connected to 192.168.0.100.
220-FileZilla Server 0.9.58 beta
230 Logged on
Remote system type is UNIX.
ftp> pwd
257 "/" is current directory.
ftp> ls
200 Port command successful
150 Opening data channel for directory listing of "/"

解决方法

命令行的默认连接方式是 active 模式。

解决办法是 开启 passive 模式,有两种方式:

启动时,添加 -p 指令
 ftp -p 172.100.20.7

启动后,输入 passive 指令
$ ftp 172.100.20.7
ftp > passive
Passive mode on.

原理解释
主动模式:

  1. 客户端通过任意端口连接到 ftp 服务器,发送PORT指令,并指定端口 port 2。
  2. 服务器主动连接到客户端 port2,建立数据传输通道,进行数据传递。

被动模式

  1. 客户端通过任意端口连接到 ftp 服务器,并发送PASV指令。服务器开始监听任意端口 port 并告知客户端。
  2. 服务端被动等待客户端连接到 port 端口,建立数据传输通道,进行数据传递.

  1. 鉴于以上原理,在有防火墙的情况下,主动模式的第二步会连接失败。因此需要切换到被动模式。

参考:Active vs. Passive FTP Simplified: Understanding FTP Ports | JSCAPE

参考: https://blog.csdn.net/m0_47696151/article/details/119594676?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165588405116781683937736%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165588405116781683937736&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v32_ecpm-1-119594676-null-null.142^v20^rank_v32,157^v15^new_3&utm_term=ftp%3E+dir+200+Port+command+successful.+150+Opening+data+connection+for+directory+list.&spm=1018.2226.3001.4187

以上windows ftp服务搭建完成  、

成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值