凌峰创科服务平台

如何检查TFTP服务器是否已开启?

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

如何检查TFTP服务器是否已开启?-图1
(图片来源网络,侵删)

对于 Linux / macOS / WSL (Windows Subsystem for Linux) 用户

在类 Unix 系统中,检查服务状态通常使用 systemdservice 命令。

使用 systemctl (现代 Linux 发行版,如 Ubuntu 16+, CentOS 7+, Debian 8+)

这是目前最主流和推荐的方式。

  1. 检查 TFTP 服务状态 您需要知道 TFTP 服务在您的系统上叫什么名字,常见的名字是 tftptftp.socketatftpd,我们先尝试最常见的 tftp

    # 检查 tftp.service 是否正在运行
    systemctl status tftp
    # 如果上面没有找到,可以尝试检查 tftp.socket (TFTP 通常通过 socket 激活)
    systemctl status tftp.socket
    # 如果您安装的是 atftp,则检查 atftpd
    systemctl status atftpd
  2. 如何解读输出

    如何检查TFTP服务器是否已开启?-图2
    (图片来源网络,侵删)
    • 如果服务正在运行,您会看到绿色的 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,您可以使用 netstatss 命令来检查该端口是否被程序监听。

如何检查TFTP服务器是否已开启?-图3
(图片来源网络,侵删)
# 使用 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 服务是作为“可选功能”提供的,默认是关闭的。

使用服务管理控制台

  1. Win + R 键,输入 services.msc,然后按回车。
  2. 在服务列表中,找到 “TFTP Client”

    重要提示:这里显示的是 TFTP 客户端,而不是服务器,在 Windows 中,服务器功能通常不作为独立服务存在,而是与“TFTP 客户端”一起作为可选功能安装,您需要通过“程序和功能”来检查它是否已安装。

  3. 检查是否安装了 TFTP 服务器功能
    • Win + R 键,输入 optionalfeatures.exe,然后按回车。
    • 在弹出的窗口中,展开 “TFTP 客户端”
    • “TFTP 服务器” 前面的复选框被勾选,说明该功能已经安装,如果未勾选,说明您尚未安装服务器功能。

使用 PowerShell

  1. 以管理员身份打开 PowerShell。
  2. 运行以下命令来检查 TFTP 服务器功能是否已安装:
    Get-WindowsOptionalFeature -Online -FeatureName TFTP
  3. 如何解读输出
    • State 字段的值是 Enabled,说明功能已启用。
    • State 字段的值是 Disabled,说明功能已安装但未启用。
    • 如果命令找不到该功能,说明您从未安装过。

总结与后续步骤

  1. 检查状态:根据您的操作系统,使用上述方法之一来检查 TFTP 服务的状态。
  2. 如果未开启/未安装
    • Linux: 您需要先安装 TFTP 服务器软件包(sudo apt install tftpd-hpasudo yum install tftp-server),然后启动并启用它(sudo systemctl start tftpsudo systemctl enable tftp)。
    • Windows: 您需要通过 optionalfeatures.exe 勾选并安装“TFTP 服务器”功能,安装后,它通常不会自动作为后台服务运行,您可能需要通过其他方式(如第三方软件或命令行)来启动它,因为 Windows 原生对 TFTP 服务器的支持较弱。
  3. 检查防火墙:无论哪个系统,即使服务开启了,防火墙也可能阻止外部访问 TFTP 的 69 端口,请务必检查防火墙规则,并允许 UDP 端口 69 的入站连接。

如果您能告诉我您使用的是哪个操作系统(Ubuntu 22.04, CentOS 7, Windows 11),我可以提供更精确的命令。

分享:
扫描分享到社交APP
上一篇
下一篇