Windows - Setting up a TFTP and DHCP server

tftpf logo Microsoft logo

TFTP for Trivial File Transfer Protocol is a simple File Transfer Protocol that allows a client to get or put a file on a remote host.

It is old but still used in many network applications.

I personnaly use it to update my network devices firmwares. (Cisco switches for examples).

We will see here how to set up a TFTP server under Windows.

I will use Tftpd64 by Ph. Jounin program, because it doesnt need to be installed, so it can be run only when needed, it's lightweight and free. In addition to the tftp protocol it can serve as a DHCP, DNS, SNTP and Syslog server.

Network Diagram

  • OS : Windows 10
  • Tftp server : Tftpd64
  • Network Protocol : UDP 69
  • Tftp directory : C:\Users\user\Download\tftpd
Windows | tftp server architecture
Windows tftp server architecture

Download and run

  • Download tftpd64 64 bits portable edition on the official page :
Tftpd | Download page
  • It's always a good idea to check the sha1 signature, here with PowerShell :
PS > Get-FileHash .\tftpd64_4-64_en_67602.zip -Algorithm SHA1
Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
SHA1            BB8A4DDD3821BE11B4BAFB07CD9475DBC036F8F9                               C:\Users\administrator...
  • Once downloaded unzip archive :
Tftpd | Unzip tftpd64_4-64_en_67602.zip file
  • Double click to run tftpd64.exe :
Tftpd | run tftpd64.exe

Configuration

  • First select your network interface then click Settings :
Tftpd | main interface
  • In the GLOBAL tab, enable TFTP and DHCP services :
Tftpd | global tab
  • From the TFTP tab, check the Home Directory, which by default is the uncompressed folder. Click Browse if you want to change it :
Tftpd | TFTP tab
  • If you want to set a DHCP server, go to the DHCP tab and set this settings :
    • IP pool start : fist ip address which will be allocated
    • Size of pool : number of address wich can be allocated (here 20 devices from 192.168.1.20 to 192.168.1.39)
    • Def. router : gateway address
    • Mask : Network Mask
Tftpd | DHCP tab

Check

tftp

To check that our server works correctly we can use the built-in tftp client.

  • From Tftp Client tab, set Host IP, choose any file you want and click Put :
Tftpd | Tftp Client tab
  • You should see your file inside your home directory :
Tftpd | Tftp transferred file

dhcp

  • To check the DHCP service, just go to the DHCP server tab, you should see the leases allocated :
Tftpd | Tftp transferred file
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :