Протокол tftp что это

Протокол tftp что это

Trivial File Transfer Protocol

RIS Windows, tftp.exe

WinAgents TFTP Server, RIS Windows, tftpd

Размер блока (RFC 2348), Тайм-аут передачи (RFC 2349)

TFTP (англ. Trivial File Transfer Protocol — простой протокол передачи файлов) используется главным образом для первоначальной загрузки бездисковых рабочих станций. TFTP, в отличие от FTP, не содержит возможностей аутентификации (хотя возможна фильтрация по IP-адресу) и основан на транспортном протоколе UDP.

Содержание

Применение

Безопасность

Дополнительная защита от доступа к произвольным файлам осуществляется с помощью смены корневого каталога на каталог tftpd (обычно /usr/TFTPRoot).

Типы пакета

Сначала в TFTP-пакете идет поле размером в 2 байта, определяющее тип пакета:

Запросы на чтение и запись

Для начала передачи данных клиент должен послать серверу WRQ или RRQ-пакет. У обоих пакетов формат одинаковый:

0x01/0x02 (тип пакета)Имя файла0x00 (конец строки)Режим передачи0x00 (конец строки)Опции… (если есть)
2 байтастрока в ASCII1 байтстрока в ASCII1 байтСм. «Опции»

В TFTP существует 2 режима передачи (режим Mail, определенный в IEN 133, признан устаревшим):

После получения RRQ-пакета сервером, он сразу начинает передачу данных. В случае с WRQ-запросом — сервер должен прислать ACK-пакет c номером пакета 0.

Процесс передачи данных

После получения запроса RRQ, сервер сразу посылает в качестве подтверждения пакет с данными и с ID пакета равным единице. В WRQ в качестве подтверждения используется ACK с ID равным нулю. Всего по TFTP можно передать 32 Мб (65536 * 512 / 1024²), однако из-за использования знакового int вместо беззнакового, размер подтверждения ограничен 16 мегабайтами. Однако если клиент и сервер поддерживают расширения протокола RFC 2347 и RFC 2348, то максимальный размер передаваемого файла увеличивается до 4Gb.

Опции TFTP

В RFC 2347 был предусмотрен формат опций, которые можно присоединять к окончанию RRQ-пакета и WRQ-пакета:

Код опции0x00 (конец строки)Значение опции0x00 (конец строки)
строка в ASCII1 байтстрока в ASCII1 байт

Опций может быть несколько. Тогда они будут следовать друг за другом. Порядок опций не важен.

В ответ на RRQ (или WRQ) с опциями, сервер должен прислать OACK с списком опций, которые сервер принял. Наиболее распространённые опции:

НазваниеОпределена вКод опции
Размер блокаRFC 2348blksizeВ качестве значения опции идёт число, принимающее значение от 8 до 65464, обозначающее размер блока.
Интервал повторной передачи (Timeout)RFC 2349timeoutВ качестве значения опции идёт число, принимающее значение от 1 до 255, обозначающее время ожидания перед повторной передачей блока в секундах.
Размер файлаRFC 2349tsizeВ качестве значения опции идёт число, обозначающее размер передаваемого файла в байтах.

Ошибки

В TFTP информация об ошибке имеет следующий формат:

0x05 (тип пакета)Код ошибкиОписание ошибки0x00 (конец строки)
2 байта2 байтастрока в ASCII1 байт

Код ошибки может принимать одно из значений, перечисленных в STD 33 (за исключением кода 8 — он описан в RFC 2347). Вот они:

Код ошибкиОписание
0Нет определенного кода, см. текст ошибки
1Файл не найден
2Доступ запрещен
3Невозможно выделить место на диске
4Некорректная TFTP-операция
5Неправильный Transfer ID
6Файл уже существует
7Пользователь не существует
8Неправильная опция

Схема URI

В RFC 3617 определен формат URI для TFTP. Он имеет следующий вид:

Источник

Протокол tftp что это

Протокол tftp что этоПротокол tftp что этоПротокол tftp что этоПротокол tftp что этоПротокол tftp что это

Глава 15 TFTP: простой протокол передачи данных

В этой главе приводится только краткое описание TFTP, потому что в следующей главе мы рассмотрим протокол Bootstrap, который использует TFTP. Мы использовали протокол TFTP, когда загружали из сети хост sun (см. рисунок 5.1). Он выдавал TFTP запрос, после того как получил свой IP адрес с использованием RARP.

RFC 1350 [ Sollins 1992] является официальной спецификацией TFTP версия 2. Глава 12 [Stevens 1990] предоставляет полные исходные коды реализации TFTP клиента и сервера и описывает некоторую технику программирования, использованную в TFTP.

Протокол tftp что это

Рисунок 15.1 Формат пяти TFTP сообщений.

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

Каждый пакет данных содержит номер блока (block number), который затем используется в пакете подтверждении. В качестве примера скажем, что когда необходимо осуществить чтение файла, клиент посылает запрос на чтение (RRQ), указывая имя файла и режим. Если файл может быть прочитан клиентом, сервер отвечает пакетом данных с номером блока равным 1. Клиент посылает подтверждение (ACK) на номер блока 1. Сервер отвечает следующим пакетом данных с номером блока равным 2. Клиент подтверждает номер блока 2. Это продолжается до тех пор, пока файл не будет передан. Каждый пакет данных содержит 512 байт данных, за исключением последнего пакета, который содержит от 0 до 511 байт данных. Когда клиент получает пакет данных, который содержит меньше чем 512 байт, он считает, что получил последний пакет.

В случае запроса на запись (WRQ) клиент посылает WRQ, указывая имя файла и режим. Если файл может быть записан клиентом, сервер отвечает подтверждением (ACK) с номером блока равным 0. Клиент посылает первые 512 байт файла с номером блока равным 1, сервер отвечает ACK с номером блока равным 1.

Последний тип TFTP сообщений это сообщения об ошибках, код операции (opcode) равен 5. Это как раз то, чем сервер отвечает в том случае, если запрос на чтение или запись не может быть обработан. Ошибки чтения или записи в течении передачи файла также приводят к тому, что отправляется сообщение об ошибке, при этом передача прекращается. Номер ошибки (error number) содержит цифровой код ошибки, за которым следует сообщение об ошибке в ASCII формате, которое может содержать дополнительную информацию предоставляемую операционной системой.

Так как TFTP использует ненадежный UDP, то именно от TFTP зависит, как будут обработаны потерянные и дублированные пакеты. В случае потери пакета, отправитель отрабатывает тайм-аут и осуществляет повторную передачу. (Возможно появление проблемы, называемой «синдромом новичка» (sorcerer’s apprentice syndrome), которая может возникнуть, если с обеих сторон будет отработан тайм-аут и осуществлена повторная передача. Раздел 12.2 [Stevens 1990] показывает, в результате чего может возникнуть подобная проблема.) Как и в большинстве UDP приложений, контрольная сумма TFTP сообщения не расчитывается, а это означает, что любое повреждение данных может быть определено только с помощью контрольной суммы UDP (см. главу 11, раздел «Контрольная сумма UDP»).

Давайте посмотрим, как работает протокол TFTP. Мы запустим TFTP клиента на хосте bsdi и получим текстовый файл с хоста svr4:

bsdi % tftp svr4 стартуем TFTP клиента
tftp> get test1.c получаем файл с сервера
Received 962 bytes in 0.3 seconds
tftp> quit разрываем соединение

Первый момент, который бросается в глаза, заключается в том, что файл в Unix содержит 914 байт, однако TFTP передает 962 байта. Воспользовавшись программой wc, мы увидим, что в файле 48 строк, таким образом, 48 символов новой строки в Unix были дополнены до 48 пар CR/LF, так как TFTP по умолчанию осуществляет передачу в режиме netascii.

На рисунке 15.2 показан обмен пакетами.

1 0.0 bsdi.1106 > svr4.tftp: 19 RRQ «test1.c»

2 0.287080 (0.2871) svr4.1077 > bsdi.1106: udp 516
3 0.291178 (0.0041) bsdi.1106 > svr4.1077: udp 4

4 0.299446 (0.0083) svr4.1077 > bsdi.1106: udp 454
5 0.312320 (0.0129) bsdi.1106 > svr4.1077: udp 4

Рисунок 15.2 Обмен пакетами в случае TFTP.

И последний пакет данных (строка 4) содержит 450 байт данных. 512 байт данных в строке 2 и эти 450 байт составляют 962 байта данных, полученные клиентом.

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

