TFTP: Enviando arquivos para o servidor de TFTP

linuxO TFTP é um dos principais protocolo utilizados no processo de backup e atualização de ativos de rede, este artigo demonstra como utiliza a aplicação cliente de TFTP para realizar o upload arquivos para um determinado servidor.

Neste artigo não será necessário utilizar a interface do cliente (CLI), pois todos os parâmetros necessários serão passados via linha de comando. A passagem de parâmetros via linha de comando, facilita a geração de vários tipos de scripts, assim como pode ser utilizado na automação de processos repetitivos, mesmo quando executado de forma manual.

Antes de iniciarmos o uso do cliente de TFTP, devemos verificar se a versão correta da aplicação esta disponível e se não estiver, podemos realizar a sua instalação, utilizando o comando abaixo:

    apt-get install tftp-hpa

A sintaxe básica para realizar o upload de um arquivo via TFTP é dada pelo exemplo a baixo

    tftp [IP] -c put [nome_arq_local] [nome_arq_remote]

Onde:

  • IP: é o endereço IP do servidor, por exemplo 147.135.255.2
  • nome_arq_local: é o nome do arquivo que desejamos enviar ao servidor
  • nome_arq_remote: é o nome que será atribuído ao arquivo quando o mesmo for salvo no servidor de tftp, neste caso podemos adicionar ao nome do arquivo o caminho relativo, por exemplo:  “cisco/iosnovo.tgz

A seguir temos um exemplo simples do uso deste comando

    tftp 147.135.255.2 -c put testes-de-envio.txt  testes-de-envio-recebido.txt

No exemplo acima, transferimos o arquivo testes-de-envio.txt da máquina local, para a raiz do nosso servidor de tftp com o nome de testes-de-envio-recebido.txt

Anteriormente, transmitimos um arquivo do tido ASCII, mas quando é necessário enviar um arquivo compactado ou a imagem (ROM), utilizada por um roteador, ou por outro ativo de rede, devemos realizar uma transferência em modo “Binário“.

Para forçar a transferência em modo binário devemos utilizar o parâmetro “-m binary“. O próximo exemplo demonstra como o parâmetro poderia ser utilizado para realizar a transferência anterior:

    tftp 147.135.255.2 -m binary -c put testes-de-envio.txt  testes-de-envio-recebido.txt

Outro parâmetro que pode nos ajudar a detectar algum problema no processo de upload é o “-v“, o qual exibe as informações sobre o processo de envio do arquivo:

    tftp -v 147.135.255.2 -m binary -c put testes-de-envio.txt  testes-de-envio-recebido.txt

Em caso de sucesso, no envio do arquivo, o comando acima deve gerar uma saída semelhante à:

mode set to octet
Connected to 147.135.255.2 (147.135.255.2), port 69
putting testes-de-envio.txt to 147.135.255.2:testes-de-envio-recebido.txt [octet]
Sent 29 bytes in 0.1 seconds [3586 bit/s]

Mas se, por exemplo, o arquivo não pode ser criado devido a um problema de permissão,
a saída do comando poderia ser semelhante à:

mode set to octet
Connected to 147.135.255.2 (147.135.255.2), port 69
putting testes-de-envio.txt to 146.134.254.1:testes-de-envio-recebido.txt [octet]
Error code 0: Permission denied

Com este ultimo exemplo finalizados este breve artigo.

Referencia:

  • http://superuser.com/questions/581812/put-file-with-tftp-client-in-linux

Revisado em (鯉) :

  • 09 de Julho de 2015
  • 02 de Setembro de 2015