4

Я собираюсь поместить новый файл ПЗУ на инструмент, подключенный к сети, и мне нужно использовать tftp. Кто-нибудь знает как это сделать?

Я собираюсь загрузить два разных файла, и они пойдут в отдельные папки.

2 ответа2

7

Вероятно, лучше всего использовать TFTP-сервер (или "службу" на языке MS), "родной" для дистрибутива операционной системы, на котором вы хотите запустить TFTP-сервер.

Если вы используете Ubuntu, попробуйте эту статью David Sudjiman.

Если вы используете Debian, попробуйте эту статью о Nixcraft .

Если вы используете CentOS, RHEL или Fedora, попробуйте эту запись в блоге.

Если вы используете MS Windows, попробуйте TFTPD32. Это не "нативный" сервер в смысле присутствия в дистрибутиве Windows, но это обычно используемый TFTP-сервер.

Если устройство, которое вы подключаете к сети, само по себе является TFTP-сервером и вам необходимо загрузить файл на этот сервер с помощью TFTP-клиента, вам необходимо выяснить,

  1. IP-адрес устройства
  2. Имя файла, которое устройство ожидает получить

Вам также может понадобиться номер порта, который прослушивает TFPT-сервер устройства, если он не является общеизвестным (стандартным) портом TFTP, порт 69.

Если устройство настраивается с использованием DHCP с сервера в вашей сети, вы можете просмотреть файлы журнала службы DHCP, чтобы узнать его IP-адрес. Другая возможность заключается в том, что устройство настраивает специальную IP-сеть. Таким образом, вам нужно иметь некоторую документацию об устройстве, чтобы знать, как оно настраивается.

Большинство вышеупомянутых пакетов сервера TFTP также устанавливают клиенты TFTP. Если вы не хотите устанавливать серверы, то в некоторых дистрибутивах есть автономные клиенты TFPT, но они обычно не устанавливаются как часть стандартной установки, поэтому вам придется устанавливать их вручную.

Как только вы узнаете IP-адрес устройства и имя файла, который он ожидает получить, вы сможете загрузить файл на устройство с помощью команды, подобной

tftp 192.168.1.1 -c put myfile theirfile

Поскольку режим передачи по умолчанию для tftp - ASCII, и вы загружаете ПЗУ, команда, вероятно, должна быть

tftp 192.168.1.1 -m binary -c put myfile theirfile

Где "myfile" - это имя файла, который вы хотите загрузить, а "их файл" - это имя, которое файл должен иметь на устройстве. Возможно, вы также захотите использовать параметр команды "-v", чтобы, если что-то пошло не так, вы могли увидеть, что это было:

tftp -v 192.168.1.1 -c put myfile theirfile

Если сервер работает на другом порту, скажем, 8069, то синтаксис команды будет

tftp -v 192.168.1.1 8069 -c put myfile theirfile

Если локальный файл уже имеет правильное имя, то команда просто

tftp -v 192.168.1.1 -c put myfile
1

Вы должны знать порт, который прослушивает TFTP-сервер. Обычно это

# getent services tftp

tftp                  69/tcp

Клиент для GNU/Linux:

$ yum info tftp

Available Packages
Name        : tftp
Arch        : x86_64
Version     : 0.49
Release     : 7.el6
Size        : 32 k
Repo        : base
Summary     : The client for the Trivial File Transfer Protocol (TFTP)
URL         : http://www.kernel.org/pub/software/network/tftp/
License     : BSD
Description 
            : The Trivial File Transfer Protocol (TFTP) is normally used
            : only for booting diskless workstations.  The tftp package
            : provides the user interface for TFTP, which allows users to
            : transfer files to and from a remote machine.  This program
            : and TFTP provide very little security, and should not be
            : enabled unless it is expressly needed.

Для получения инструкций о том, как загружать файлы, обратитесь к man-странице tftp(1) , в частности, к команде put .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .