Tftp server kali linux

How To Install, Configure, and Run Linux Tftp Client?

Tftp (Trivial File Transfer Protocol) is a very simple client-server protocol used to transfer data and files over the network. Ftp is a very popular protocol but it has a lot of features that may not be needed always. Tftp is a lightweight alternative to Ftp protocol. We can say that Tftp is a featureless protocol because it only downloads and uploads files.

  • Tftp has no authentication or authorization mechanism.
  • Tftp protocol does not have a file listing feature.
  • Tftp is clear text or not encrypted protocol
  • Tftp is fast and simple to implement
  • TFTP uses generally UDP

Install Tftp

The installation of Tftp tools is as simple as the protocol. As TFTP lightweight there is no dependency for other libraries.

Ubuntu, Debian, Mint, Kali:

We will install tftp for Debian, Mint, Ubuntu and Kali like below.

Fedora, CentOS, RedHat:

We can install tftp with the following command on Fedora, CentOS, RedHat.

tftp Command Syntax

We will use following syntax for tftp command in normal command-line usage.

tftp Command Help

Connect TFTP Server From Command Line

Connecting to the Tftp server is very easy. As stated at the beginning of the post Tftp does not have any authentication and authorization mechanisms. so Just providing the hostname of the server of IP address is enough to connect the Tftp server. In this example, we will connect 192.168.122.239 IP address.

TFTP Server Command Line Interactive Shell

After connection to the Tftp server, we will get an interactive shell. In this shell, we will issue commands to get information about status of the connection, download or get files, upload, or put files to the server. We can list available commands provided by Tftp shell with ? .

Upload or Put File To The TFTP Server

We can upload or put files to the TFTP server with the put command. In the example, we upload a file named body.txt

Download or Get File From TFTP Server

We can also download or get files from the Tftp server to get command. In the example, we get a file named body.txt from the Tftp server.

Show TFTP Connection Status

As TFTP works generally on the UDP protocol there is no session like TCP. But we can query current connection status with the status command. This status command will provide us information about the connected server IP address, current working mode, Rexmt-interval, Max-timeout, etc.

Disconnect From TFTP Server by Exiting From TFTP Shell

In order to quit from the Tftp shell we need to issue the q command.

Verbose Mode

While making transfer we may need more information about the transmission. We can get more information about the transfer with the verbose mode.

Источник

TFTP в Linux. Организация сервера TFTP

В репозиториях операционных систем на базе ядра Linux вы найдете множество серверов, реализующих протокол TFTP: некоторые делают упор на простоте конфигурации и малом потребление ресурсов, другие предоставляют расширенные возможности, но все они созданы с одной целью — принимать и отдавать файлы. Мы будем рассматривать настройку TFTP сервера в Linux на примере atftpd — сервера TFTP с расширенными возможностями. Будьте уверены, освоив atftpd, вы без труда справитесь с любым другим TFTP сервером в Linux.

Установка atftp в Linux

Попытка установить сервер atftpd из репозиториев приведет к установке еще одного сервера — одного из супер-серверов inet — демона, запускающего программы по событию, в данном случае по факту появления на 69 порту UDP запросов на подключение. Вы скажите: «А что же тут плохого?». Вообщем-то ничего, но если вы используете Debian версии 8 и выше или Ubuntu версии 15.04 и выше, то вы наверняка слышали о SystemD. SystemD — новый менеджер инициализации, пришедший на смену init. На конец 2015 года поддержка SystemD не реализована для серверов TFTP — мы сделаем это вручную. Поэтому, лучше устанавливать TFTP сервер из исходных текстов и сразу перейти в соответствующий раздел нашей статьи, но если вы всё же решили поизвести установку atftpd из репозиторией комадой

Читайте также:  Run source code windows

apt-get install atftpd

незабудьте остановить подтянувшийся inet и, собственно, сам atftpd

systemctl stop atftpd inetd

А также выключить их

systemctl disable atftpd inetd

Для избежания недоразумений также рекоменду удалить скрипт запуска atftpd из /etc/init.d/

И стереть его упоминание из конфигурационного файла inet с помощью, например редактора nano:

nano /etc/inetd.conf #удалите строчку, начинающуюся с tftp

Избежать всего этого поможет сборка TFTP сервера из исходных текстов. Для этого нужно скачать архив с исходниками например c сайта sourceforge с помощью wget

wget http://downloads.sourceforge.net/project/atftp/atftp-0.7.1.tar.gz #версия может отличаться

tar -xzvf atftp-0.7.1.tar.gz #версия может отличаться

Перейти в каталог с распакованным содержимым

cd atftp-0.7.1 #версия может отличаться

Выполнить конфигурационный скрипт, указав в качестве папки назначения /opt/atftp (вы, конечно, можете выбрать любую другую папку)

Создать эту папку

И, наконец, собранные файлы, закинуть в папку назначения

На последок почистим за собой

cd ..
rm -R atftp-0.7.1

и создадим символические ссылки на исполняемые файлы

ln -svi /opt/atftp/sbin/atftpd /sbin/
ln -svi /opt/atftp/bin/atftp /usr/bin/

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

TFTP сервер atftpd не читает никакой конфигурационный файл. Вместо этого все параметры ему передаются в качестве ключей запуска, например:

—logfile /PATH_TO_FLE #задает файл в который atftpd будет писать лог

—verbose=FROM_1_TO_7 # задает уровень документирования событий

—user USER.GROUP #задает от имени какого пользователя и группы будет запущен atftpd

—port PORT_NUMBER #задает UDP порт, который будет слушать сервер

—bind-address SERVER_IP_ADDRESS #задает IP адрес, который будет слушать сервер

В конце командной строки atftpd следует передать полный абсолютный путь до папки, в которой и будет осуществляться вся деятельность TFTP сервера в вашей ОС Linux

Далее мы рассмотрим несколько примеров сценариев запуска atftpd, в зависимости от которых нам понадобяться те или иные ключи запуска

Запуск atftpd из командной строки

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

Минимальный набор команд будет такой:

atftpd —daemon —no-fork /mnt/share

Вы наверняка заметили два новых ключа запуска: «daemon» и «no-fork». Ключ «—daemon» заставляет atftpd «висеть» в ожидании соединения, а ключ «—no-fork» предотвращает его переход в фон. Когда все операции с передачей файлов будут завершены, мы сможете просто нажать Ctrl+C для завершения atftpd. Если же ключ «—no-fork» не использовать, то завершить процесс можно будет командой

Стоить отметить тот факт, что чтобы папка, которую мы передали TFTP серверу для работы, была доступна не только на чтение, но и на запись, нужно выдать это право обезличенному пользователю (anonymous), так как TFTP, как протокол, вообще не предусматривает никакой аутенфикации:

chmod -R o=rwx /mnt/share #папка может отличаться

Запуск atftpd автоматически при старте системы

Если вы хотите, чтобы atftpd запускался автоматически при старте компьютера, в системах на базе SystemD следует создать в дирректории /lib/systemd/system/ unit-файл atftpd.service для SystemD вот такого минимально содержания:

[Unit]
Description=Extended TFTP server

[Service]
Type=forking
ExecStart=/opt/sbin/atftpd —daemon /mnt/share

В параметре ExecStart нужно указать ту папку и бинарный файл atftpd, в которую вы его устанавливали, а также все ключи запуска, которые считаете нужными. Заметьте, что ключ «—no-fork» в данном случае противопоказан, а вот «—daemon» обязателен, так как по сценарию планируется, что atftpd будет «висеть» в системе постоянно, ожидая соединения

После того, как файл будет создан, нужно, чтобы SystemD перечитал свою конфигурацию

а затем активировать уже сам сервис:

systemctl enable atftpd.service

Теперь atftpd будет запускаться автоматически при старте системы. Вручную его можно запускать и останавливать командами

systemctl stop atftpd.service

systemctl start atftpd.service

Запуск atftpd автоматически по запросу

Мы с вами рассмотрели ситуацию, когда TFTP сервер atftpd, запущенный единожды при старте компьютера, остается «висеть» в системе, ожидая новых подключений. При этом вначале статьи упоминули, что при установке из репозиторией atftp тянет за забой супер-сервер inet, способный запускать atftpd только тогда, когда запрос реально поступает на сервер. Это очень удобно с той точки зрения, что пока TFTP не используется — он остановлен и не потребляет системных ресурсов. Так же мы отметили тот факт, что SystemD имеет такую функциональность «из коробки», и что необходимости теперь и в самом супер-сервере inet нет. Осталось научить SystemD это делать. Для этого SystemD должен сам слушать входящий порт на предмет поступления запросов и, в случае обнаружения, запустить atftpd и отдать ему сокет. Кроме того, после обработки соединения atftpd должен еще и корректно завершиться. Чтобы SystemD стал прослушить соответствующий UDP сокет, нужно создать unit-файл, описывающий этот сокет, и положить его туда же — в /lib/systemd/system/. При этом его имя должно соответствовать имени сервис-файла, который ему придеться запускать, за исключением суффикса, который нужно поменять с «.service» на «.socket». В нашем случае файл должен называться atftpd.socket. Создадим его вот с таким содержанием:

Читайте также:  Как сделать чтобы приложение не открывалось при включении компьютера windows 10

