查看本地FTP服务器端口号,最可靠的方法是“配置加监听”双查:FTP控制端口默认是21,主动模式数据端口默认是20,被动模式则是一段可配置范围;Windows用netstat -ano | findstr :21,Linux用ss -tlnp | grep ftp或lsof -i :21,如果改过端口,就以服务端配置文件和监听状态为准。
FTP端口不只是一个数字:先把控制端口、数据端口和被动范围拆开
FTP默认端口号是多少?21、20和被动端口范围分别管什么
很多人问“FTP端口号”,其实是在问控制端口,FTP连接分两条线:控制连接负责登录、发命令、切目录,默认走TCP 21;数据连接负责传文件,主动模式下服务器从TCP 20主动连客户端,行业共识认为,FTP控制连接默认使用TCP 21,主动模式数据连接默认使用TCP 20,这一分配可追溯到IANA的端口注册。
被动模式更常见,尤其在客户端有防火墙、NAT或云服务器安全组时,被动模式由服务器开放一段高位端口,等你来连,配置里常见这些写法:
- vsftpd:
pasv_min_port、pasv_max_port - Pure-Ftpd:
PassivePortRange - FileZilla Server:被动模式端口范围
- IIS FTP:FTP防火墙支持里设置数据通道端口范围
查询端口不能只记21。控制端口决定你能不能登录,被动端口范围决定你能不能传文件。
为什么本地能连上,局域网却连不上?端口查看场景差异
本机访问0.0.1:21能通,不代表局域网能通,服务端可能只监听了0.0.1,没有监听0.0.0或局域网IP,也可能Windows防火墙、Linux firewalld、云服务器安全组只放行了21,没放行被动范围。
排查顺序可以固定为:
- 看服务端配置文件里的端口。
- 看系统监听端口。
- 看防火墙和安全组放行规则。
- 从客户端测试连通性。
这个顺序比反复改客户端设置更有效,业内专家指出,排查FTP端口问题时,先看服务端配置,再看监听,最后看防火墙,比直接猜端口更高效。
Windows本地FTP服务器端口号怎么查看?三条路径覆盖图形界面和命令行
用netstat和PowerShell查监听端口
如果FTP服务已经运行,命令行最直接,打开CMD或PowerShell,执行:
netstat -ano | findstr :21netstat -ano | findstr LISTENINGtasklist | findstr PID
netstat结果里的LISTENING表示本机正在监听,最后一列是PID,用tasklist可以反查是哪个程序,若你怀疑端口不是21,可以查FTP进程名,例如FileZilla Server、vsftpd、Pure-Ftpd或IIS的svchost相关进程。
PowerShell也可以:
Get-NetTCPConnection -LocalPort 21Get-NetTCPConnection | Where-Object {$_.LocalPort -eq 21}Get-Process -Id (Get-NetTCPConnection -LocalPort 21).OwningProcess
看FileZilla Server和IIS FTP的配置位置
图形界面适合不熟悉命令的人,FileZilla Server 1.x通常进入管理界面,打开Server菜单,找到Configure,再查看Server listeners,里面会显示监听端口和绑定地址,旧版FileZilla Server在Edit、Settings、General settings里看Listen on port。
IIS FTP的路径是:打开IIS管理器,展开网站,右键FTP站点,选择“编辑绑定”或“绑定”,端口就在绑定信息里,若启用了FTP防火墙支持,还要在“FTP防火墙支持”里看数据通道端口范围。
端口改过后如何反查进程
如果21端口查不到,但FTP确实在运行,说明端口被改过,此时不要盲扫全端口,先查进程:
tasklist | findstr /i "ftp"wmic process where "name like '%ftp%'" get processid,name,commandline- 再用
netstat -ano | findstr PID看它监听哪个端口
先找进程,再找端口,比从1到65535乱扫更快。
Linux下如何查看本地FTP服务器端口号?配置文件与ss命令互相印证
vsftpd:grep配置里的listen_port和pasv范围
大多数Linux发行版用vsftpd,配置文件通常在:
/etc/vsftpd.conf/etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf.d/
执行:
grep -E "listen_port|pasv_min_port|pasv_max_port|listen_address" /etc/vsftpd.confgrep -R "listen_port" /etc/vsftpd
如果listen_port被注释或没写,默认就是21,改完后要重启服务:systemctl restart vsftpd,再查监听。
proftpd、pure-ftpd的端口位置
proftpd看/etc/proftpd/proftpd.conf或/etc/proftpd.conf,查找Port和PassivePorts,Pure-Ftpd看/etc/pure-ftpd/pure-ftpd.conf,查找Bind、PassivePortRange,宝塔面板安装的Pure-Ftpd通常也在类似路径,面板里也能改。
ss、netstat、lsof三件套
确认监听端口:
ss -tlnp | grep ':21'ss -tlnp | grep ftpnetstat -tlnp | grep ftplsof -i :21lsof -i -P -n | grep ftp
ss和netstat看TCP监听,lsof看进程打开了哪些网络文件,若端口被改成2121,就把21换成2121。配置文件告诉你想用什么端口,监听状态告诉你实际用了什么端口,两者必须对得上。
局域网FTP服务器端口号怎么查询?别把客户端和服务端搞混
服务端确认监听地址和防火墙
局域网访问FTP,服务端不能只监听0.0.1,检查listen_address或Bind是否为0.0.0,或者是否绑定到具体局域网IP,然后看防火墙:
- Windows:入站规则放行TCP 21和被动范围。
- Linux firewalld:
firewall-cmd --add-port=21/tcp --permanent,再放行被动范围,firewall-cmd --reload。 - 云服务器:安全组放行相同端口。
客户端侧扫描与测试连通性
从另一台电脑测试:
- Windows:
Test-NetConnection 192.168.1.10 -Port 21 - Linux:
nc -zv 192.168.1.10 21 - nmap:
nmap -p 21 192.168.1.10
如果21不通,可能是端口改了、服务没启动、防火墙拦截,如果21通但传文件失败,多半是被动端口范围没放行。
广州深圳公司内网常见误区
在广州本地机房或深圳办公室内网里,FTP服务器可能藏在多层NAT后面,客户端能登录,却卡在“LIST”或“传输中”,通常是服务端返回了内网IP作为被动地址,此时要在FTP服务端配置被动模式公网IP或端口映射,不能只在客户端改主动/被动模式。
宝塔面板FTP端口号在哪里看?免费FTP服务器软件查看端口号方法对比
宝塔面板Pure-Ftpd查看路径
宝塔Linux面板常用Pure-Ftpd,登录面板后,进入“软件商店”,找到Pure-Ftpd,打开“设置”或“配置修改”,搜索Bind和PassivePortRange,默认控制端口一般是21,被动范围在配置里,面板的“安全”页面还要放行对应端口,否则本机监听正常,外部仍连不上。
FileZilla Server、IIS、vsftpd对比表
| 服务端 | 默认控制端口 | 数据端口/范围 | 查看入口 |
|---|---|---|---|
| FileZilla Server | 21 | 可配置被动范围 | Server listeners |
| IIS FTP | 21 | FTP防火墙支持 | IIS管理器绑定 |
| vsftpd | 21 | pasv_min_port、pasv_max_port |
/etc/vsftpd.conf |
| Pure-Ftpd | 21 | PassivePortRange |
/etc/pure-ftpd/pure-ftpd.conf |
| 宝塔Pure-Ftpd | 21 | 面板配置修改 | 软件商店设置 |
免费与商业方案查看端口思路
免费FTP服务器软件查看端口号方法并不复杂,核心都是找配置、看监听、放行防火墙,商业FTP服务端可能提供集中管理界面,但底层仍然离不开控制端口和数据端口。免费方案常见默认21,改端口后必须同步改防火墙和客户端。
本地FTP服务器端口号被占用怎么办?主动模式与被动模式排查顺序
端口占用处理
Windows查占用:
netstat -ano | findstr :21- 记下PID,任务管理器结束,或把FTP服务端口改成2121。
Linux查占用:
ss -tlnp | grep ':21'lsof -i :21- 用
kill结束冲突进程,或修改listen_port。
改端口后,客户端也要填新端口,防火墙也要放行新端口。
防火墙与安全组放行
只放行21不够,被动模式需要放行一段范围,例如30000-31000,Windows防火墙、firewalld、iptables、云安全组都要一致,否则会出现“能登录、不能列目录、不能上传下载”。
主动模式vs被动模式对比
| 模式 | 数据连接方向 | 服务器端口 | 常见问题 |
|---|---|---|---|
| 主动模式 | 服务器连客户端 | 20 | 客户端防火墙拦截 |
| 被动模式 | 客户端连服务器 | 配置范围 | 服务端防火墙未放行 |
现代网络里被动模式更常用,但被动范围必须显式放行。
收束:端口号不是猜出来的,而是从监听和配置里读出来的
查本地FTP端口,最稳的路径就是“服务端配置 + 系统监听 + 防火墙放行”三处对照,默认21只是起点,改过端口后,配置文件、监听状态和客户端连接参数必须保持一致。
Q&A:怎么查看本地的ftp服务器端口号
FTP服务器默认端口号是多少?如果改过怎么确认?
FTP控制端口默认是TCP 21,主动模式数据端口默认是TCP 20,被动模式使用可配置范围,改过端口后,Windows用netstat -ano | findstr :21查不到时,先找FTP进程再查PID监听;Linux用grep listen_port /etc/vsftpd.conf和ss -tlnp | grep ftp对照确认。
Windows和Linux查看本地FTP端口号命令有什么区别?
Windows常用netstat -ano | findstr :21、Get-NetTCPConnection -LocalPort 21,再配合tasklist反查PID,Linux常用ss -tlnp | grep ':21'、netstat -tlnp | grep ftp、lsof -i :21,两者思路一致:先看监听端口,再看进程,最后看配置文件。
局域网内FTP服务器端口号怎么查询?客户端能直接看到吗?
客户端通常只能看到自己填写的控制端口,无法直接看到服务端被动端口范围,局域网查询要在服务端执行监听命令,或从客户端用Test-NetConnection、nc -zv、nmap -p 21测试,被动模式下,服务端配置里写明的端口范围才是完整答案。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/720433.html





