Skip to content

eoan-ermine/tftp_client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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}}$

About

A simple Trivial File Transfer Protocol (TFTP) client

Resources

License

Stars

Watchers

Forks

Releases

No releases published