[Unit]
Description=TFTP socker for atftpd

Запись ListenDatagram=0.0.0.0:69 означает, что SystemD будет слушать порт UDP 69 на всех доступных ему IP адресах. Вы вправе (да и так будет лучше) указать конкретный IP адрес вашего сервера — это улучшит безопасность.

Но это еще не все. Раз мы выбрали способ запуска по событию, мы не хотим более, чтобы atftpd запускался автоматически при старте системы. Выключим его:

systemctl disable atftpd.service

И сам service-файл /lib/systemd/system/atftpd.service тоже подкорректируем:

  • убираем ключ «—daemon» — мы больше не хотим, чтобы atftpd «висел» в системе постоянно
  • добавляем ключ «—tftpd-timeout 10» — TFTP сервер корректно завершиться, если в течение 10 сек. к нему не поступит более обращений
  • добавляем параметр StandartInput=socket в секцию [Service], чтобы SystemD передавал сокет с данными на вход atftpd
  • удаляем секцию [Install] целиком — мы больше не хотим, чтобы atftpd запускался при старте системы

Должно получиться что-то вроде этого:

[Unit]
Description=Extended TFTP server

[Service]
ExecStart=/opt/atftp/sbin/atftpd —verbose=7 —logfile /var/log/atftpd —tftpd-timeout 10 /mnt/share
StandardInput=socket

Не забываем перечитывать конфигурацию SystemD:

И активируем наш сокет-файл

systemctl enable atftpd.socket

Можно перезагрузиться, можно включить сокет вручную:

systemctl start atftpd.socket

netstat -lupvn | grep 69

Можно увидеть, что порт 69 прослушивает некий «init», который на самом деле является символической ссылкой на SystemD

udp 0 0 0.0.0.0:69 0.0.0.0:* 1/init

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

Источник

Soft 10 лучших бесплатных TFTP серверов для Windows, Linux и Mac

Сегодня в Интернете используется большое количество протоколов передачи файлов (File Transfer Protocols (FTP)). Одним из наиболее простых и, следовательно, наиболее широко используемых для передачи отдельных файлов низкого уровня, является Trivial FTP или Trivial File Transfer Protocol (TFTP). В этой статье мы рассмотрим 10 лучших TFTP-серверов для систем Windows и Linux.

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

Текущие сеансы FTP поддерживают много разных команд. При входе на FTP-сервер пользователи обычно могут просматривать, удалять, переименовывать, загружать в интернет или скачивать файлы и изменять каталоги. Напротив, TFTP предлагает только возможность загружать или скачивать файл и использует UDP поверх IP вместо более стандартного стека TCP/IP. Протокол не способен предоставлять более продвинутые функциональные возможности, но компенсирует это с помощью метода жесткой конфигурации, который делает его чрезвычайно надежным. Из-за этой ограниченной функциональности серверы TFTP могут занимать очень мало места на диске и в памяти, что делает его идеальным для использования во встроенных устройствах.

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

Linux, безусловно, является самой распространенной операционной системой на тех устройствах, где вы можете встретить TFTP-сервер. Но есть также богатая экосистема устройств Windows и macOS, которые работают со встроенной программой (например, Apple TV и Microsoft Surface).

Ниже приведен список 10 лучших TFTP серверов:

  1. SolarWinds Free TFTP server
  2. Windows TFTP utility
  3. TFTPD32
  4. WhatsUp бесплатный TFTP сервер
  5. haneWIN TFTP сервер
  6. WinAGents
  7. Spiceworks TFTP
  8. atftpd
  9. tftpd-hpa
  10. macOS TFTP сервер

Лучшие бесплатные TFTP сервера для Windows:

Сервер TFTP, предлагаемый SolarWinds, является 100% бесплатной версией, которая работает только под Windows. Он не является лишь временной пробной версией. Он предлагает базовую функциональность, такую как блокировка IP-диапазона, и может передавать файлы размером до 4 ГБ. Он работает как служба Windows, что облегчает управление с помощью собственных инструментов Windows.

Windows TFTP Utility — это простой TFTP-сервер для Windows. Он очень маленький и практически не имеет опций конфигурации. С одной стороны, это позволяет утилите быть очень маленькой по размеру и быстрой в работе. С другой стороны, это означает, что вы не можете указать некоторую базовую конфигурацию, например, какой сетевой интерфейс привязать. Небольшой размер обусловлен опорой на .NET Framework. Но если у вас еще не установлен .NET framework для какого-либо другого приложения, это может привести к значительным проблемам в установке, поэтому эта утилита может не всегда подходить для каждого варианта использования.

Читайте также:  Demon tools для windows 10 64 bit

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

