2013-04-12 07:30:37 +0000 2013-04-12 07:30:37 +0000
7
7

Colocar ficheiro com cliente tftp em Linux

Vou colocar um novo ficheiro ROM num instrumento ligado em rede e preciso de utilizar o tftp. Alguém sabe como fazer isto?

Vou carregar dois ficheiros diferentes e eles irão para pastas separadas.

Respostas (2)

8
8
8
2013-04-12 07:44:42 +0000

Provavelmente é melhor usar o servidor TFTP (ou “serviço” na linguagem MS) que é “nativo” para a distribuição do sistema operativo em que pretende correr o servidor TFTP.

Se está a usar o Ubuntu, tente este artigo de David Sudjiman.

Se está a usar Debian, tente este artigo do Nixcraft .

Se está a usar CentOS, RHEL ou Fedora tente este artigo do blog .

Se está a usar MS Windows, tente TFTPD32 . Este não é um servidor “nativo” no sentido de estar na distribuição Windows, mas é um servidor TFTP comummente utilizado.

Se o dispositivo que está a anexar à rede é ele próprio um servidor TFTP e precisa de carregar um ficheiro para esse servidor utilizando um cliente TFTP, então precisa de descobrir

  1. O endereço IP do dispositivo
  2. O nome do ficheiro que o dispositivo está à espera de receber

Pode também precisar do número da porta em que o servidor TFPT do dispositivo está a ouvir se não for a porta TFTP conhecida (standard), porta 69.

Se o dispositivo se configurar usando DHCP de um servidor na sua rede, então pode olhar para os ficheiros de registo do serviço DHCP para ver qual é o seu endereço IP. Outra possibilidade é que o dispositivo configure uma rede IP ad-hoc. Assim, precisa de ter alguma documentação sobre o dispositivo para saber como se configura a si próprio.

A maioria dos pacotes de servidores TFTP acima mencionados também instalam clientes TFTP. Se não quiser instalar os servidores então algumas distribuições têm clientes TFPT autónomos, mas normalmente não são instalados como parte da instalação standard pelo que terá de os instalar manualmente.

Uma vez que sabe o endereço IP do dispositivo e o nome do ficheiro que espera receber, deverá ser capaz de carregar o ficheiro para o dispositivo usando um comando como

tftp 192.168.1.1 -c put myfile theirfile

Uma vez que o modo de transferência por defeito tftp é ASCII e está a carregar uma ROM, o comando deverá provavelmente ser

tftp 192.168.1.1 -m binary -c put myfile theirfile

Onde “myfile” é o nome do ficheiro que deseja carregar e “theirfile” é o nome que o ficheiro deverá ter no dispositivo. Pode também querer usar o parâmetro de comando “-v” para que se algo correr mal possa ver o que era:

tftp -v 192.168.1.1 -c put myfile theirfile

Se o servidor estiver a correr noutra porta, digamos 8069, então a sintaxe do comando seria

tftp -v 192.168.1.1 8069 -c put myfile theirfile

Se o ficheiro local já tiver o nome correcto, então o comando é simplesmente

tftp -v 192.168.1.1 -c put myfile
1
1
1
2013-04-12 08:25:27 +0000

Você precisa saber a porta em que o servidor TFTP está escutando. Normalmente é

# getent services tftp

tftp 69/tcp

Um cliente para 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.

Para instruções sobre como carregar ficheiros, verifique o manpage tftp(1), especificamente o comando put.