7 best (really free) tftp server for windows/linux in 2021

Setting up TFTP Recovery/Install

The following procedure only describes how to set up a TFTP server over Ethernet for the TFTP recovery/install preparation process, it does not describe the device-specific flash recovery/install process. For the actual flash process you have to consult the vendor provided documentation, the Internet, the OpenWrt Forum or the OpenWrt device pages.

  1. Download the desired OpenWrt (or stock) firmware image to the designated TFTP directory on your computer (and rename it if needed).
  2. Set the IP address of your computer’s Ethernet interface as described in the Device Page for your model.
  3. Start the TFTP server on your computer.
  4. Connect your computer and your device with Ethewnet cable.
  5. Power up the router and press a device-specific button to start firmware recovery over TFTP,
  6. or access boot loader recovery options and install recovery firmware over TFTP.

Switch Functioning as an FTP Server

Figure 5-17 Networking diagram

  1. Connect the PC and the switch, and configure IP addresses for them. For details, see «PC Functioning as an FTP Server».
  2. Enable FTP on the switch, and create a user name, password, and FTP path.

    You must set the user level to level 3 or above to establish an FTP connection.

    <HUAWEI> system-view 
     ftp server enable 
     aaa 
     local-user huawei password irreversible-cipher Helloworld@6789 
     local-user huawei service-type ftp 
     local-user huawei ftp-directory cfcard: 
     local-user huawei privilege level 15 
     quit 
     quit 
  3. Log in to the switch from the PC by running the ftp command. Run the get command to download files from the switch to the PC or run the put command to upload files to the switch.
  4. For example, on a PC running the Windows operating system, choose Start > Run, enter cmd, and click OK.
    C:\Documents and Settings\Administrator> ftp 192.168.0.1 
    Connected to 192.168.0.1.
    220 FTP service ready. 
    User (192.168.0.1:(none)): huawei
    331 Password required for huawei. 
    Password:
    230 User logged in. 
    ftp> get vrpcfg.zip 
    200 Port command okay. 
    150 Opening ASCII mode data connection for vrpcfg.zip. 
    226 Transfer complete. 
    ftp: 5203 bytes received in 0.01 seconds, 346.87 Kbytes/sec
    ftp> lcd     //Check the storage location of the downloaded configuration file vrpcfg.zip on the PC.
    Local directory now C:\Documents and Settings\Administrator. 
    ftp> put abcd.zip 
    200 Port command okay. 
    150 Opening ASCII mode data connection for vrpcfg.zip. 
    226 Transfer complete. 
    ftp: 8423 bytes sent in 0.01 seconds, 346.00 Kbytes/sec

The user name Administrator is an example, and the actual output may be different.

The FTP client commands vary with the operating system. For details, see relevant help documentation of each operating system.

Starting new transfer

Assuming client does not already exist, we check if his filename contains two dots for parent directory access and if request file exists. Also we validate the transfer mode and only allow netascii and octet. Failure in any of these will result in an error package sent and the client won’t be added to our pool of clients. Otherwise, we read the next 512 bytes from the file and send the first package and also add him to the client pool (dictionary).

If he already exists he generally should not be sending more RRQ. If he does and clients block number is still at 1, we resend the first package up to some amount of resends. If they are reached we send an error and remove the client.

Summary of the extensions

The table below list the options that are standardized in various RFCs, in use
is diverse TFTP implementations, or proposed in this article.

Option Parameter Notes
blksize 8 .. 65464 Block size, excluding protocol headers. The default block size is 512. Defined in RFC 2348.
blksize2 8 .. 32768 Block size restricted to powers of 2, excluding protocol headers. Non-standard, but common.
multicast addr, port, master Multicast, defined in RFC 2090.
password text Password or a combined string of the user name and the password. Non-standard.
rollover 0 or 1 Block counter roll-over (roll back to zero or to one). Non-standard.
timeout 1 .. 255 Time-out in seconds. Defined in RFC 2349.
toffset numeric Transfer offset in bytes, for partial transfers. Non-standard.
tsize numeric Transfer size in bytes (size of the file being transferred). Defined in RFC 2349.
window 1 .. 255 Window size, in blocks of «blksize» (or «blksize2») bytes. Non-standard.

