O 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