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

Put file with tftp client in Linux

Ich werde eine neue ROM-Datei auf ein an das Netzwerk angeschlossenes Instrument legen und muss tftp verwenden. Weiß jemand, wie man das macht?

Ich werde zwei verschiedene Dateien hochladen, die in getrennte Ordner gehen.

Antworten (2)

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

Es ist wahrscheinlich am besten, den TFTP-Server (oder “Dienst” im MS-Jargon) zu verwenden, der “nativ” für die Betriebssystem-Distribution ist, auf der Sie den TFTP-Server betreiben wollen.

Wenn Sie Ubuntu verwenden, versuchen Sie diesen Artikel von David Sudjiman.

Wenn Sie Debian verwenden, versuchen Sie diesen Nixcraft Artikel.

Wenn Sie CentOS, RHEL oder Fedora verwenden, versuchen Sie diesen Blogbeitrag .

Wenn Sie MS Windows verwenden, versuchen Sie TFTPD32 . Dies ist kein “nativer” Server im Sinne der Windows-Distribution, sondern ein häufig verwendeter TFTP-Server.

Wenn das Gerät, das Sie an das Netzwerk anschließen, selbst ein TFTP-Server ist und Sie eine Datei mit einem TFTP-Client auf diesen Server hochladen müssen, dann müssen Sie herausfinden,

  1. Die IP-Adresse des Geräts
  2. Den Dateinamen, den das Gerät erwartet

Sie benötigen möglicherweise auch die Port-Nummer, auf der der TFPT-Server des Geräts lauscht, wenn es sich nicht um den TFTP-bekannten (Standard-)Port, Port 69, handelt.

Wenn sich das Gerät mittels DHCP von einem Server in Ihrem Netzwerk aus konfiguriert, dann können Sie in den Protokolldateien des DHCP-Dienstes nachschauen, welche IP-Adresse es hat. Eine andere Möglichkeit ist, dass das Gerät ein Ad-hoc-IP-Netzwerk konfiguriert. Sie brauchen also eine Dokumentation über das Gerät, um zu wissen, wie es sich selbst konfiguriert.

Die meisten der oben erwähnten TFTP-Server-Pakete installieren auch TFTP-Clients. Wenn Sie die Server nicht installieren wollen, dann haben einige Distributionen eigenständige TFPT-Clients, aber sie werden normalerweise nicht als Teil der Standardinstallation installiert, so dass Sie sie manuell installieren müssen.

Sobald Sie die IP-Adresse des Geräts und den Namen der Datei kennen, die es voraussichtlich empfangen wird, sollten Sie die Datei mit einem Befehl wie

tftp 192.168.1.1 -c put myfile theirfile

auf das Gerät hochladen können, da der Standard-Transfermodus von tftp ASCII ist und Sie ein ROM hochladen, sollte der Befehl wahrscheinlich

tftp 192.168.1.1 -m binary -c put myfile theirfile

lauten, wobei “myfile” der Name der Datei ist, die Sie hochladen möchten, und “theirfile” der Name, den die Datei auf dem Gerät haben sollte. Sie können auch den Befehlsparameter “-v” verwenden, damit Sie im Falle eines Fehlers sehen können, was es war:

tftp -v 192.168.1.1 -c put myfile theirfile

Wenn der Server auf einem anderen Port läuft, sagen wir 8069, dann lautet die Befehlssyntax

tftp -v 192.168.1.1 8069 -c put myfile theirfile

Wenn die lokale Datei bereits den richtigen Namen hat, dann lautet der Befehl einfach

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

Sie müssen den Port kennen, den der TFTP-Server abhört. Normalerweise ist es

# getent services tftp

tftp 69/tcp

Ein Client für 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.

Anweisungen zum Hochladen von Dateien finden Sie in der Manpage tftp(1), insbesondere im Befehl put.