TFTP 服务器通常不是一个默认开启的服务,您需要先安装并手动启动它。

对于 Linux / macOS / WSL (Windows Subsystem for Linux) 用户
在类 Unix 系统中,检查服务状态通常使用 systemd 或 service 命令。
使用 systemctl (现代 Linux 发行版,如 Ubuntu 16+, CentOS 7+, Debian 8+)
这是目前最主流和推荐的方式。
-
检查 TFTP 服务状态 您需要知道 TFTP 服务在您的系统上叫什么名字,常见的名字是
tftp、tftp.socket或atftpd,我们先尝试最常见的tftp。# 检查 tftp.service 是否正在运行 systemctl status tftp # 如果上面没有找到,可以尝试检查 tftp.socket (TFTP 通常通过 socket 激活) systemctl status tftp.socket # 如果您安装的是 atftp,则检查 atftpd systemctl status atftpd
-
如何解读输出
(图片来源网络,侵删)- 如果服务正在运行,您会看到绿色的
active (running)字样。 - 如果服务未运行,您会看到红色的
inactive (dead)字样。 - 如果服务已启用(开机自启),您会在输出中看到
Loaded: ...; enabled;。
示例(服务正在运行):
● tftp.service - TFTP server Loaded: loaded (/usr/lib/systemd/system/tftp.service; enabled; vendor preset: disabled) Active: active (running) since ... ...示例(服务未运行):
● tftp.service - TFTP server Loaded: loaded (/usr/lib/systemd/system/tftp.service; enabled; vendor preset: disabled) Active: inactive (dead) since ... - 如果服务正在运行,您会看到绿色的
使用 service 命令 (较旧的 Linux 发行版)
如果您的系统没有 systemctl,可以使用 service 命令。
# 检查 tftp 服务状态 service tftp status # 如果安装的是 atftp service atftpd status
检查端口是否被监听
TFTP 默认使用 UDP 端口 69,您可以使用 netstat 或 ss 命令来检查该端口是否被程序监听。

# 使用 netstat 命令 sudo netstat -ulnp | grep 69 # 或者使用 ss 命令 (更现代) sudo ss -ulnp | grep 69
- *如果看到类似 `udp UNCONN 0 0 0.0.0.0:69 0.0.0.0: users:(("tftp",pid=1234,fd=4))` 的输出**,说明 TFTP 服务器正在运行。
- 如果没有输出,说明 TFTP 服务器没有在监听 69 端口。
对于 Windows 用户
在 Windows 上,TFTP 服务是作为“可选功能”提供的,默认是关闭的。
使用服务管理控制台
- 按
Win + R键,输入services.msc,然后按回车。 - 在服务列表中,找到 “TFTP Client”。
重要提示:这里显示的是 TFTP 客户端,而不是服务器,在 Windows 中,服务器功能通常不作为独立服务存在,而是与“TFTP 客户端”一起作为可选功能安装,您需要通过“程序和功能”来检查它是否已安装。
- 检查是否安装了 TFTP 服务器功能:
- 按
Win + R键,输入optionalfeatures.exe,然后按回车。 - 在弹出的窗口中,展开 “TFTP 客户端”。
- “TFTP 服务器” 前面的复选框被勾选,说明该功能已经安装,如果未勾选,说明您尚未安装服务器功能。
- 按
使用 PowerShell
- 以管理员身份打开 PowerShell。
- 运行以下命令来检查 TFTP 服务器功能是否已安装:
Get-WindowsOptionalFeature -Online -FeatureName TFTP
- 如何解读输出:
State字段的值是Enabled,说明功能已启用。State字段的值是Disabled,说明功能已安装但未启用。- 如果命令找不到该功能,说明您从未安装过。
总结与后续步骤
- 检查状态:根据您的操作系统,使用上述方法之一来检查 TFTP 服务的状态。
- 如果未开启/未安装:
- Linux: 您需要先安装 TFTP 服务器软件包(
sudo apt install tftpd-hpa或sudo yum install tftp-server),然后启动并启用它(sudo systemctl start tftp和sudo systemctl enable tftp)。 - Windows: 您需要通过
optionalfeatures.exe勾选并安装“TFTP 服务器”功能,安装后,它通常不会自动作为后台服务运行,您可能需要通过其他方式(如第三方软件或命令行)来启动它,因为 Windows 原生对 TFTP 服务器的支持较弱。
- Linux: 您需要先安装 TFTP 服务器软件包(
- 检查防火墙:无论哪个系统,即使服务开启了,防火墙也可能阻止外部访问 TFTP 的 69 端口,请务必检查防火墙规则,并允许 UDP 端口 69 的入站连接。
如果您能告诉我您使用的是哪个操作系统(Ubuntu 22.04, CentOS 7, Windows 11),我可以提供更精确的命令。
