Tftp client linux команды
Проводятся технические работы по обновлению компонентов блога. Возможно некорректное отображение некоторых элементов. Приносим свои извинения за временные неудобства. Мы стараемся сделать блог лучше =)
четверг, апреля 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.
На второй виртуальной машине с Windows XP ничего настраивать не нужно TFTP клиент в Windows XP установлен по умолчанию (В случае с Windows 7 необходимо его включить Панель управления – Программы и компоненты – Включение или отключение компонентов Windows – Клиент TFTP ). Так что отмечаем про себя только IP адрес данной виртуальной машины, в моем случае это 192.168.1.26. Так же создаем на данной машине директорию С:\ Client и помещаем в нее два текстовых документа 1. txt и 2. txt , содержащие произвольный текст.
Теперь приступим к самому интересному – к конфигурированию TFTP сервера в Debian . Сразу отмечу, что IP данной виртуальной машины 192.168.1.83. Для на чала нам потребуется установить на нашу виртуальную машину несколько пакетов, для этого выполним в консоли команду:
Пакет openbsd-inetd представляет собой сетевую службу, которая обрабатывает входящие TCP и UDP соединения и запускает соответствующую программу для обработки данных соединений. Пакет tftpd представляет собой TFTP сервер, а пакет tftp – TFTP клиент.
После того как все перечисленные выше пакеты будут установлены приступим к их конфигурированию. По умолчанию TFTP сервер сконфигурирован на использование директории /srv/tftp. Возможно это и удобно, то так как мы учимся работать с TFTP мы попробуем это изменить и сделаем так чтобы TFTP сервер для своей работы использовал директорию / TFTP _ server . Для начала создадим данную директорию выполнив команды:
Первой командой мы переходив в корневую директорию. Второй создаём в ней директорию TFTP _ server . Третьей командой мы переходим в директорию TFTP _ server . С помощью двух последних команд мы создаем в директории TFTP _ server файлы 1. log и 2. log содержащие текст «1 file » и «2 file » соответственно.
Далее отредактируем файл / etc / inetd . conf . Для этого выполним команду (вместо nano можно использовать любой другой текстовый редактор):
После чего сохраняем файл 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 сервера виртуальной машины 3 ( Debian ) осуществляется аналогичным образом, только потребуется выполнить команды:
Практика 2. Записываем файлы на TFTP сервер с помощью встроенного TFTP клиента Windows
Для того чтобы скопировать файлы находящиеся в папке C :\ Client (виртуальная машина 2) на TFTP сервера виртуальной машины 1 необходимо в консоли выполнить следующие команды:
Если мы попробуем выполнить копирование файлов аналогичным способом на виртуальную машину 3 с Linux, то получим ошибку Access Violation :
Дело в том, что tftpd установленный на виртуальную машину 3, позволяет осуществлять запись только в уже существующие файлы. Поэтому на необходимо выполнить на виртуальной машине 3 следующие команды:
Первой командой мы переходи в директорию /TFTP_server. Второй командой мы создаем в ней пустой файл с именем 1.txt. Третьей командой мы даем полные права на доступ к директории /TFTP и всем имеющимся в ней файлам.
Давайте попробуем скачать файлы хранящиеся на TFTP сервере виртуальной машины 3. Для этого на виртуальной машине 1 перейдем к окну приложения tftpd 32. Откроем вкладку TFTP Client и укажем в ней адрес TFTP сервера с которого мы хотим скачать файл, имя файла который мы хотим скачать, а так же имя файла под которым мы хотим сохранить скачанный файл на нашем компьютере.
После того как все вышеперечисленные параметры заданы, нажимаем на кнопку GET . После чего будет выполнена загрузка файла.
Теперь попробуем записать файлы на 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.
В заключение попробуем записать файлы на TFTP сервер виртуальной машины 1 используя клиент виртуальной машины 3 с Debian . Для этого выполним на ней следующие команды:
Здесь отметим что команда put позволяет отправить запрос на запись к tftp серверу. Первый параметр указываем имя записываемого файла на локальной машине. Второй параметр имеет формат адрес tft сервера:имя под которым файл будет записан на сервер.
Пока это все примеры использования TFTP. Надеюсь они пригодятся вам в вашей профессиональной практике.
Tftp client linux команды
tftp is a client for the IPv4 Trivial file Transfer Protocol, which can be used to transfer files to and from remote machines, including some very minimalistic, usually embedded, systems. The remote host may be specified on the command line, in which case tftp uses host as the default host for future transfers (see the connect command below.)
OPTIONS
-c command Execute command as if it had been entered on the tftp prompt. Must be specified last on the command line. -m mode Set the default transfer mode to mode . This is usually used with -c. -v Default to verbose mode. -V Print the version number and configuration to standard output, then exit gracefully.
COMMANDS
Once tftp is running, it issues the prompt tftp> and recognizes the following commands: ? command-name. help command-name. Print help information ascii Shorthand for mode ascii . binary Shorthand for mode binary . connect host [port] Set the host (and optionally port ) for transfers. Note that the TFTP protocol, unlike the FTP protocol, does not maintain connections between transfers; thus, the connect command does not actually create a connection, but merely remembers what host is to be used for transfers. You do not have to use the connect command; the remote host can be specified as part of the get or put commands. get file
get file1 file2 file3. Get a file or set of files from the specified sources. A remote filename can be in one of two forms: a plain filename on the remote host, if the host has already been specified, or a string of the form host:filename to specify both a host and filename at the same time. If the latter form is used, the last hostname specified becomes the default for future transfers. mode transfer-mode Specify the mode for transfers; transfer-mode may be one of ascii (or netascii ) or binary (or octet .) The default is ascii . put file
put file1 file2 file3. remote-directory Put a file or set of files to the specified remote file or directory. The destination can be in one of two forms: a filename on the remote host, if the host has already been specified, or a string of the form host:filename to specify both a host and filename at the same time. If the latter form is used, the hostname specified becomes the default for future transfers. If the remote-directory form is used, the remote host is assumed to be a UNIX system or another system using / as directory separator. quit Exit tftp . End-of-file will also exit. rexmt retransmission-timeout Set the per-packet retransmission timeout, in seconds. status Show current status. timeout total-transmission-timeout Set the total transmission timeout, in seconds. trace Toggle packet tracing (a debugging feature.) verbose Toggle verbose mode.
NOTES
The TFTP protocol provides no provisions for authentication or security. Therefore, the remote server will probably implement some kinds of access restriction or firewalling. These access restrictions are likely to be site- and server-specific.
AUTHOR
This version of tftp is maintained by H. Peter Anvin . It was derived from, but has substantially diverged from, an OpenBSD source base, with added patches by Markus Gutschke and Gero Kulhman.