关闭Win7 FTP服务器端口的核心方法是停止IIS中的FTP服务或通过防火墙封禁21端口,推荐直接停用服务,彻底且不占系统资源。
搞清Win7的FTP端口是谁开着的
Win7系统默认不带FTP服务器功能,你遇到端口占用,多半是手动装过IIS(Internet Information Services)里的FTP组件,或者跑了第三方FTP工具(如FileZilla Server、Serv-U),FTP服务的默认监听端口是21号端口,数据传输还会用到20号端口,想关掉它,不能只结束进程,得从源头掐断服务,否则重启后它会自动复活。
win7关闭ftp服务命令:一条命令先看端口占用情况
动手之前,先用系统自带工具确认一下21端口当下被谁占着,避免误伤其他程序。
- 按
Win + R打开运行框,输入cmd。 - 在命令行里敲netstat -ano | findstr :21,回车。
- 看输出结果,最后一列的PID就是占用进程的编号。
- 再敲tasklist /fi “PID eq 进程编号”,就能看到是哪个程序在跑。
如果显示的是System或inetinfo.exe,那基本确定是IIS的FTP服务,如果是FileZilla Server这类第三方软件,直接去控制面板卸载相关程序就行。
更推荐的做法:直接关闭IIS中的FTP发布服务
这是最干净、最根本的办法,适用于一切通过系统自带IIS组件搭建的FTP服务。
第一步:打开IIS管理器定位FTP站点
点击左下角开始菜单,在搜索栏输入inetmgr,按回车打开IIS管理器,左侧连接栏展开你的计算机名,找到站点文件夹下面的FTP站点,右键单击选中它。
第二步:停止FTP站点的运行
在右侧操作栏中找到“管理FTP站点”分组,点击“停止”,此时站点会显示为灰色状态,21端口随即释放。
但要注意,这样做只停了站点,IIS的FTP服务本身还在跑,如果觉得不够彻底,继续第三步。
第三步:彻底停掉FTP服务的系统服务
- 按
Win + R输入services.msc打开服务管理器。 - 找到名字为Microsoft FTP Service的服务项。
- 双击打开,把启动类型改成禁用,再点击下方的“停止”按钮。
- 点击“确定”保存并退出。
操作过后,哪怕你把原站点重新启动,系统也会拒绝运行FTP服务,行业共识是,这一步能防止大版本更新或系统重启后服务被自动拉起来。
系统服务禁用后,注册表级保险措施
有些Win7专业版或旗舰版机器在更新补丁以后,可能会重置服务配置,想彻底锁死,可以动一下注册表项,让FTP服务连启动入口都没有。
Win + R输入regedit打开注册表编辑器。- 依次展开到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FTPSVC。 - 右侧找到
Start键,双击修改数值数据,把原本的2改成4。 - 重启机器后生效。4代表禁用,
2代表自动启动。
这段操作只适合对注册表有把握的人操作,带不动的话建议先用服务管理器方案。
win7防火墙关闭21端口,挡住外部访问
有些情况下你不想停掉内部FTP功能,只想让外网连不进来,那就在防火墙层封掉21端口,顺便把20端口也一起处理。
新建入站规则屏蔽21和20端口
- 打开控制面板 → 系统和安全 → Windows防火墙。
- 左侧点击“高级设置”。
- 在弹出的窗口中点击“入站规则”,再点右侧的“新建规则”。
- 规则类型选端口,下一步。
- 协议选TCP,特定本地端口填
20,21,下一步。 - 操作选阻止连接,下一步。
- 配置文件全勾上:域、专用、公用,下一步。
- 任意输入一个规则名,封禁FTP端口”,完成。
这样设置后,即使FTP服务器还在跑,外网也无法通过21端口访问你的共享文件,本地局域网里用FTP工具反而可能受影响,需要自己权衡。
确认防火墙规则已经生效
回到“入站规则”列表,找到刚才建立的规则,看“已启用”列是否显示“是”,再到命令行输入netsh advfirewall firewall show rule name=封禁FTP端口,能看到详细生效状态,这个命令更详细的输出里会显示四个配置文件的匹配情况,其中至少要有“公用”是启用状态。
排查占用21端口的第三方进程
很多用户会遇到自己明明从没装过IIS,15端口还是有动静,这种情况往往是第三方工具搞的鬼,常见原因包括:
- 某下载工具自带FTP传输组件。
- 备份软件(比如一些NAS同步工具)在内网开了FTP监听。
- 打印机或扫描仪的“网络扫描到文件夹”功能。
处理方式: 按最开始提到的netstat命令查看PID,找到进程路径,之后要么在软件设置里关掉FTP组件,要么直接卸载这一整款软件,业界比较头疼的是,部分软件即使卸载后还有后台服务残留,所以卸载完再复查一次端口。
验证win7关闭FTP服务器端口确实生效
不论用哪个办法,最后都建议做一轮验证,确保21端口真正关闭。
本地查看端口监听状态
命令行输入netstat -ano,直接查看LISTENING状态中还有没有21,没有输出就表示端口处于完全关闭状态。
用另一台机器做远端探测
找局域网里另一台电脑,打开浏览器访问ftp://你的Win7IP地址,或者用命令行输入telnet 你的Win7IP 21,如果提示无法连接或超时,恭喜,端口已经对外关闭成功。
检查服务进程的运行情况
回到任务管理器(Ctrl + Shift + Esc),在“进程”标签下确认不存在inetinfo.exe或ftpsvc.exe相关进程,仍有进程且无法结束的话,按前述第三条注册表方案锁死服务。
不同场景下选择哪种关闭方式最合理
具体问题具体分析,关闭21端口的方案不是死的,选择最适合的方式能避免影响其他服务。
| 你的实际需求 | 推荐做法 | 操作难度 |
|---|---|---|
| 内网不再需要任何FTP访问 | 服务管理器停用Microsoft FTP Service | 低 |
| 只封外网访问,内网还要用 | 防火墙入站规则封TCP 20、21端口 | 中 |
| 多用户共用机器,不放心别人乱改配置 | 注册表改Start键值为4 | 高 |
| 根本没用过IIS,怀疑是第三方软件 | 按netstat查到PID,关闭并卸载对应程序 | 低 |
常见问题快速解答
win7怎么关闭ftp服务器端口但又不想彻底卸载IIS?
直接进服务管理器找到Microsoft FTP Service,右键点击停止,然后把启动类型改成“禁用”,这样IIS里的网站、Web服务都能继续跑,唯独FTP功能不再工作,21端口自然释放。
防火墙封了21端口,但ftp命令还是能连上是什么原因?
先检查防火墙规则里的配置文件是否勾选完整,尤其是“公用”这一项,Win7的网络连接类型默认是公用网络,如果只勾选了“域”或“专用”,防火墙就根本不会拦截网络流量,另一种可能是系统自带防火墙被第三方安全软件接管并覆盖了规则,需要进入安全软件的“网络防护”里去设置。
关掉FTP端口后,电脑上的共享文件夹还能用吗?
完全不受影响。FTP和SMB(局域网共享)是两套独立机制,FTP走21端口,Windows共享走445端口,关掉FTP只是意味着外部无法再用FTP工具下载或上传文件,局域网里通过“\计算机名\共享文件夹”访问数据的方式依然有效。
20、21端口的关闭并非一定要靠删除系统组件来完成,掌握上述几种方式后,你可以按当前机器的实际情况组合使用,多数情况下,先检查服务状态和端口占用,再判断是改服务设置还是加了防火墙规则,远比直接重装系统省时省力。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/787282.html

