在资源管理器地址栏敲 ftp:// 加服务器地址,能打开目录却拖不下来文件,进度条一直是 0。这种多半不是账号错,是数据连接没建起来,FTP 下载卡住多数情况就是这个原因。FTP 的控制连接和数据连接是分开的,两个都通了才能传文件。

FTP 用 21 端口建控制连接,真正传文件时再开一条数据连接。主动模式下由服务器回头连客户端,客户端在路由器或防火墙后面时就连不上;被动模式改成客户端去连服务器,穿透性好得多。现在的客户端默认就是被动,老设备上才需要手动设;服务器和客户端不在一个网段时,先确认 21 端口通不通,用 telnet 试一下最快。

命令行怎么下一个文件

Windows 和 Linux 都自带 ftp 命令。ftp 192.168.1.10 连上,输入用户名密码,然后 binary 切二进制模式,passive 开被动,get 文件名 下载,mget * 批量下,bye 退出。传压缩包和图片必须用 binary,用 ascii 模式会把文件改坏,下载下来打不开。

常见报错对应什么

  • 530:用户名或密码错,也可能账号被限制登录
  • 550:文件不存在,或者当前账号没有读权限
  • 425:数据连接建不起来,九成是主动模式和防火墙冲突,切被动
  • 连接超时:21 端口被挡,或者地址写错

中文文件名下载后变乱码,是编码不一致。FileZilla 这类客户端可以在站点管理器里把字符集设成 UTF-8,或者强制使用服务器编码。服务器只支持 GBK 时,怎么设都别扭,干脆让文件名用英文。

公网传文件别用裸 FTP

FTP 的账号密码和数据都是明文,同一网络里抓包就能看到。公网传东西用 SFTP 或者 FTPS,端口和配置都不一样,WinSCP、FileZilla 都支持。内网的老设备、打印机、老式 NAS 还在用 FTP,那就只在内网用,别做端口映射暴露到公网。

浏览器早就不能直接打开 ftp:// 了,Chrome 从 88 版起移除支持,Firefox 也在 90 版跟进。看到教程让你在浏览器里下 FTP 文件,基本是几年前的写法,换客户端吧。下载前先确认文件大小和校验值,传一半断掉是常事,重下比修损坏的文件省事;下完核对一遍 MD5 或 SHA256,和页面上给的值对上再删源文件。