Что такое FTP?

FTP означает Протокол пересылки файлов и он используется для отправки и получения файлов с удаленного компьютера.

FTP устанавливает два соединения между клиентской системой и серверной системой, одно для управляющей информации, а другое для передачи данных. Одна безопасная версия этого протокола называется FTPS, которая использует SSL для шифрования данных при передаче. Управляющая информация несет в себе команды и ответ. Первоначально аутентификация должна выполняться путем проверки имени пользователя и пароля, а после завершения файлы могут передаваться между двумя системами. FTP обрабатывает файлы как в двоичном, так и в текстовом формате.

Когда FTP-клиент запрашивает подключение к FTP-серверу, TCP (протокол управления передачей) соединение устанавливается с портом 21 сервера FTP, который зарезервирован для FTP. После аутентификации устанавливается другое TCP-соединение для фактической передачи данных через другой временный порт, обычно выше 1024.

Как отвязать роутер от провайдера

Вы купили акционный роутер одного провайдера (например, Ростелеком), а потом решили подключиться к другому. При этом устройство в сети этого провайдера не работает.

Рассмотрим как перепрошить роутер под другого провайдера. Решение этой проблемы простое. Поскольку этот роутер не был изготовлен вашим провайдером, а всего лишь прошит им модифицированной прошивкой, которая не позволяет использовать его в сетях конкурентов, достаточно просто вернуть оригинальную заводскую прошивку. Таким образом, чтобы прошить роутер для всех операторов, используем процедуру описанную выше — качаем с официального сайта микропрограмму для вашей модели и перепрошиваем устройство. После перезагрузки всё будет работать.

Кстати довольно часто в таких случаях можно вообще обойтись без перепрошивки — достаточно с помощью кнопки RESET сбросить настройки до заводских.

Разумеется, всё перечисленное выше применимо к маршрутизатору, который исправен и у вас есть доступ в веб-интерфейс. Если же во время обновления ПО что-то пошло не так и устройство перестало работать, то вернуть его в нормальное состояние будет уже сложнее.

WhatsUp TFTP Server

Ipswitch is a software company that specializes in file transfer and network management tools. Their WhatsUp Gold TFTP Server is a free utility they offer for network engineers to add to their toolbox.

It allows automated file transfers to be set up for multiple computers and devices on an intranet with a dedicated schedule.

Whether you need a tool to reinstall a software configuration weekly or a way to push out firmware and application patches to dozens of devices, WhatsUp Gold can make your life easier.

Like other TFTP servers, it runs as an always-on service and can even schedule file transfers during low traffic hours.

TFTPD32/64

TFTPD32 or TFTPD64 is the 32-bit or 64-bit Windows version of a French open source network utility package that includes a TFTP server. The services provided in addition to the TFTP server include DHCP, Syslog server, log viewer etc. A TFTP client is also in the package if you need one to install on network devices receiving files.

TFTPD32/64 is the brainchild of Phillipe Jounin, who has made it available to the public under the European Union Public License. It’s been implemented in projects like Cisco’s PIX and Aironet, HP’s Alpha servers, and Juniper’s Netscreen. It also won CNET’s Five Star Award in 2009 and is probably the oldest utility of its kind.

Настроить TFTPD

Теперь, когда пакеты TFTPD настроены на сервере Ubuntu (или на рабочем столе), следующим шагом будет настройка сервера для правильной работы. Первым шагом в процессе настройки является создание папки в /так далее/ каталог.

sudo mkdir -p /etc/xinetd.d/

Позаботившись о папке, создайте новый текстовый файл с трогать команда. В этом файле будут храниться все конфигурации сервера.

sudo touch /etc/xinetd.d/tftp

Не могу использовать sudo touch? Попробуйте поднять терминальную оболочку до Root с помощью sudo -s заранее.

sudo -s
touch /etc/xinetd.d/tftp

Теперь, когда файл существует в /etc/xinetd.d/, откройте его в текстовом редакторе Nano.

sudo nano -w /etc/xinetd.d/tftp

Возьмите приведенный ниже код и вставьте его в окно текстового редактора Nano.

