xref: /illumos-gate/usr/src/man/man1/tftp.1 (revision 6dde88b51419b99fe0aab8e56184c693945826b8)
te
Copyright 1989 AT&T
Copyright (C) 2007, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
TFTP 1 "May 7, 2007"
NAME
tftp - trivial file transfer program
SYNOPSIS

tftp [host [port]]
DESCRIPTION

tftp is the user interface to the Internet TFTP (Trivial File Transfer Protocol), which allows users to transfer files to and from a remote machine. The remote host and optional port may be specified on the command line, in which case tftp uses host as the default host, and if specified, port as the default port, for future transfers. See the connect command below.

USAGE

Once tftp is running, it issues the prompt tftp> and recognizes the following commands:

"Commands"
connect host-name [ port ]

Set the host, and optionally port, for transfers. The TFTP protocol, unlike the FTP protocol, does not maintain connections between transfers; thus, the connect command does not actually create a connection, but merely remembers what host is to be used for transfers. You do not have to use the connect command; the remote host can be specified as part of the get or put commands.

mode transfer-mode

Set the mode for transfers; transfer-mode may be one of ascii or binary. The default is ascii.

put filename

put localfile remotefile

put filename1 filename2 .\|.\|. filenameN remote-directory

Transfer a file, or a set of files, to the specified remote file or directory. The destination can be in one of two forms: a filename on the remote host if the host has already been specified, or a string of the form:

host:filename
to specify both a host and filename at the same time. If the latter form is used, the specified host becomes the default for future transfers. If the remote-directory form is used, the remote host is assumed to be running the UNIX system. The host can be a host name (see hosts(5)) or an IPv4 or IPv6 address string (see inet(4P) or inet6(4P)). Since IPv6 addresses already contain ":"s, the host should be enclosed in square brackets when an IPv6 address is used. Otherwise, the first occurrence of a colon will be interpreted as the separator between the host and the filename. For example,
[1080::8:800:200c:417A]:myfile
Files may be written only if they already exist and are publicly writable. See in.tftpd(8).
get filename

get remotename localname

get filename1 filename2 filename3 .\|.\|. filenameN

Get a file or set of files (three or more) from the specified remote sources. source can be in one of two forms: a filename on the remote host if the host has already been specified, or a string of the form:

host:filename
to specify both a host and filename at the same time. If the latter form is used, the last host specified becomes the default for future transfers. See the put command regarding specifying a host.
quit

Exit tftp. An EOF also exits.

verbose

Toggle verbose mode.

trace

Toggle packet tracing.

status

Show current status.

rexmtretransmission-timeout

Set the per-packet retransmission timeout, in seconds.

timeouttotal-transmission-timeout

Set the total transmission timeout, in seconds.

ascii

Shorthand for mode ascii.

binary

Shorthand for mode binary.

blksize transfer-blocksize

The value of the transfer blocksize option to negotiate with the server. A value of 0 disables the negotiation of this option.

srexmt server-retransmission-timeout

The value of the retransmission timeout option to request that the server uses. A value of 0 disables the negotiation of this option.

tsize

A toggle that sends the transfer size option to the server. By default, the option is not sent. The transfer size option is not sent with a write request when the transfer-mode is ascii.

? [ command-name .\|.\|. ]

Print help information.

SEE ALSO

inet (4P), inet6 (4P), hosts (5), attributes (7), in.tftpd (8)

Malkin, G. and Harkin, A. RFC 2347, TFTP Option Extension. The Internet Society. May 1998

Malkin, G. and Harkin, A. RFC 2348, TFTP Blocksize Option. The Internet Society. May 1998

Malkin, G. and Harkin, A. RFC 2349, TFTP Timeout Interval and Transfer Size Options. The Internet Society. May 1998

Sollins, K.R. RFC 1350, The TFTP Protocol (Revision 2). Network Working Group. July 1992.

NOTES

The default transfer-mode is ascii. This differs from pre-SunOS 4.0 and pre-4.3BSD systems, so explicit action must be taken when transferring non-ASCII binary files such as executable commands.

Because there is no user-login or validation within the TFTP protocol, many remote sites restrict file access in various ways. Approved methods for file access are specific to each site, and therefore cannot be documented here.

When using the get command to transfer multiple files from a remote host, three or more files must be specified. If two files are specified, the second file is used as a local file.

With the default block size of 512 octets and a 16-bit block counter, some TFTP implementations might have problems with files over 33,553,919 octets (513 octets short of 32MB) in size. The Solaris implementation can transfer files up to 4GB in size.

By default, the Solaris TFTP client does not enable the blocksize or transfer size options. Setting the blocksize option to a higher value is sometimes useful as a workaround when dealing with peers that have a 32MB limit.