(1)進入busybox目錄,make menuconfig ,然后在networking中勾選tftp項跟tftpd項。
(2)配置/etc/inetd.conf 中關于tftp的選項(此部未驗證,不需要應該也可以)
tftp??? dgram?? udp???? wait??? nobody? /usr/sbin/tcpd? in.tftpd
(3)部分tftp指令(部分驗證)
Busybox下的tftp命令可以用來進行單文件傳輸。
使用的時候,是把電腦作為服務器Server,Busybox作為客戶端Client,使用tftp命令可以實現從Server下載單個文件到Client,或者從Client上傳單個文件到Server。
?
?在開發板上跑tftp命令,提示使用方法,其中 [OPTIONS]如下解析
-l?? 是local的縮寫,后跟存在于Client的源文件名,或下載Client后重命名的文件名
-r???是remote的縮寫,后跟Server即PC機tftp服務器根目錄中的源文件名,或上傳Server后重命名后的文件名
-g? 是get的縮寫,下載文件時用
-p? 是put的縮寫,上傳文件時用
tftp 默認占用的是69端口
[具體實例]
1. 在上傳或下載時進行重命名
1)從服務器下載文件到客戶端
tftp?–g?–l 目標文件名?–r 源文件名 服務器地址
如
root@sama5d3_xplained:~# tftp -g -l aa.txt -r ss.txt 192.168.1.25
root@sama5d3_xplained:~# ls????????????????????????????????????????????????????
aa.txt
2)從客戶端向服務器上傳文件
tftp?–p?–r 目標文件名? -l 源文件名 服務器地址
如
這里我在服務器中沒有開權限,如果想開的話,修改TFTP的配置文件/etc/xinetd.d/tftp,將server_args參數改成
server_args??? = -s /var/tftpboot/ -c?? #指定tftp服務器的目錄,-c指定為可以創建文件
2. 在上傳或下載時不進行重命名
1)從服務器下載文件到客戶端(此時參數-l與-r等效,使用時只使用其中一個)
tftp?–g?–l/-r 源文件名?? 服務器地址??(已驗證)
?
root@sama5d3_xplained:~# tftp -g -l ss.txt 192.168.1.25????????????????????????
root@sama5d3_xplained:~# ls????????????????????????????????????????????????????
aa.txt? ss.txt?
?
2)從客戶端向服務器上傳文件(此時參數-l與-r等效,使用時只使用其中一個)(已驗證)
tftp?–p?–l/-r 源文件名?? 服務器地址
?