Сохраните изменения в tftp-файле в Nano, нажав кнопку Ctrl + O комбинация клавиш. Затем нажмите Ctrl + X выйти.

Следуя файлу конфигурации TFTP, вы должны создать папку «tftpboot» в корневом каталоге (/) на вашем сервере Ubuntu или рабочем столе Ubuntu.

С использованием mkdir команда, создайте каталог.

sudo mkdir /tftpboot

Затем обновите разрешения для папки «tftpboot», используя chmod команда.

sudo chmod -R 777 /tftpboot

После того, как вы обновили информацию о разрешениях для каталога «tftpboot», пришло время использовать Chown инструмент для изменения информации о правах пользователя.

Примечание. Мы используем «никто» в Chown команда ниже по какой-то причине. Это позволит получить доступ к одинаковым разрешениям всем, кто пытается получить доступ к TFTP, а не устанавливать их для отдельных пользователей.

sudo chown -R nobody /tftpboot

Наконец, вы должны перезапустить программное обеспечение сервера TFTP, чтобы принять изменения. В Ubuntu 16.04 и новее это делается с помощью systemctl команда.

sudo systemctl restart xinetd.service

Предполагая, что указанная выше команда systemctl выполнена успешно, сервер должен быть запущен и работать. Перейдите к следующему разделу, чтобы узнать, как передавать файлы с помощью TFTP.

Data structures

Error pack

All error packages are predefined globals which are ready to use given the address info and fd required to send.

typedef struct
{
    uint16_t opcode;
    uint16_t error_code;
    char message;
    size_t size;
} error_pack;

Client value

Client value is the value out of the (key, value) pair in the client pool dictionary. The key being the address.

typedef struct
{
    FILE* file_fd;
    char buffer;
    size_t buffer_size;
    uint16_t block_number;
    uint16_t resends;
    mode md;
    char temp_char;
    time_t last_action;
} client_value;

Server info

Server info holds various variables for receiving and sending and is mostly to avoid bloated parameter list.

typedef struct
{
    int32_t fd;
    sockaddr_in address;
    sockaddr_in received_from;
    char input;
} server_info;

Function list

int32_t main(int32_t argc, char **argv);
void int_handler(int32_t signal);
void exit_error(const char* str);
void start_server(server_info* server, char** argv);
void init_server(const char* port, server_info* server);
uint16_t convert_port(const char* port_string);
bool some_waiting(server_info* server);
gboolean timed_out(gpointer key, gpointer value, gpointer user_data);
guint client_hash(const void* key);
gboolean client_equals(const void* lhs, const void* rhs);
sockaddr_in* sockaddr_cpy(sockaddr_in* src);
void socket_listener(server_info* server);
void ip_message(sockaddr_in* client, bool greeting);
void send_error(server_info* server, error_code err);
void start_new_transfer(GHashTable* clients, server_info* server, char* root);
void continue_existing_transfer(GHashTable* clients, server_info* server);
void read_to_buffer(client_value* client);
size_t construct_full_path(char* dest, const char* root, const char* file_name);
int32_t get_mode(char* str);
void destroy_value(gpointer data);
client_value* init_client(mode m);

Альтернативные прошивки

Кроме заводского ПО, прошить маршрутизатор можно прошивкой сторонних разработчиков. Однако следует иметь в виду, что таким образом вы теряете гарантию.

Рассмотрим основные причины использовать альтернативные прошивки для роутеров:

  • Альтернативная прошивка может потребоваться в тех случаях, когда базовый функционал ПО производителя пользователя не удовлетворяет. Например, там нет каких-либо нужных функций.
  • Бывает, что из-за замыкания или грозы выходит из строя WAN-порт. Большинство производителей роутеров не предусмотрели возможность переназначения портов и назначить один из портов LAN вместо него нельзя. Тогда возникает необходимость использовать нестандартную прошивку.
  • У некоторых производителей встроенное ПО работает нестабильно — часто обрывается связь, не работают некоторые функции. К примеру, многие пользователи в этом плане недовольны роутерами Asus.
  • Также часто пользователи, приобретая дешёвые китайские роутеры, сталкиваются с проблемой русификации прошивки. Приходится либо использовать специальные утилиты либо альтернативное ПО.

