What is a TFTP Server?

In this blog, I’ll attempt to give you some highlights of what a TFTP Server is without going too deep into the technical details, how it operates and what you should know about it.

TFTP stands for Trivial File Transfer Protocol. As the name suggests, TFTP is a mechanism to tranfer files from one device to another. It is typically used by network administrator to copy configuration file, log file and firmware to/from networking devices.

TFTP was designed to be small, simple and easy to implement. It uses UDP port 69 and runs on IP networks. It doesn’t provide any kind of error handling capability so all the error handling has to be done at Layer 7 – the Application Layer.

Per RFC 1350, a typical TFTP data payload has a minimum of 4 bytes and 516 max. The TFTP data packet has the following format:

OpCode Block # Data
2 Bytes 2 Bytes 0-512 Bytes

The OpCode signals the type of operation whether it is a read request or a write request… The Block # contains the block number or ACK number of the data packet being transmitted. The Data field ranges from 0 to 512 bytes in length. If it is exactly 512 bytes, then there is more data to follow; otherwise, it is the last data packet and signals the end of the file transfer.

It is important to know that the Block # field is two byte long or 16 bits total which yield 65,536 block numbers (2^16). So this means the largest file TFTP can send or receive is 65,536 x 512 = 33,554,432 bytes or 32MB’s. This is the reason why files transfer with size larger than 32MB’s often fail.

That might not make sense to some of you right now since you might have done some file transfers that are larger than 32MB’s. It is possible to transfer files larger than 32MB’s using TFTP. The only difference is the TFTP Server must support RFC 2348 (TFTP Block Size Option). But that will be the topic for another blog.

So in summary, TFTP Server is a mean to transfer file, used to send/receive file to/from network devices. It uses UDP port 69 and can send or receive a file with a “maximum” size of 32MB’s.

Futher Readings:
Know Your TFTP Server

Using TFTP Server Feature in Pinkie!

If you are a network professional then chances are you have dealt with and needed a TFTP Server before. TFTP stands for Trivial File Transfer Protocol. The protocol was developed many, many moons ago and it is still one of the most common way of transfer firmware and/or configuration files to/from network devices.

TFTP Server is simple; there’s not a whole lot of options to it as it was specifically designed that way. Below are some explanations about its settings:

  • Port Number: By default TFTP Server runs on UDP port number 69. You should not need to change this number unless you have a specific security requirement to close port 69.
  • Server Timeout: This is how long the TFTP Server will wait for a data packet or an acknowledgement from the client. In Pinkie, the default setting is 5 seconds. If you wish to change it, go to Application Settings dialog, click on TFTP Server tab and change it there.
  • Maximum Retry: This is how many times Pinkie will attempt to retransmit a data packet after it encountered a timeout. You can change this value in Application Settings dialog.
  • TFTP Folder: For TFTP Server to work properly, this folder must be set. This is where Pinkie looks for the file requested by a TFTP client. This folder should be writeable if you need to copy files from your devices to the machine you run Pinkie on.

Most antivirus software will block port 69 by default. You might have to create an exception and allow UDP port 69 in order to let the TFTP traffic pass through. If you use Pinkie for server admin purposes, you should not be concern with this particular feature and as the result, shouldn’t need to open port 69.

TFTP is simple, widely used and will probably be sticking around for the foreseeable future. With it built in to Pinkie, hopefully, it will reduce another application that you have to install on your machine to get the work done.

Using BulkDNS Feature in Pinkie More Effectively!

In a way Bulk DNS, works pretty much like PingSweep. It does DNS lookup & ping but the difference is it doesn’t do that for a subnet or a range of consecutive IP Addresses. Instead, it works on a list of arbitrary hostnames and/or IP addresses.

This is particularly useful when you need to do verify and make sure the newly deployed devices are live and have the proper DNS setup. The BulkDNS feature can take input from a textbox or from a text file. Text file should have a list of either IP Addresses or Hostnames; each on a separate line.

Here’s a few tips to be more efficient with Bulk DNS:

  • Show Hostname First: This option, when checked will arrange for the Hostname column to show before IP Address.
  • Include Ping Time: If you just want to do DNS lookup, then leave this option unchecked. Check this option only if you wish to do DNS lookup and also ping the host to see if is on the network.
  • Include Row Number: If this option is checked, it will show the row number for each host on the BulkDNS result listview.
  • Copy Only Live Hosts: This option works with the Include Ping Time option. It will only copy the hosts that responded to ICMP requests. Checking this option will automatically enable Include Ping Time since it requires that work properly.
  • Copy To Clipboard: Click on Copy To Clipboard button will copy the BulkDNS result to the clipboard. Typically you would want to set the other options to your liking then click on this button to copy the BulkDNS result.
  • Copy IP Address: At times, you might just want to copy a particular IP Address. To do this, click on a row in the result listview. The selected host’s IP Address will be copied automatically.

Those are just a few ways to take advantage of the Bulk DNS feature in Pinkie. With that I hope you’ll have a better understanding of how it works and use it more in the future.

Using PortScanner Feature in Pinkie More Effectively!

Another must have tool for a network professional is the Port Scanner. It is used to probe a host to see if host is listening on the specified port (open) or not.

Here’s how you can use PortScanner in Pinkie:

  • Scanning Default Ports: To scan the default ports, enter an IP Address, check the Default Ports checkbox then click on the Start Port Scan button.
  • Stop Port Scan: To stop a Port Scan in progress, click on the Stop Port Scan button and in a few seconds it should abort the scan completely.
  • Scan Ad Hoc Ports: To scan a host on an ad hoc basis, enter an IP Address, check the These Ports checkbox, enter the port numbers (separated by “,” & “;” for each port number or by “-” for a range of ports) then click on the Start Port Scan button.
  • Change Default Ports: Default Ports setting can be changed in the Settings Menu. Press F5 to bring up the Application Settings dialog then click on PortScanner tab. Enter new ports as you see fit.

PortScanner can still use a couple of enhancements. If you need something more specific, send in your request now.