tftp

在本機和tftp服務器之間使用TFTP協議傳輸文件

補充說明

tftp命令 用在本機和tftp服務器之間使用TFTP協議傳輸文件。

TFTP是用來下載遠程文件的最簡單網絡協議,它其於UDP協議而實現。嵌入式linux的tftp開發環境包括兩個方面:一是linux服務器端的tftp-server支持,二是嵌入式目標系統的tftp-client支持。因爲u-boot本身內置支持tftp-client,所以嵌入式目標系統端就不用配置了。下面就詳細介紹一下linux服務器端tftp-server的配置。

語法

1tftp(選項)(參數)

選項

1-c:指定與tftp服務器連接成功後,立即要執行的指令;
2-m:指定文件傳輸模式。可以是ASCII或者Binary;
3-v:顯示指令詳細執行過程;
4-V:顯示指令版本信息。

參數

主機:指定tftp要聯機的tftp服務器的ip地址或主機名。

實例

1、安裝tftp服務器

需要安裝xinetd、tftp和tftp-server 3個軟件

如果能上網,通過yum安裝:

1yum install xinetd
2yum install tftp
3yum install tftp-server

如果不能上網,可以直接安裝提供的rpm包:

1rpm -ivh xinetd-2.3.14-18.fc9.i386.rpm
2rpm -ivh tftp-0.48-3.fc9.i386.rpm
3rpm -ivh tftp-server-0.48-3.fc9.i386.rpm

2、配置tftp服務器

修改/etc/xinetd.d/tftp文件,將其中的disable=yes改爲disable=no。主要是設置TFTP服務器的根目錄,開啓服務。修改後的文件如下:

 1service tftp
 2{
 3       socket_type           =dgram
 4       protocol              =udp
 5       wait                  =yes
 6       user                  =root
 7       server                =/usr/sbin/in.tftpd
 8       server_args           =-s  /home/mike/tftpboot -c
 9       disable               =no
10       per_source            =11
11       cps                   =100 2
12       flags                 =IPv4
13}

說明:修改項server_args= -s <path> -c,其中處可以改爲你的tftp-server的根目錄,參數-s指定chroot,-c指定了可以創建文件。

3、啓動tftp服務器並關閉防火牆

1/etc/init.d/iptables stop        # 關閉防火牆
2sudo /sbin/service xinetd start
34service xinetd restart
5/etc/init.d/xinetd start

看到啓動[OK]就可以了

4、查看tftp服務是否開啓

1netstat -a | grep tftp

顯示結果爲udp 0 0 *:tftp *:*表明服務已經開啓,就表明tftp配置成功了。

5、tftp使用

複製一個文件到tftp服務器目錄,然後在主機啓動tftp軟件,進行簡單測試。

1tftp 192.168.1.2
2tftp>get <download file> 
3
4tftp>put <upload file>
5tftp>q

6、tftp命令用法如下

1tftp your-ip-address

進入TFTP操作:

  • connect:連接到遠程tftp服務器
  • mode:文件傳輸模式
  • put:上傳文件
  • get:下載文件
  • quit:退出
  • verbose:顯示詳細的處理信息
  • tarce:顯示包路徑
  • status:顯示當前狀態信息
  • binary:二進制傳輸模式
  • ascii:ascii 傳送模式
  • rexmt:設置包傳輸的超時時間
  • timeout:設置重傳的超時時間
  • help:幫助信息
  • ? :幫助信息

7、如果老是出現“AVC Denial, click icon to view”的錯誤,並不能傳輸文件,需要作如下修改

修改/etc/sysconfig/selinux,將SELINUX設定爲disable,使用命令setenforce 0讓selinux配置文件生效。

8、Busybox中tftp命令的用法

命令格式爲:

1tftp [option] ... host [port]

如果要下載或上傳文件的話是一定要用這些option的。

1-g 表示下載文件 (get)
2-p 表示上傳文件 (put)
3-l 表示本地文件名 (local file)
4-r 表示遠程主機的文件名 (remote file)

例如,要從遠程主機192.168.1.2上下載 embedexpert,則應輸入以下命令

1tftp -g -r embedexpert 192.168.1.2

來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: