Developed in the late 1970s, the Trivial File Transfer Protocol (TFTP) was created as a simplified alternative to the more robust FTP service. It sacrifices features such as user authentication and directory browsing in cases where these are not required, favoring a streamlined transfer of files to or from a remote host.
Although FTP is a far more capable solution, it operates based on the TCP protocol for connections and data transport, meaning the client device must have both an FTP client installed and proper TCP implementation configured.
This creates an additional layer of complexity for certain devices, a problem that was especially prevalent years ago when these utilities were first developed. Even in today’s society where we carry computers in our pockets, there are still instances where these requirements simply aren’t possible. Disk-less workstations are one such example, where the machine lacks any sufficient internal storage, intended to read and write files directly from memory to a remote server instead.
TFTP servers have absolutely no integrated security measures for authentication and data protection. It is strongly advised to limit access through an external firewall.
This is however just one such example where TFTP servers are still the preferred choice. Built using the UDP protocol and listening on the default port of 69, TFTP is essentially just a stripped down FTP Lite, foregoing the versatility in exchange for the ability to read/write files with ease. There are still plenty of thin devices that rely on network storage in the modern world, the most common of which is known as Network Booting.
Without an operating system installed on a local drive, the files are pulled from the network and loaded up at run-time using the TFTP protocol. This can be especially powerful in large environments where you can maintain a single system image with updates and patches, which are then applied each time a device boots up and connects to the network.
Here’s the 10 Best TFTP Servers of 2019:
- SolarWinds TFTP Server
- Spiceworks TFTP Server for IT Pros
- Windows TFTP Utility
- WhatsUp Gold TFTP Server
- WinAgents TFTP Server
- HaneWIN TFTP Server & Client
- TFTP Server v. 3.6.1
As Windows has become a more viable choice for servers in recent years, the number of available tools continues to expand as well. There are now dozens of Windows based TFTP servers to choose from, ranging from bare-bones applications to more full fledged solutions with integrated support for TFTP. We will look at the top 5 worth consideration and a brief synopsis of who makes it.
1. SolarWinds TFTP Server (Free) –
Best known for their Network Performance Monitoring, SolarWinds also offers a completely free TFTP server for download as well. As one of the most frequently used solutions on the market, it is designed to streamline router and switch maintenance, uploading and downloading executable images to a variety of network peripherals.
In addition to the basics, they have integrated advanced security protocols, up to 4GB file transfers and even concurrent upstream/downstream file transfers from multiple network devices. When ran as a service, it offers 24/7 access to the TFTP server to ensure around the clock availability.
2. Spiceworks TFTP Server for IT Pros (Free)
Spiceworks is a well regarded IT community that offers a number of tools for server management. TFTP Server for IP Pros is not just a TFTP server, it is a full scale network management solution with TFTP support included. Capable of backing up network configurations, sending instant change notifications and even pushing firmware updates to the network, this is one of the best options to manage small to medium environments with minimal effort and completely free of charge.
3. Windows TFTP Utility (Free)
Sometimes you don’t need a full fledged network management system when a simple TFTP server will do just fine. The Windows TFTP Utility offers just that, a bare-bones TFTP server for Windows with no more than the absolute essentials.
Based on the .NET framework, it has a small footprint and optimized performance, but sacrifices any customization options such as ip/port binding. Furthermore, the .NET library requires a substantial amount of disk space itself, where it is best suited for Windows environments which already make use of this platform for other applications. On the upside, for developers looking to incorporate a TFTP server in to their software, it does include a class that makes it available for integration with other binaries.
4. WhatsUp Gold TFTP Server (Free)
Much like the TFTP server from Spiceworks, the WhatsUp Gold TFTP Server from IPSwitch is available in exchange for nothing more than your personal information. It is geared towards Network Engineers, looking for a 24/7 service based solution that facilitates the transfer of system configuration files, simply and securely.
While there is a notable lack of documentation available, the attractive GUI interface is straight forward and easy to use. This seems to be aimed more towards the end user than IT professionals who value form over function, but it is more than capable of the job and has an aesthetic appeal while doing it as well.
5. TFTPD32 (Free)
When you need more than just a basic TFTP server, TFTPD32 can fulfill an entire range of needs. When Cisco and 3Com discontinued support for their TFTP software years ago, this became the go to choice for many network admins. In addition to the included TFTP server and client, it is also packed with DHCP, DNS, SNTP and Syslog servers as well. It also boasts IPv6 support and an extended feature set, such as directory facility, security tuning, interface filtering and throughput of the TFTP protocol for both client and server.
Chances are you won’t need the Swiss army knife of windows server tools, but in the event that you do, TFTPD32 is your best bet for an all inclusive application. For a free utility, it is absolutely jam packed with features and even offers both a 32 bit and 64 bit version as well.
6. WinAgents TFTP Server (Free)
As one of the most feature rich options on our list, WinAgents TFTP Server has a considerable amount of control added on top of an otherwise simplified protocol. Despite the increased functionality, it remains entirely easy to use and offers a nice GUI interface to configure the settings as needed.
The software is multi-threaded and scalable, built to run 24/7 as a background process that will continually serve client connections without upkeep. It has integrated Windows Firewall support, logging options, and even a number of advanced switches for blksize, tsize, timeout and more. The absolute most powerful feature however is the built-in NAT support, which will facilitate file transfers through routers and firewalls, a task that can sometimes become a rather complex venture in and of itself.
7. HaneWIN TFTP Server / Client (Shareware)
Deviating from the intended TFTP design, the HaneWIN TFTP Server differs a bit from other choices by implementing User Access controls. Although it isn’t a full scale authentication system, it does allow the operator to restrict access to uploads and downloads by IP Address. In certain use case scenarios, this could prove useful when the rather open implementation of TFTP falls short.
It also combines both the server and client application in to a single installation, which can be useful in peer to peer type environments.
Otherwise, the HaneWIN TFTP Server is quite similar to other full featured choices on the list, with a standalone, multi-threaded architecture that has support for both x32 and x64. It offers integrated multicast operations, service installation through Windows 10 (for headless servers) and advanced options for blocksize, transfer size and timeout options.
Best Linux TFTP Servers
As Linux remains the defacto standard for server environments, there are a number of TFTP servers packaged and available across all major distributions. We will look at the two most popular choices and a general overview of how to install and set these up on your system.
1. ATFTPD (Free)
Advanced TFTP Server (ATFTPD) is one of the most popular Linux based TFTP servers, which is a multi-threaded application and supports multicast. This makes it an excellent choice for non-standard Linux deployments that may require a bit more flexibility. Depending on the Linux distribution being used, it can be installed with either yum or apt-get.
$ sudo apt-get install atftpd
Once the package is loaded, it will create a basic configuration file at /etc/default/atftpd that defines various options. Using a text editor such as VIM or Nano, we can edit this to specify our desired settings, such as the listening port and address, thread count and whether to run as a daemon or inetd process. Here is an example configuration of the file…
USE_INETD=true OPTIONS="--tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 126.96.36.199-255 --mcast-ttl 1 --maxthread 100 --verbose=5 /srv/tftp"
2. TFTPD-HPA (Free)
As an alternative, tftpd-hpa is often a popular fallback solution when others just won’t work as expected. TFTP is a simple protocol and the servers will more or less operate the exact same, meaning you will choose the one that runs best in your environment.
We install tftpd-hpa in a similar fashion, with one command to setup the package and then modify the configuration file as desired.
$ sudo apt-get install tftpd-hpa
The configuration file is located at /etc/default/tftpd-hpa and contains roughly the same basic options. The lack of multicast support however means that there are even fewer settings available. In most cases, we can simply leave the defaults set, but you may wish to change the TFTP_DIRECTORY based on where the files should be stored.
TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/lib/tftpboot" TFTP_ADDRESS=":69" TFTP_OPTIONS="--secure"
If any adjustments are made to the configuration file, the TFTP service will need to be restarted before they can take effect.
sudo service tftpd-hpa restart
Mac OSX TFTP Servers
Apple products generally aren’t a first choice for server applications, but they are still entirely capable of being used as such. In fact, the MacOS already has a TFTP server already built-in, but it isn’t started by default. To launch it, type in the following command and enter your user password when prompted to do so.
sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist
This will start the TFTP server on the machine at the default port 69. To stop the server, run the same command but substitute the “load” command for “unload”.
sudo launchctl unload -F /System/Library/LaunchDaemons/tftp.plist
TFTP Server 3.6.1 (Free)
As a more refined option for those that need greater control or automation, TFTP Server 3.6.1 is a tool with more management flexibility. This application offers the ability to start/stop the service, change the working directory (where files are stored) and seamlessly integrated with TFTP enabled devices.
While TFTP lacks any integrated security features and is limited to just reading and writing data, it still remains an extremely powerful tool for many system administrators. Private networks are already protected behind rigid security barriers and firewall configurations, where redundant safeguards at the software level would only serve to complicate otherwise basic operations.
That is where the sheer simplicity of this utility makes it such an attractive option, compatible with nearly any network connected device and essentially no other prerequisites. Since access restrictions are already handled at a higher level, TFTP can be a god send for tasks such as updating firmware on routers, switches and other nodes, not to mention serving as a backup solution for a variety of thin devices.
TFTP as a whole has an extremely niche purpose, and probably isn’t even the best choice for most situations, but it does still hold a very significant role even in the modern digital world. When the only concern is getting files from point A to point B and other options are an afterthought, it stands among the best tools for the job.