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

Umieść plik z klientem tftp w Linuksie

Zamierzam umieścić nowy plik ROM na instrumencie podłączonym do sieci i muszę użyć tftp. Czy ktoś wie jak to zrobić?

Zamierzam wgrać dwa różne pliki i zostaną one umieszczone w osobnych folderach.

Odpowiedzi (2)

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

Prawdopodobnie najlepiej jest używać serwera TFTP (lub “usługi” w MS parlance), który jest “natywny” dla dystrybucji systemu operacyjnego, na którym chcesz uruchomić serwer TFTP.

Jeśli używasz Ubuntu, spróbuj ten artykuł Davida Sudjimana.

Jeśli używasz Debiana, spróbuj ten Nixcraft .

Jeśli używasz CentOS, RHEL lub Fedora, spróbuj ten post blog .

Jeśli używasz MS Windows, spróbuj TFTPD32 . Nie jest to “natywny” serwer w sensie, że jest w dystrybucji Windows, ale jest to powszechnie używany serwer TFTP.

Jeśli urządzenie, które podłączasz do sieci jest samo w sobie serwerem TFTP i musisz wgrać plik na ten serwer używając klienta TFTP, to musisz dowiedzieć się

  1. Adres IP urządzenia
  2. Nazwa pliku, który urządzenie ma odebrać

Może być również potrzebny numer portu, na którym serwer TFTP urządzeń nasłuchuje, jeśli nie jest to znany (standardowy) port TFTP, port 69.

Jeśli urządzenie konfiguruje się przy użyciu DHCP z serwera w Twojej sieci, możesz sprawdzić pliki dziennika usługi DHCP, aby zobaczyć jaki jest jego adres IP. Inną możliwością jest to, że urządzenie konfiguruje sieć ad-hoc IP. Aby dowiedzieć się, jak urządzenie się konfiguruje, potrzebna jest więc dokumentacja dotycząca urządzenia.

Większość z wyżej wymienionych pakietów serwerów TFTP instaluje również klientów TFTP. Jeśli nie chcesz instalować serwerów, to niektóre dystrybucje mają samodzielnych klientów TFTP, ale zazwyczaj nie są one instalowane jako część standardowej instalacji, więc będziesz musiał zainstalować je ręcznie.

Po zapoznaniu się z adresem IP urządzenia oraz nazwą pliku, który ma zostać odebrany, należy wysłać plik do urządzenia za pomocą komendy takiej jak

tftp 192.168.1.1 -c put myfile theirfile

Ponieważ domyślnym trybem transferu tftp jest ASCII i wysyłany jest ROM, komenda powinna prawdopodobnie brzmieć

tftp 192.168.1.1 -m binary -c put myfile theirfile

Gdzie “myfile” to nazwa pliku, który chcemy wysłać, a “theirfile” to nazwa, którą plik powinien mieć na urządzeniu. Można również użyć parametru “-v”, aby w przypadku wystąpienia błędu można było zobaczyć co to było:

tftp -v 192.168.1.1 -c put myfile theirfile

Jeśli serwer pracuje na innym porcie, powiedzmy 8069, wówczas składnia komendy będzie wyglądać następująco:

tftp -v 192.168.1.1 8069 -c put myfile theirfile

Jeśli plik lokalny ma już prawidłową nazwę, wówczas komenda jest po prostu

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

Musisz znać port, na którym nasłuchuje serwer TFTP. Zazwyczaj jest to

# getent services tftp

tftp 69/tcp

Klient dla systemu 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.

Aby uzyskać instrukcje dotyczące wgrywania plików, sprawdź stronę manualną tftp(1), a konkretnie polecenie put.