Как передать файл по tftp

Обновлено: 04.07.2024

Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

передает файлы на удаленный компьютер и с удаленного компьютера, обычно на компьютере с UNIX, на котором запущена служба или управляющая программа тривиального протокол FTP (tftp). протокол TFTP обычно используется встроенными устройствами или системами, которые извлекают встроенное по, сведения о конфигурации или образ системы в процессе загрузки с сервера TFTP.

СУЩЕСТВЕННО Протокол TFTP не поддерживает ни проверку подлинности, ни механизм шифрования, поэтому при наличии может возникнуть угроза безопасности. Установка клиента TFTP не рекомендуется для систем, подключенных к Интернету. Служба сервера TFTP больше не предоставляется корпорацией Майкрософт в целях безопасности.

Синтаксис

Параметры

Параметр Описание
-i Указывает режим пересылки двоичных изображений (также называемый режимом октета). В режиме двоичного образа файл передается в однобайтовых единицах. Используйте этот режим при передаче двоичных файлов. Если параметр -i не используется, файл передается в режиме ASCII. Это режим перемещения по умолчанию. В этом режиме символы конца строки (конца строки) преобразуются в соответствующий формат для указанного компьютера. Используйте этот режим при передаче текстовых файлов. При успешном переносе файла отображается скорость передачи данных.
<host> Указывает локальный или удаленный компьютер.
get Передает Расположение файла на удаленном компьютере в файловый источник на локальном компьютере.
put Передает источник файла на локальном компьютере в место назначения файлов на удаленном компьютере. Поскольку протокол TFTP не поддерживает проверку подлинности пользователей, пользователь должен войти на удаленный компьютер, и файлы должны быть доступны для записи на удаленном компьютере.
<source> Указывает файл для перемещения.
<destination> Указывает, куда передавать файл.

Примеры

Чтобы скопировать файл Boot. img с удаленного компьютера host1, введите:

В данной заметке я покажу, как организовать простую передачу файлов на удаленный компьютер в локальной сети без использования авторизации на системе Windows 7, я уже расписывал пошаговость процесса применительно к моей любимой системе: Ubuntu 12.04 здесь а сейчас сей момент настройки мне нужен в виде оформленной справки, но уже применительно к системе Windows 7 ( по аналогии делается и для Server 2008/R2).

Есть система Windows 7 SP1 Профессиональная

Для разворачиваемого сервис tftp мне понадобиться, чтобы в системе присутствовала утилита telnet (хотя она и не нужно, но поставлю) и tftp. По умолчанию из нет, но их можно всегда добавить без каких либо скачиваний.

Пуск — Панель управления — Программы и компоненты — Включение или отключение компонентов Windows – ставим галочку у компонента “ Клиент Telnet” и нажимаем OK, установщик самостоятельно доставит отмеченный компонент в систему. Но также замечу, что установку компонента можно производить и из консоли командной строки , делает это так:

C:\Users\ekzorchik>Start /w ocsetup TelnetClient; TFTP

Проверим установился ли компонент запустив его с параметрами отображения справки по использования команды :

C:\Users\ekzorchik>telnet /?

telnet [-a][-e Символ][-f Файл_входа][-l Имя][-t Тип][Узел [Порт]]

C:\Users\ekzorchik>tftp

Обмен файлами с удаленным компьютером, на котором запущена служба TFTP.

TFTP [-i] узел [GET | PUT] источник [адресат]

вывод ниже я опускаю, утилита в системе присутствует. Идем дальше.

На заметку: если отпадет потребность в данных компонентах со временем, их можно отключить , либо через GUI составляющую, либо через командную сущность, так:

C:\Users\ekzorchik>start /w ocsetup TelnetClient /uninstall

C:\Users\ekzorchik>start /w ocsetup TFTP /uninstall

Устанавливаю приложение, потребуются права Администратора на системе:

Отмечаю опции установки — все:

Отмечаю все опции установки

Каталог установки программы оставляю по умолчанию

В ходе установки в системе появится служба :

C:\Users\ekzorchik>sc query tftpd32_svc

Тип : 10 WIN32_OWN_PROCESS

Состояние : 4 RUNNING — служба работает.

(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)

Код_выхода_Win32 : 0 (0x0)

Код_выхода_службы : 0 (0x0)