Альтернативных прошивок много. Часто они решают локальные задачи по устранению конкретных проблем.

Прошивка Padavan

Прошивка Padavan для роутеров, популярная среди пользователей сети, полностью заменяет базовый функционал заводской микропрограммы, улучшает работу устройства и расширяет его возможности.

Для прошивки роутера альтернативным ПО следует выполнить те же самые действия, что и в предыдущем пункте. Однако может потребоваться установить дополнительно последнюю версию браузера, поскольку Padavan использует HTML5, не поддерживаемый в старых версиях. Также рекомендуется отключить антивирус и другие программы, которые могут блокировать процесс.

Прошивку качаем для вашей конкретной модели. Если таковая не обнаружена, значит ваша модель не поддерживается. В этом случае не пытайтесь прошивать прошивку от подобных моделей — ничего не выйдет.

Обновление осуществляется через веб-интерфейс, пункт меню «Обновление встроенного ПО». После завершения процесса маршрутизатор перезагрузится. Обычно доступ в обновлённый веб-интерфейс осуществляется по адресу 192.168.1.1 или 192.168.0.1 со стандартной парой логин/пароль admin/admin. Могут быть другие варианты в зависимости от того, какую именно прошивку роутера от падавана вы использовали.

Troubleshooting

TFTP file transfer doesn’t work from local computer

  • Check if your TFTP server is running and listening
  • Check if TFTP folder is set up correctly (location, access rights)
  • Check if firmware file is set up correctly (location, access rights)

TFTP file transfer works from local computer, but not from another computer:

  • Check if network cable is connected properly
  • Check if server IP is set correctly
  • Make sure server firewall allows inbound TFTP on UDP port 69

TFTP file transfer works from another computer, but not from router:

  • Check if server IP is set correctly (same as router is searching for)
  • Try using alternate cable, a crossover cable or alternate switch/speed
  • Try connecting to an alternate port on the router / routers switch
  • Pay attention to any output or verbosity from the router console or led activity if available
  • Verify the arp cache on either host… server side is easier…
  • Use arp -s to add a static mapping or arp -d to delete stale entries…
  • Use a third host to simply ping the router, both with static addresses if possible
  • Try an alternate server software, client software or TFTP transfer mode
  • If you get some activity, timing can often yield results, power cycle the router and start the transfer earlier or later…

Best TFTP server

Name IPv4/IPv6 File Size Limit Link
SolarWinds Free TFTP server IPv4 4 GB Learn More
Spiceworks TFTP server IPv4 33 MB Learn More
Progress WhatsUp TFTP Server IPv4 4 GB Learn More

1) SolarWinds Free TFTP server

SolarWinds provides a free TFTP server for Windows that offers basic functionalities like IP-range lockdown, etc. It can transfer files up to 4GB in size. This server management service is easier to manage with native Windows tools.

Key Features:

  • Suitable for transferring device configuration images
  • Communicates with several devices simultaneously
  • It offers concurrent transfers from multiple devices and runs as a Windows service.
  • Let’s you authorize a specific IP address or a range of IPs altogether.
  • Easy to use TFTP software with backup network devices and configurations.
  • Offers highly scalable multi-user administration and advanced device config backup.
  • Free TFTP server which runs on Windows easily

2) Spiceworks TFTP server

Spiceworks is a complete IT management tool that provides its users with free TFTP servers to make their work easy.

This TFTP software is one of the best TFTP servers developed for IT professionals to track their network device config. It also enables you to backup and view all your config in one place.

Features

  • Allows you to compare current network configration with backups.
  • These TFTP servers can be used for configuration image transfers
  • Helps you to push out firmware updates in the background.
  • Free and in-built features of Spiceworks.

Link: https://www.spiceworks.com/free-tftp-server-for-network-configuration-management/

3) Progress WhatsUp TFTP Server

WhatsUp Gold is one of the best TFTP servers, which helps save you time while doing networking. This service-based tool allows you to securely transfer files across the network.

Features:

  • It offers a simple transfer of system configuration.
  • Sturdy, clean, and attractive GUI based interface.
  • It helps you to save time and effort when uploading and downloading the file.
  • Compatible with the older versions of Windows such as XP, Vista, and others.

Link:https://www.whatsupgold.com/free-network-monitoring-tools/free-tftp-server

4) TFTP Desktop Server

TFTP desktop server is the best solution for updating routers, OS, image transfer, and remote booting. It also allows you to configure multiple devices in a single network.

Features:

  • Real-time TFTP graph transfer helps you to work across the network.
  • Unlimited file sizes: no 16/32MB file size limitation
  • Graphs TFTP transfers in real-time
  • Directory and IP address-based security
  • Secured and locked TFTP root folder
  • It offers security based on the directory as well as the IP address.
  • Extremely fast file transfers

Link:https://tftp-desktop-server.apponic.com/

5) WinAGents

WinAgents provides a fully recognized TFTP server. It is a specially built tool to work consistently in the background. It helps you to create stock copies of different data like flash images, config files, and device settings in case of an emergency.

Features:

  • Offers virtual TFTP folders, servers, and graphic utilities for status control.
  • Offers highly scalable server architecture that has a built-in cache system and remote server administration.
  • It helps you to set different access rights for various folders.
  • It provides an option for setting the highest precedence for the server process
  • Provide IP based access control
  • File transmission using firewalls, and high precedence for a server process.

Link:https://www.winagents.com/en/products/tftp-server/

6) atftpd

ATFTPD is a Windows TFTF server that is widely used in various types of networks. It offers multithreaded and multicast architecture.

Features:

  • Full TFTP options support with high compatibility options.
  • It also supports PXE or MTFTP specifications.
  • Provides fast servers to make your packages search as fast as possible.
  • It helps you to replace the requested filename with the new one.
  • Allows users to restrict accessing the untrusted hosts.
  • Free TFTP Server for Linux.

Link: https://pkgs.org/download/atftpd

7) haneWIN TFTP server

haneWIN TFTP is a multithreaded server-based and fully realizable TFTP server for all versions of Windows. This TFTP server for Windows helps you to achieve maximum reliability and high performance while transferring the data.

Features:

  • Implemented as a Windows service and also supports all types of Windows versions.
  • This TFTP server for Windows includes an intuitive control panel for accessing all services.
  • Offers multithreaded architecture for high performance, security, and reliability as well.
  • It helps you to receive data directly into another application using a pipe option.

Link: https://www.hanewin.net/tftp-e.htm

[edit] Linux

In Linux, tftp can generally be installed with whatever package manager your distribution uses.
on suse:

 smart install tftp

on fedora:

 yum install tftp

on ubuntu

 sudo apt-get install tftp

etc.
The tftp client for Linux and OS X is very similar. When invoked, it gives the user a prompt and takes commands from the standard input.
Binary mode can be set with command-line flags — in OS X, the «-e» flag sets binary mode (among other things which are less important), and in Linux «-m binary». Binary can be set from the prompt in either (this is done below for consistency).

Typical usage looks like:

 tftp 192.168.x.x
 > binary
 > put dd-wrt.vXX_XXX.XXX

Because the transfer must be initiated in a narrow time window during the router’s bootup, tftp’s retransmit option is useful. In the following sequence of commands, tftp will retry to send the file every second for one minute. This can be issued just before the router is booted, so that it will retry to send every second while the router boots.

 tftp 192.168.x.x
 > binary
 > rexmt 1
 > timeout 60
 > put dd-wrt.vXX_XXX.XXX

If it worked, it will say something like «Sent 1769472 bytes in 9.0 seconds»

If it didn’t work, it will say «Transfer timed out.» This is often because it cannot connect to the IP address. Make sure you have manually set your computer’s IP address to one in the router’s subnet.

You can quit tftp with the ‘quit’ command or hitting ctrl+D.

Using atftp on Linux

Another way of doing this is using atftp. You can install aftp by search it in your package manager.

On Ubuntu:

sudo aptitude install atftp

On Debian (as root):

aptitude install atftp

On Fedora (as root):

yum install atftp

On Suse (as root):

smart install atftp 

Then you go to the folder where you downloaded the official Linksys firmware, for instance if you downloaded it in your desktop:

cd ~Desktop

Unrar the file, for instance if the file is WRT54GL_v4.30.11_012_ETSI_EN_code.rar

unrar x WRT54GL_v4.30.11_012_ETSI_EN_code.rar

Rename the firmware to code.bin.

cp WRT54GL_v4.30.11_012_ETSI_EN_code.bin code.bin

Then you prepare this command (do not press enter yet):

atftp --option "mode octet" --option "timeout  60" --verbose --trace -p -l code.bin 192.168.1.1

Disconnect all your network cables from your router, only leaving one from the computer to the router. Then open another terminal and ping to 192.168.1.1

ping 192.168.1.1

About the atftp command: we are putting (-p) a local file (-l) called code.bin to the IP address 192.168.1.1 asking for fully information (verbose) and showing all packages (trace), also that it must be trying for one minute (timeout 60) and in octet mode. Remember, if you get «code pattern error», try with the official Linksys firmware. More information:

man atftp 
atftp --help

Important: you should always try atftp with the official firmware and then flashing to DD-WRT with the HTTP webpage on Administration, «Upgrade Firmware»; specially if you get «code pattern error».

Note: if you use Gnome or KDE you can get problems while trying to put your static IP address. Most of the times, applications like NetworkManager (aka nm-applet) or knetworkmanager will try to get a dynamic IP address, so you should first kill them. For example:

sudo killall NetworkManager

or

sudo killall nm-applet

TFTPD32 использует

Сочетание функций в TFTPD32 экономит много денег потому что это устраняет стоимость покупки системы DHCP, сервера DNS, сервера системного журнала и менеджера конфигурации. В каждом модуле TFTPD32 просто предоставляет базовые сервисы, необходимые для управления каждой из ваших сетевых задач. Например, нет никаких функций сверки DHCP / DNS, и там нет инструмента диспетчера IP-адресов, который бы проверял наличие потерянных адресов..

TFTPD32 является идеальным инструмент администрирования стартовой сети для небольших сетей. По мере роста вашей сети вы обнаружите, что вам нужно больше аналитических возможностей и больше автоматизации задач. Так, в конечном итоге вы перерастете TFTPD32. В небольшой сети предоставление базовых функций и отсутствие функций является преимуществом, потому что, если вы управляете своей сетью в одиночку, у вас, вероятно, все равно не будет времени использовать эти дополнительные функции. В более крупных системах ваши обязанности по управлению конфигурацией и управлению адресами быстро станут неуправляемыми без дополнительной автоматизации процессов и прогнозных предупреждений..

Используете ли вы TFTPD32 для вашей сети? Считаете ли вы, что он предоставляет все функции, которые вам необходимы для управления вашей сетью? Добавляете ли вы дополнительные инструменты, чтобы обеспечить все необходимые возможности для успешного управления сетью? Оставьте сообщение в разделе комментариев ниже и сообщите нам о своем опыте работы с TFTPD32..


Brayan Jackson Administrator
Sorry! The Author has not filled his profile.

💻 How does TFTP Work?

TFT severs works in following method:

  • The client requires to open server socket on server’s IP address on UDP port 69 as the server depend upon port 69 which helps to establish a UDP connection with the client.
  • So, when the connection gets established, the client can send the message request to the server. There are various types of message requests can be sent to the server.
  • For Example, the client send a Read Request (RRQ) if any file requires to be fetched from the server or Write Request (WRQ) to transfer any file over the network.
  • Then TFTP server divides the message into blocks of 512 bytes. Here, the noticeable part is the last block of every file is lesser than 512 bytes. This helps the receiver to interpret the last block from the sender.
  • After that, every block should be transferred as a TFTP data message, and all the remaining blocks are assigned with a TFTP number. However, each block should be kept separately inside a UDP message.
  • So each time when the size of the last block would not always be less (except if it is multiple of 512), so the sending user sends another block of zero bytes that give message to the receiver that the transfer part is over.
  • TFTP also follows check and pause protocol, therefore it sends each block one after one.
  • When it sends the first block, it starts a present block timer. For the sent block, when the response from the server comes it received with the block timer.
  • After that, the second block of the file is sent. However, in case of response is found by the server, then the first block of the file is sent. This is method that helps TFTP to achieves flow control.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector