Mac OS X,  Mac OS X Server

Running TFTP on Mac OS X

TFTP, or Trivial File Transfer Protocol is a protocol that can be used for quickly shuttling files about. While similar to FTP, TFTP has no username and password (in most cases) and should not be running when you do not need it. It’s still in use today for a number of appliances such as routers and switches, to get firmware and occasionally configuration files.

There’s a nice little GUI utility that can be used to house a TFTP server on Mac OS X. It’s funny enough, called TFTPServer. You can obtain it at http://ww2.unime.it/flr/tftpserver. Once you have downloaded it, you can open the application and you will be placed into the main application screen. By default, the TFTP server will share out the /private/tftpboot directory. If you’ve already got DeployStudio running then you’ve already got some form of tftp services that you can use and might already have some data in there.

You can change the path (if you use DeployStudio with Windows clients you might not want to or you might break the PXE booting) by clicking in the currentpath field and typing the path to the directory you’d like to share out via TFTP. You can also click on the Change Path button to bring up a browse box.

Once you are satisfied with the directory that you’re sharing out, click on the Start TFTP button. Then, once you’re complete with the tasks at hand that require TFTP go ahead and stop it again by clicking on the Stop TFTP button. If there are any problems with the TftpServer application accessing the data shared out then you will more than likely want to click on the Fix button at the bottom of the screen, which will likely be red. As with TFTP it’s really straight forward to use!

You can also use the tftpd located in /usr/libexec, but most of the time you’ll just need a quick GUI to accomplish a task, which the TftpServer app is great for.

Now as far as TFTP clients go, a number of devices can require you to TFTP into them to upload a configuration file or a firmware version. It can also be helpful for testing functions of the server that rely on TFTP. There is a TFTP command line client located in /usr/bin called appropriately tftp. You can use the get, put and quit verbs much as with other similar tools.

There is also a GUI application for Mac OS X in Mac TFTP client. It’s somewhat dated, but still works. It has a Send and a Receive (Get) option. You simply put the name of the server, select the file and click start. Couldn’t be easier.

Happy TFTPing!