и автоматически запустится диалоговое составляющее программы TFTP

Итогом будет запущенная GUI составляющая программы настройки сервиса tftpd

Отлично, установка утилиты в систему проста, дальше я покажу, как организовать настройку TFTP сервера на загрузку образа система для моего EEE PC 901 системы Ubuntu – ubuntu-12.04-desktop-i386-gnomeshell-remix

После чего перехожу на вкладку TFTP и выставляя настройки согласно моему скриншоту ниже:

Настраиваю сервис TFTP посредством пунктов

Принятие настроек сопровождается перезапуском службы

После чего в главное окно программы приводим к виду:

Приводим GUI составляющую к виду скриншота

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

Проверить работу сервиса TFTP можно так, создадим файл и передадим его на TFTP:

C:\Users\ekzorchik>cd /d c:\

c:\>fsutil file createnew c:\file.txt 1000

c:\>tftp 192.168.1.54 PUT file.txt

Успешная передача: 1000 байт за 1 сек., 1000 байт/с

Удалим в корне диск C: файл file.txt и получим его с TFTP:

c:\>del file.txt

c:\>tftp -i 192.168.1.54 GET file.txt

Успешная передача: 1000 байт за 1 сек., 1000 байт/с

24.09.2014 20:52 1 000 file.txt

Стоит упомянуть, что авторизации нет и оставлять на заполнение каталог используемый сервисов TFTP не стоит, когда развернете сервис на Server 2008/R2 не забудь-те настроить службу FSRM для создания квоты на данный каталог и запретить запись в него файлов кои в Вашем представлении являются зловредными. Если же сервис все же будет использоваться на Windows 7, то можно ограничиться создание vhd диска определенного размера и уже в нем создать каталог корня.

Как видите, все в порядке и работает. Я даже специально привел команды с помощью которых можно в консоли командной строки использовать возможность работать с tftp, данные команды универсальны и присутствуют во всем семействе операционных систем Windows. Могу с уверенностью сказать, что цель этой заметке рассмотрена. Прощаюсь, до встречи, с уважение автора блога ekzorchik.

Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:

Поблагодари автора и новые статьи

будут появляться чаще :)

Карта МКБ: 4432-7300-2472-8059

Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.

Проводятся технические работы по обновлению компонентов блога. Возможно некорректное отображение некоторых элементов. Приносим свои извинения за временные неудобства. Мы стараемся сделать блог лучше =)

Переходи скоре.

четверг, апреля 04, 2013

Практика работы с TFTP

Всем доброго дня, сегодня мы с вами попробуем попрактиковаться в использование протокола TFTP . Для данной практики мы будем использовать 3 виртуальные машины, виртуально находящиеся в одной подсети. В моем случае это будут две машины, работающие под управлением Windows XP , и одна виртуальная машина с установленным на нее D ebian 6.0.7. На одну из виртуальных машин с Windows XP (виртуальная машина 1) мы установим популярный в определенных кругах Tftpd32, включающий в свой состав TFTP сервер и TFTP клиент. На второй виртуальной машине с XP мы попрактикуемся в использование штатного клиента TFTP встроенного в Windows . Ну а на машине с D ebian (виртуальная машина 3) мы познакомимся с азами TFTP в Linux . И так если вам все это интересно, то приступаем.

На первую виртуальную машину мы установим Tftpd32. Для этого скачайте его дистрибутив по ссылке, и произведите его установку. Думаю при этом у вас не должно возникнуть каких либо проблем. Далее в корне диска C создаем папку и помещаем в нее несколько файлов. В моем случае папка называется Public и в ней находятся файлы 1. bmp и 2. bmp . После этого запускаем Tftpd32 и нажав на кнопку Browse выбираем папку, файлы из которой мы будем раздавать при помощи TFTP , в моем случае это папка C :\ Public . В поле Server Interface выбираем сетевой интерфейс, на котором будет функционировать TFTP сервер, если на вашей виртуальной машине он всего один, то ничего не меняем. Про себя отмечаем что IP адрес первой виртуальной машины 192.168.1.41.


tftpd 32 сконфигурирован на раздачу файлов из папки Public по протоколу TFTP

После того как все перечисленные выше пакеты будут установлены приступим к их конфигурированию. По умолчанию TFTP сервер сконфигурирован на использование директории /srv/tftp. Возможно это и удобно, то так как мы учимся работать с TFTP мы попробуем это изменить и сделаем так чтобы TFTP сервер для своей работы использовал директорию / TFTP _ server . Для начала создадим данную директорию выполнив команды:

Далее отредактируем файл / etc / inetd . conf . Для этого выполним команду (вместо nano можно использовать любой другой текстовый редактор):

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp

Заменяем аргумент /srv/tftp на / TFTP _ server . В итоге у вас должно получится:

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /TFTP_server

После чего сохраняем файл inetd.conf. Чтобы только что внесенные настройки вступили в силу необходимо перезапустить службу openbsd - inetd , для этого выполняем команду:

Теперь можно считать что данная виртуальная машина настроена для работы. И далее мы перейдем к практике.

Практика 1. Копируем файлы с TFTP сервера с помощью встроенного TFTP клиента Windows

Для начала запустим консоль на виртуальной машине 2. И попробуем скачать файл 1. bmp с TFTP сервера виртуальной машины 1 (192.168.1.41). Для этого в консоли выполним команду:

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

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

В данном случае вы меняете текущую директорию в консоли на C :\, а уже после этого осуществляете в нее копирование файлов с помощью TFTP.

Теперь если мы перейдем на виртуальную машину 1. И посмотрим на вкладку Log Viewer сервера tftpd 32, то мы сможем просмотреть статистику запросов поступающих от клиентов к данному TFTP серверу, в данном случае статистика содержит только два запроса на чтение файлов:


Статистика запросов поступающих на TFTP сервер виртуальной машины 1

Копирование файлов с TFTP сервера виртуальной машины 3 ( Debian ) осуществляется аналогичным образом, только потребуется выполнить команды:

Практика 2. Записываем файлы на TFTP сервер с помощью встроенного TFTP клиента Windows

Для того чтобы скопировать файлы находящиеся в папке C :\ Client (виртуальная машина 2) на TFTP сервера виртуальной машины 1 необходимо в консоли выполнить следующие команды:

Записанные файлы на виртуальной машине 1 появятся в директории C :\ Public .

Если мы попробуем выполнить копирование файлов аналогичным способом на виртуальную машину 3 с Linux, то получим ошибку Access Violation :


Ошибка Access Violation при попытки записи на tftpd

Дело в том, что tftpd установленный на виртуальную машину 3, позволяет осуществлять запись только в уже существующие файлы. Поэтому на необходимо выполнить на виртуальной машине 3 следующие команды:

Первой командой мы переходи в директорию /TFTP_server. Второй командой мы создаем в ней пустой файл с именем 1.txt. Третьей командой мы даем полные права на доступ к директории /TFTP и всем имеющимся в ней файлам.

После этого можно выполнять на виртуальной машине 2 команду:

Практика 3. Копируем файлы с TFTP сервера с помощью Tftpd32

Давайте попробуем скачать файлы хранящиеся на TFTP сервере виртуальной машины 3. Для этого на виртуальной машине 1 перейдем к окну приложения tftpd 32. Откроем вкладку TFTP Client и укажем в ней адрес TFTP сервера с которого мы хотим скачать файл, имя файла который мы хотим скачать, а так же имя файла под которым мы хотим сохранить скачанный файл на нашем компьютере.

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

Практика 4. Запись файлов на TFTP сервер с помощью Tftpd32

Теперь попробуем записать файлы на TFTP сервер виртуальной машины 3 ( Debian ) используя TFTP клиент встроенный в Tftpd 32. Как мы уже выяснили ранее, для того чтобы осуществлять запись файлов на tftpd сервер виртуальной машины 3, необходимо создать пустые файлы с таким же именем на данном сервере. Поэтому сначала выполняем следующие команды на виртуальной машине 3:

После этого возвращаемся к виртуальной машине 1. Опять же открываем вкладку TFTP Client и заполняем ее следующим образом:

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

Практика 5 . Копируем файлы с TFTP сервера с помощью TFTP клиента в Linux

Теперь настало время поработать с Linux . Перейдем на виртуальную машину 3 и попробуем скачать с нее файлы хранящиеся на TFTP сервере виртуальной машины 1. Для этого в консоли введем:

Команда tftp позволяет перейти к управлению клиентом tftp. С помощью команды get мы отправляем к TFTP серверу запрос на чтение файла. В качестве параметров указываются адрес tftp сервера:имя запрашиваемого файла.