Обратимся к рисунку 10.6. RIP сервер, которому необходимо послать клиенту более чем 512 байт, отправляет обе UDP датаграммы с заранее известного порта сервера. В случае TFTP (из-за отличий в протоколе), долговременного взаимодействия между клиентом и сервером не осуществляется (которое, как мы сказали, может занимать от секунд до минут). Если один процесс сервера будет использовать заранее известный порт все время, пока осуществляется передача файла, возникнет необходимость отказать всем последующим запросам, которые придут от других клиентов, или один процесс сервера должен иметь возможность осуществлять множественную передачу файлов нескольким клиентам в одно и то же время с одного и того же порта (69). Простейшее решение заключается в том, что сервер переходит на другой порт, после того как получил RRQ или WRQ. Клиент определяет новый порт, когда он получает первый пакет данных (строка 2 на рисунке 15.2), а затем посылать все последующие подтверждения (строки 3 и 5) на новый порт.

В разделе «Пример» главы 16 мы увидим, как TFTP используется при загрузке X терминалов.

Обратите внимание на то, что TFTP пакеты (рисунок 15.1) не содержат никаких данных об имени пользователя или пароле. Это брешь в секретности характерная для TFTP. Так как TFTP был разработан для использования в процессе загрузки, он не предоставляет возможности передать имя пользователя и пароль.

Эта характеристика TFTP была использована многими хакерами, чтобы получить копии файла паролей из Unix и затем расшифровать пароли. Чтобы предотвратить подобный доступ, большинство TFTP серверов в настоящее время регламентируют, какие файлы могут быть получены с использованием TFTP (как правило, файлы из директории /tftpboot в Unix системах). Эта директория содержит только загрузочные файлы, необходимые бездисковым системам.

Для дополнительной безопасности TFTP сервер, на Unix системе, обычно устанавливает свой пользовательский идентификатор (UID) и идентификатор группы (GID) в значения, которые не могут быть назначены реальному пользователю. Это позволяет доступ только к файлам, которые доступны для чтения и записи всем.

Чтобы позволить нескольким клиентам загружаться одновременно, TFTP сервер предоставляет несколько форм одновременной работы. Так как UDP не предоставляет уникального соединения между клиентом и сервером (как это делает TCP), TFTP сервер создает новый UDP порт для каждого клиента. Это позволяет разным клиентам выдавать датаграммы, которые будут демультиплексированы UDP модулем сервера, на основе номеров портов назначения, вместо того чтобы это делал сам сервер.

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

Источник

Протокол TFTP: как он работает и для чего используется

TFTP протокол передачи файлов. Это расшифровывается как Trivial File Transfer Protocol, что мы можем перевести как испанский. Протокол простой передачи файлов. Он используется для обмена информацией и небольшими файлами между двумя компьютерами. Работает по UDP. Он отличается простотой и простотой, так что, в отличие от других протоколов, он не имеет сложных функций передачи.

Что такое протокол TFTP?

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

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

Как правило, использует UDP-порт 69 для передачи файлов, хотя это может быть изменено отправителем и получателем. Это важное отличие от FTP, который использует TCP для передачи файлов, и в этом случае он безопасен.

Для чего используется TFTP?

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

Чтение и запись файлов

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

Устройства без жесткого диска

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

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

Создавать резервные копии

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

Протокол tftp что это

Проверка вирусов

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

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

Оборудование с небольшой мощностью

Обычно он используется в таких устройствах, как маршрутизатор, центральная станция VoIP и т.п. Например, это позволяет обновить прошивку без жесткого диска или возможности что-либо настроить.

Безопасность, проблема для протокола TFTP

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

Чтобы избежать проблем с безопасностью протокола TFTP, можно отключить его, если мы его не используем. Тем не менее, это то, что команды, которые включили это сегодня, потому что это может быть необходимо.

По возможности лучше всего использовать другие протоколы передачи файлов, такие как SCP или SFTP. Например, Windows 10 этот протокол отключен по умолчанию, хотя его можно включить, если нам это нужно.

Как включить TFTP в Windows 10

к включить TFTP в Windows 10 нам нужно зайти в Панель управления, войти в «Программы» и щелкнуть «Программы и компоненты». Слева мы увидим раздел «Активировать или деактивировать функции Windows». Там мы увидим разные характеристики, которые мы можем добавить, если они нас заинтересуют.

Протокол tftp что это

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

Источник

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

TFTP (Trivial File Transfer Protocol)

Простейший протокол передачи файлов (TFTP) — это очень удобный и простой протокол, применяемый для копирования файлов с одного устройства, поддерживающего протоколы TCP/IP, на другое. Но протокол TFTP принадлежит к числу наиболее важных, если речь идет об оборудовании Cisco, поскольку он служит основным методом передачи файлов конфигурации и образов IOS между маршрутизаторами и коммутаторами.

В протоколе TFTP в качестве транспортного протокола используется UDP, а это означает, что на транспортном уровне TFTP является ненадежным. Но для обеспечения надежности в протоколе TFTP применяется собственная система подтверждения. При передаче файла с помощью TFTP этот файл разбивается на блоки по 512 байтов и передается в виде блоков. Устройство получателя должно передавать подтверждение АСК после получения каждого 512-байтового блока. Применение метода передачи с помощью окон не предусматривается. Вместо этого устройство отправителя просто следит за тем, на какой блок не было получено подтверждение АСК, и не отправляет больше данные до тех пор, пока не будет получено АСК для этого блока. Такое функциональное средство приводит к созданию простого и удобного в реализации механизма исправления ошибок.

Протокол TFTP не поддерживает многие важные средства FTP, но именно поэтому он и является таким небольшим и простым протоколом. В частности, протоколом TFTP не поддерживается аутентификация пользователя (по идентификатору пользователя и паролю). Функции получения листингов каталогов и просмотра каталогов также не поддерживаются. При использовании TFTP предполагается, что программа, запрашивающая файл, имеет информацию о точном имени файла, а программа, передающая файл, имеет сведения, где находится этот файл. Если любое из этих предположений оказывается неверным, происходит ошибка и передача отменяется. В целом, протокол TFTP является простым и удобным в использовании, роэтому в данной книге он часто применяется для работы с устройствами Cisco. Протокол TFTP определен в документе RFC 1350 (стандарт 33).

Источник

Что такое TFTP? (Тривиальный протокол передачи файлов)

Trivial File Transfer Protocol — это технология, которая передает файлы между сетевыми устройствами, и представляет собой упрощенную версию более надежного протокола передачи файлов. TFTP был разработан в 1970-х годах для компьютеров, не имеющих достаточного объема памяти или дискового пространства для обеспечения полной поддержки FTP. Сегодня TFTP используется в потребительских широкополосных маршрутизаторах и коммерческих сетевых маршрутизаторах.

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

Как работает TFTP

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

TFTP использует UDP для передачи данных.

TFTP также можно использовать для удаленного запуска компьютера и резервного копирования файлов конфигурации сети или маршрутизатора.

Клиентское и серверное программное обеспечение TFTP

TFTP-клиенты командной строки включены в текущие версии Microsoft Windows, Linux и macOS. TFTP-клиенты с графическими интерфейсами также доступны как бесплатное ПО, например TFTPD32, который включает TFTP-сервер. Утилита Windows TFTP — еще один пример клиента и сервера с графическим интерфейсом для TFTP, а также существуют другие бесплатные клиенты FTP.

Протокол tftp что это

Microsoft Windows не поставляется с TFTP-сервером, но несколько бесплатных TFTP-серверов Windows доступны для загрузки. В системах Linux и macOS используется TFTP-сервер tftpd, хотя по умолчанию он может быть отключен.

Сетевые эксперты рекомендуют тщательно настраивать серверы TFTP, чтобы избежать потенциальных проблем с безопасностью.

Как использовать TFTP-клиент в Windows

Клиент TFTP в Windows по умолчанию отключен. Включите его с помощью апплета панели управления программами и компонентами.

Откройте Панель управления. Идти к Windows Search и поиск панель.

Протокол tftp что это

In панельВыберите программы.

Протокол tftp что это

Выбрать Включите для Windows или отключение компонентов.

Или выполните optionalfeatures в командной строке или в диалоговом окне «Выполнить».

Протокол tftp что это

в Компоненты Windows диалоговое окно, выберите Клиент TFTP.

Возможно, вам потребуется перезагрузка, чтобы изменения вступили в силу.

Протокол tftp что это

Доступ к TFTP через командную строку с TFTP команда. Используйте команду help или просмотрите справочную страницу командной строки tftp на веб-сайте Microsoft.

TFTP против FTP

Тривиальный протокол передачи файлов отличается от FTP в следующих ключевых аспектах:

Поскольку TFTP реализован с использованием UDP, он обычно работает только в локальных сетях.

Источник

Добавить комментарий

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