Tftpd32 — чрезвычайно популярный TFTP-сервер с открытым исходным кодом для Windows. Это не только довольно удобный TFTP-сервер, но он также имеет и некоторые другие функции. Список дополнительных функций включает в себя DHCP-сервер, DNS-сервер, SNTP сервер и сервер системного журнала, поэтому он также поможет вам управлять вашими IP-адресами. Довольно сложно придумать сценарий, в котором вам понадобится конкретный набор функций в одном приложении, но, тем не менее, использование одного или двух в дополнение к серверу TFTP может удовлетворить некоторые потребности.

И не волнуйтесь, есть и 64-битная версия.

4. WhatsUp бесплатный TFTP сервер

WhatsUP TFTP сервер является продуктом от IPSwitch. Сервер TFTP предназначен для сетевых инженеров, которым просто нужно доставлять файлы туда, где они должны находиться, с наименьшим беспокойством. WhatsUp – это полностью бесплатный инструмент, а не временная пробная версия. На бесплатном сервере WhatsUp TFTP практически нет документации, поэтому трудно определить, для каких вариантов использования данный сервер лучше всего подойдет.

haneWIN TFTP сервер — это полнофункциональный 32- и 64-разрядный TFTP-сервер, работающий под Windows XP / VISTA / 20xx (серверы) / 7/8/10. Он немного отличается от модели TFTP, поддерживая средства управления доступом, которые изначально не являются частью TFTP. Этот TFTP-сервер может ограничивать IP-адреса, чтобы разрешить только загрузку в интернет или скачивание и доступ к каталогам сервера. Интересной особенностью является то, что он также может быть запущен полностью из командной строки, что делает его очень полезным для действий сценария. Он также включает в себя клиент TFTP, который работает как DLL. Программное обеспечение HaneWIN также создает сервер DHCP, который имеет встроенный сервер TFTP.

Набор программного обеспечения WinAgents включает в себя надежный TFTP-сервер, работающий на платформе: Windows 2000 (сервер), XP, 2003 (сервер), Vista, Windows 7 и 2008 (сервер). Он также поддерживает 64-битные платформы, хотя и делает это при запуске 32-битной службы. Он имеет некоторые ограниченные средства управления доступом, такие как доступ к файлам на основе IP, и использует только один порт UDP, что упрощает обработку уже за брандмауэром. Очень полезная функция WinAgents — поддержка виртуальных папок с файлами. Это означает, что вы можете создавать папки, которые кажутся существующими для пользователей TFTP, но не обязательно должны существовать на диске сервера. Эта функция может упростить организацию файлов, что является довольно распространенной проблемой в традиционном TFTP.

7. Spiceworks TFTP сервер

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

TFTP сервера для Linux

Существует множество TFTP-серверов, доступных для большинства дистрибутивов Linux. Популярным является сервер Advanced TFTP, входящий в пакет с именем atftpd. ‘D’ в конце многих пакетов Linux обозначает демон (daemon), который является Unix-подобным термином для приложения, которое работает в фоновом режиме. Демон Linux сродни службе Windows. Сервер ATFTP поддерживает многоадресную передачу и является многопоточным, что делает его немного более гибким для развертывания в нестандартных сетевых инсталляциях. Используйте apt-get или yum для его установки, в зависимости от вашего дистрибутива Linux.

Вы найдете разреженные (неполные) файлы конфигурации для atftpd в /etc/default/atftpd . Установите несколько быстрых опций, например, таких как: какие порты прослушивать и запускать ли их как демон или через inet.d , и после этого вы готовы к работе.

Другим популярным TFTP-сервером для Linux является tftpd-hpa. Поскольку протокол TFTP очень прост, нет очевидных преимуществ выбора одного TFTP-сервера перед другим. Однако, из-за зависимостей и недостатков документации иногда один сервер будет работать лучше, чем другой. Если вам не удалось настроить atftpd, попробуйте tftpd-hpa.

Измените настройки по своему усмотрению, затем запустите сервер с помощью sudo service tftpd-hpa restart

10. macOS TFTP сервер

В macOS есть встроенный TFTP-сервер, который по умолчанию загружаться не будет. Самый простой способ запустить его — просто набрать sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist и указать свой пароль при появлении запроса. Вы можете использовать что-то вроде netstat, чтобы убедиться, что он работает:

Хотя TFTP не включает в себя никаких процедур безопасности, это отсутствие безопасности не является уникальным среди систем сетевого администрирования. DHCP и широко распространенный SNMPv2 не включают в себя необходимые меры безопасности. Убедитесь, что вы используете TFTP только в защищенной частной сети.

Источник

Оцените статью