There is a wide variety of File Transfer Protocols (FTP) in use on the internet today. One of the most basic, and therefore most widely used to perform low-level single file transfers, is the Trivial FTP or Trivial File Transfer Protocol (TFTP).
The protocol is frequently found in devices like routers, media streamers, and mobile phones. It is the main way in which firmware files are pushed to these devices in order to upgrade or patch them.TFTP is not suitable for use over the internet because of its lack of security. FTP is more common for use over the internet, and the more secure SFTP is growing in popularity for secure internet file transfers.
There is plenty of detail on each of the tools we selected for this article below, but if you only have time for a quick summary, here are the best free TFTP servers:
- SolarWinds Free TFTP server EDITOR’S CHOICE This tool runs on Windows and includes an IP-range lock-down and can transfer files up to 4GB in size. It is 100% free to download and use today.
- Windows TFTP utility Lightweight free TFTP server with the advantage of being fast at transferring small files.
- TFTPD32 A package of useful network monitors that includes a DHCP server monitor, a DNS monitor, and a Syslog server as well as a TFTP server.
- WhatsUp Free TFTP server Smart-looking frontend that interfaces to an effective TFTP server.
- haneWIN TFTP server 32-bit and 64-bit TFTP server for Windows environments that can be restricted in operations to IP address or directory.
- WinAGents Small TFTP server for Windows with the ability to manage virtual file folders.
- Spiceworks TFTP Spiceworks is an ad-supported network management system and this TFTP server is part of it.
- Pinkie A bundle of tools delivered in a tabbed interface that runs on Windows and includes a TFTP server.
- atftpd Linux command-line utility that is fast at transferring files but has no security.
- tftpd-hpa Straightforward Linux command line TFTP system.
- macOS TFTP server Simple command line TFTP server for macOS.
What is TFTP?
Current FTP sessions support a lot of different commands. While logged in to an FTP server, users can usually list, delete, rename, upload, or download files and change directories. In contrast, TFTP offers only the ability to upload or download a file and uses UDP over IP instead of the more standard TCP/IP stack.
The protocol is not capable of allowing more advanced functionality but compensates by using the lockstep method of fault-tolerance that makes it extremely reliable. Due to this limited functionality, TFTP servers can have an extremely small footprint on the disk as well as in memory, making it ideal for use in embedded devices.
Caution: TFTP has zero security. There is no concept of user accounts so anyone will be able to connect to your TFTP server. Ensure your server machine is secured in some other way such as with a firewall or by limiting the network interfaces the server listens on.
Linux is far and away the most common operating system on the type of devices where you’re likely to encounter a TFTP server. But, there is also a rich ecosystem of Windows and macOS devices that run firmware (think Apple TVs and Microsoft Surface for a few examples).
Best Free Windows TFTP servers
Some of the considerations we made when selecting tools for this list were reliability, ease of setup and use, sufficient documentation and support, and tool robustness in diverse industry use.
The TFTP server offered by SolarWinds is a 100% free version that runs on Windows only. It is not an expiring trial. If offers basic functionality such as IP-range lockdown and can transfer files up to 4GB in size. It runs as a Windows service which makes it easier to manage with native Windows tools.
MORE INFORMATION ON THE OFFICIAL SOLARWINDS SITE:www.solarwinds.com/free-tools/free-tftp-server/
Setup is simple and SolarWinds TFTP server supports concurrent transfers and the ability to authorize only specific IPs. It’s a totally free download.
Official Site: www.solarwinds.com/free-tools/free-tftp-server/
2. Windows TFTP Utility
The Windows TFTP Utility is a bare-bones TFTP server for Windows. It is extremely small and has almost no configuration options. On the one hand, that allows the utility to be very small and fast. On the other hand, it means that you’re unable to specify some basic configuration such as which network interface to bind.
The small size comes from a reliance on the .NET framework. But, if you do not already have the .NET framework installed for some other application, that can result in a heavy installation footprint so this utility may not be optimal for every use-case. In addition, it comes with a .NET class that developers can use to incorporate TFTP into their own applications.
Tftpd32 is an immensely popular open source TFTP server for Windows. It is not only a sleek TFTP server but also bolts on some other features. The list of additional features includes a DHCP server, a DNS server, SNTP (time) server, and a syslog server, so it will help you manage your IP addresses as well.
It’s pretty difficult to come up with a scenario where you’d need that particular set of features in a single application, but using one or two in addition to a TFTP server may fulfill some need. And don’t worry, there’s a 64-bit version as well.
4. WhatsUp Free TFTP Server
WhatsUP TFTP server is a product from IPSwitch. The TFTP server is geared towards network engineers that just need to get files where they belong with as little bother as possible. WhatsUp is a free tool, not a trial. There is almost no documentation available on the free WhatsUp TFTP server so it is hard to determine which use-cases it may best address.
5. haneWIN TFTP server
The haneWIN TFTP server is a full-featured 32-bit and 64-bit TFTP server that runs on Windows XP/VISTA/20xx (servers)/7/8/10. It breaks from the TFTP model a bit by supporting access controls, which are not natively part of TFTP. This TFTP server can restrict IP addresses to only allow downloading or uploading and access to server directories.
An interesting feature is that it can also be run completely on the command-line which makes it very useful for scripted actions. It also includes a TFTP client that runs as a DLL. HaneWIN Software also produces a DHCP server that has an integrated TFTP server.
The WinAgents suite of software includes a robust TFTP server that runs on Platform: Windows 2000 (server), XP, 2003 (server), Vista, Windows 7, and 2008 (server). It supports 64-bit platforms as well, although it does so by running a 32-bit service. It has some limited access controls such as IP-based file access and uses only a single UDP port which makes implementation behind a firewall easier to handle.
A very useful feature of WinAgents is the support for virtual file folders. This means you can create folders that appear to exist for TFTP users, but don’t have to exist in reality on the server’s disk. This feature can make file organization easier which is something notoriously painful with traditional TFTP.
7. Spiceworks TFTP server
The Spiceworks TFTP server is focussed on network management. Keeping all of your devices up-to-date, as well as ensuring all the configurations are standard across the organization for every router and switch, can be difficult. The Spiceworks TFTP server can help keep all your devices running current firmware and configs with minimal effort.
One of the additional Spiceworks features is the ability to compare network configurations side-by-side with existing backups to quickly spot devices running outdated software. Small insights like that can help quickly pin down rogue behavior in network segments.
Pinkie is a free Windows-based network monitoring toolset. The different tools in the utility are accessed through tabs at the top of the main panel of the interface. This useful little bundle from IPUptime also includes a DNS server, Ping, and Traceroute. The Pinkie TFTP Server just listens. It will pick up any messages sent to its host on port 69.
The settings for the server can be altered through another tabbed window that can be called up from the top menu. It will overlay the server, so you don’t need to turn it off in order to access the configuration system. This tool is straightforward and easy to use.
Linux TFTP servers
There are a variety of TFTP servers available for most Linux distributions. A popular one is the Advanced TFTP server that comes in a package named
atftpd. The ‘d’ at the end of many Linux packages stands for daemon, which is a Unix-like term for an application that runs in the background. A Linux daemon is akin to a Windows service.
The ATFTP server supports multicast and is multithreaded which makes it a little more flexible to deploy in non-standard network installations. Use
yum to install it, depending on your Linux distribution.
$ sudo apt-get install atftpd Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: atftpd
You’ll find the sparse configuration file for atftpd in
`/etc/default/atftpd. Set up some quick options such as what ports to listen on, and whether to run as a daemon or via inet.d, and you’re ready to go.
$catatftpd USE_INETD=true OPTIONS="--tftpd-timeout300--retry-timeout5--mcast-port1758--mcast-addr126.96.36.199-255--mcast-ttl1--maxthread100--verbose=5/srv/tftp"
You’ll need a TFTP client. There are many, but the
atftp client is a quick and easy command line solution. To install is, use
apt-get install atftp. Then connect and upload a file:
$ atftp 192.168.2.146 tftp> put emptyfile tftp> quit
We can see the
emptyfile has been uploaded to the path specified in the config file
$ ls -l /srv/tftp -rw-rw-r--1 jdw jdw 0 Nov 510:44 emptyfile
Another popular TFTP server for Linux is tftpd-hpa. Since the TFTP protocol is so simple, there are no really obvious advantages to choosing one TFTP server over another. However, due to dependencies and documentation deficiencies, sometimes one server will work better than another. If you’re unable to get atftpd working, give tftpd-hpa a try.
$ sudo apt-get install tftpd-hpa Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: xinetd Use 'sudo apt autoremove'to remove it. Suggested packages: pxelinux The following NEW packages will be installed: tftpd-hpa
You’ll find the configuration file in
$ cat /etc/default/tftpd-hpa #/etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/lib/tftpboot" TFTP_ADDRESS=":69" TFTP_OPTIONS="--secure"
Modify the settings as desired, then startup the server using
sudo service tftpd-hpa restart.
11. macOS TFTP server
macOS has a built-in TFTP server that won’t be loaded by default. The easiest way to get it running is to simply type:
sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist
Then, provide your password when prompted. You can use something like netstat to confirm it is running:
$ netstat -n | grep *.69 udp4 0 .69 .* udp6 0 .69 .*
The TFTP server is now running on port 69 waiting for connections. You can use any TFTP client to connect to the server and upload or download files. To shut down the TFTP server, simply use the
sudo launchctl unload -F /System/Library/LaunchDaemons/tftp.plist
Although TFTP does not incorporate any security procedures, this lack of security is not unique among networking administration systems. DHCP and the widely implemented SNMPv2 do not include security measures. Make sure you only implement TFTP on a secured private network.