После чего файл 1. bmp будет скопирован с TFTP сервера виртуальной машины 1 и помещен в директорию / TFTP _ server виртуальной машины 3.

Практика 6. Записываем файлы на TFTP сервер с помощью TFTP клиента в Linux

В заключение попробуем записать файлы на TFTP сервер виртуальной машины 1 используя клиент виртуальной машины 3 с Debian . Для этого выполним на ней следующие команды:

Пока это все примеры использования TFTP. Надеюсь они пригодятся вам в вашей профессиональной практике.

Сервер TFTP предназначен для управления загрузкой бездисковых ПК (рабочих станций), но также эффективен для передачи файлов между удаленными системами. Этот упрощенный протокол передачи файлов очень прост в использовании.


Альтернатива домашней сети

Домашняя группа Windows была удобным инструментом для обмена файлами по сети. Но была исключена с обновлением Windows 10 до версии 1803. Для замены можно использовать TFTP-сервер, который интуитивный в настройке, достаточно надежный и позволяет передавать данные на быстрой скорости.

Перед настройкой сервера TFTP нужно выполнить следующие действия:

  1. Войдите в систему под учетной записью администратора.
  2. Загрузите установщик TFTP-сервера компании SolarWinds. После распакуйте загруженный zip архив в любое место на диске и установите программу, следуя инструкциям на экране.
  3. Чтобы разрешить удаленный доступ к серверу, нужно переадресовать UDP-порт 69 на IP адрес домашней сети. Но, если удаленное подключение не требуется, то переназначать порты не нужно.

Настройка сервера TFTP

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

Для настройки сервера следуйте инструкции:

Как пользоваться TFTP сетью

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

  1. Нужно войти в панель конфигурации роутера с адресной строки браузера и ввести логин и пароль, которые указаны в инструкции к устройству.
  2. Откройте расширенные настройки и найдите NAT или Port Forward.
  3. Сделайте новую запись и перенаправьте UDP порт 69 на ipv4-адрес.

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

Конфигурация клиента TFTP

Перейдем к установке клиента на удаленном или локальном компьютере.

  1. Откройте панель управления и перейдите в раздел «Программы и компоненты».
  2. С левой стороны экрана кликните на пункт «Включить или выключить компоненты Windows».
  3. Найдите в списке клиента TFTP и установите флажок. Подтвердите изменения на ОК.

Помните, что установку клиента нужно произвести на компьютере, на котором не запущен сервер TFTP.

Настройка брандмауэра

После установки клиента нужно либо отключить Брандмауэр Windows, либо добавить исключение для соединений TFTP.

  1. Откройте панель управления, измените просмотр на крупные значки и выберите Брандмауэр Windows.
  2. С левой стороны нажмите на кнопку «Включение или выключение брандмауэра Windows».
    Переключите флажки в двух секциях в положение «Отключить».
  3. Если не хотите полностью отключать эту функцию защиты, можно добавить исключение для соединений TFTP. Для этого вернитесь в предыдущее окно и выберите «Разрешить запуск программы или компонента через брандмауэр».
  4. Нажмите на кнопку «Разрешить другую программу», затем на «Обзор». Найдите и добавьте исполняющий файл TFTP.exe, который находится в каталоге Windows\System32.
  5. Установите флажки в полях «частная» и «публичные» и нажмите на ОК.

Как передавать файлы в сети TFTP

После установки клиента и перенаправления порта перейдем к передаче файлов. Убедитесь, что сервер запущен, затем следуйте инструкциям:

Нажмите Win + R, в диалоговом окне наберите cmd для вызова командной строки. Перенесите или скопируйте файлы, которые хотите передать, в корневой каталог сервера.

Для отправки файлов нужно использовать параметр PUT, при получении GET. Синтаксис команды выглядит следующим образом:

Tftp -i [server IP address] [GET или PUT] [путь к файлу]

Например, для передачи используйте команду:


Tftp -i 192.168.10.3 put E:\file.txt

Если хотите получить файл, то команда будет выглядеть:

Tftp -i 192.168.10.3 get file.txt

Если хотите переслать на удаленное устройство за пределами сети, нужно указать публичный IP-адрес в командной строке, а затем порт. Примером может быть:

Читайте также: