Skip to content

Latest commit

 

History

History
46 lines (35 loc) · 2.37 KB

README.md

File metadata and controls

46 lines (35 loc) · 2.37 KB

TFTP Client

A simple Trivial File Transfer Protocol (TFTP) client.

RFC 1350 (TFTP Protocol Revision 2) compilant, RFC 2347 (TFTP Option Extension) support.

Dependencies

Dependency name Minimum required version Ubuntu 22.04
C++ C++17 sudo apt-get install build-essential
tftp_common 1.2.0 ---
Boost.System, Boost.Program_Options 1.74 sudo apt install libboost-system-dev libboost-program-options-dev

Usage

tftp_client host [GET | PUT] source destination [--transfer_mode [netascii | octet]] [--option_name name --option_value value]...
host Specifies the local or remote host
GET Transfers the file source on the remote host to the file destination on the local host
PUT Transfers the file source on the local host to the file destination on the remote host
source Specifies the file to transfer
destination Specifies where to transfer the file
transfer_mode Specifies the transfer mode, possible values: netascii, octet
option_name Specifies the name of the option, may be repeated
option_value Specifies the value of the option, may be repeated

Implemented features (RFC 1350)

Feature Implementation status
READ requests ${\color{green}\text{Done}}$
Write requests ${\color{green}\text{Done}}$

Extensions support

Extension Implementation status
RFC 2347: TFTP Option Extension ${\color{green}\text{Done}}$
RFC 2348: TFTP Blocksize Option ${\color{red}\text{Done}}$
RFC 2349: TFTP Timeout Interval and Transfer Size Options ${\color{red}\text{TODO}}$
RFC 7440: TFTP Windowsize Option ${\color{red}\text{TODO}}$