rss logo

Step-by-Step Guide: Setting Up a TFTP and DHCP Server on Windows

tftpf logo Microsoft logo

TFTP (Trivial File Transfer Protocol) is a lightweight protocol used to transfer files between a client and a remote host over a network. It’s often used in embedded systems and network device management. Learn more on Wikipedia.

Despite being an older protocol, TFTP remains common in various network administration tasks. Personally, I use it to upgrade firmware on my equipment, such as Cisco switches.

This guide explains how to set up a TFTP server on Windows using Tftpd64 by Ph. Jounin — a free, portable utility that doesn’t require installation. Besides TFTP, it can also act as a DHCP, DNS, SNTP, and Syslog server.

Network Diagram

  • OS: Windows
  • Tftp server: Tftpd64
  • Network Protocol: UDP 69
  • Tftp directory: C:\Users\user\Download\tftpd
Diagram showing a Windows 11 PC running a TFTP server and sharing firmware files with a network switch on the 192.168.1.0/24 LAN.
TFTP transfer from Windows 11 to a network device using Tftpd64.

Download and Run

GitHub release page showing the latest Tftpd64 v4.71 version, with the file tftpd64_portable_v4.71.zip highlighted for download.
  • It's recommended to verify the sha1 checksum, for example using PowerShell:
PS > Get-FileHash .\tftpd64_portable_v4.71.zip -Algorithm SHA256
Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
SHA256          C702D13B532B8619B7F057709AA4780F940830BAE5AFFB68F2F859E8A7DBF91C       C:\Users\administrator...
  • After downloading, extract the .zip archive:
Windows File Explorer showing the extraction option for the Tftpd64 ZIP file in the Downloads folder.
  • Double-click the tftpd64.exe file to launch the application:
Windows File Explorer showing the extracted files of Tftpd64, with a red arrow pointing at tftpd64.exe, ready to be launched.

Configuration

  • Select the appropriate network interface, then click on Settings:
Tftpd64 interface showing the selection of the server network interface and the Settings button, both highlighted with red arrows.
  • In the GLOBAL tab, enable the TFTP and DHCP services:
Tftpd64 settings window showing the TFTP Server and DHCP Server options checked to enable both services.
  • In the TFTP tab, verify the Home Directory. By default, it points to the uncompressed folder. Click Browse if you want to change it:
Tftpd64 settings window displaying TFTP configuration options, including the Base Directory path selection and security settings.
  • If you want to configure a DHCP server, open the DHCP tab and set the following parameters:
    • IP pool start: first IP address to assign
    • Size of pool: number of assignable IPs (e.g., 20 devices from 192.168.1.20 to 192.168.1.39)
    • Def. router: gateway address
    • Mask: subnet mask
Tftpd64 DHCP settings window showing the IP pool start address, subnet mask, default gateway, and DHCP options configuration.

Verification

TFTP

To confirm that the server is running correctly, you can use the built-in TFTP client.

  • In the Tftp Client tab, enter the host IP, select the file to send, then click Put:
Tftpd64 TFTP client interface showing the host IP address, local file path, and 'Put' button highlighted for uploading a file.
  • The transferred file should appear in the directory where tftpd64.exe is located:
Windows File Explorer displaying the file '001.txt' transferred via Tftpd64, confirming a successful TFTP file transfer.

DHCP

  • To verify that the DHCP service is working, open the DHCP Server tab. You should see the list of assigned leases:
Tftpd64 DHCP server log showing an allocated IP address 192.168.1.20 to a device with MAC address 00:50:56:80:33:19.