TFTP(Trivial File Transfer Protocol,簡單文件傳輸協(xié)議),是一個基于 UDP 協(xié)議實現(xiàn)的用于在客戶機(jī)和服務(wù)器之間進(jìn)行簡單文件傳輸?shù)膮f(xié)議,適合于開銷不大、不復(fù)雜的應(yīng)用場合。TFTP 協(xié)議專門為小文件傳輸
而設(shè)計,只能從服務(wù)器上獲取文件,或者向服務(wù)器寫入文件,不能列出目錄,也不能進(jìn)行認(rèn)證。根據(jù)上面關(guān)于 TFTP 的介紹,實現(xiàn) TFTP 需要搭建一個 TFTP 的服務(wù)器,iTOP-4418 開發(fā)板當(dāng)做客戶端。
70.1 搭建服務(wù)器
打開虛擬機(jī) Ubuntu 終端,進(jìn)入 root 用戶,輸入“sudo apt-get install xinetd”命令安裝 xinetd,安裝完成如下圖。(如果報錯,注意檢查命令拼寫:xinetd) ![]()
接下來輸入“sudo apt-get install tftp tftpd”安裝 tftp 和 tftpd,安裝完成如下圖。 ![]()
然后建立 TFTP 的配置文件,使用命令“vi /etc/xinetd.d/tftp”建立文件,如下圖。 ![]()
寫入如下內(nèi)容:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/tftpboot/
disable = no
per_source = 11
cps = 100 2
flags = IPv4
} 如下圖。 ![]()
注意:如上圖所示,這個文件在粘貼內(nèi)容之后,必須按照上面的格式嚴(yán)格對齊。
退出并保存。其中 server_args 設(shè)置的/var/tftpboot 目錄是 tftp 服務(wù)器的目錄,TFTP 客戶端就是從這個目錄里面獲取服務(wù)器上的文件的。使用命令“mkdir /var/tftpboot”建立 tftp 服務(wù)器的目錄,然后設(shè)置/var/tftpboot 的訪問權(quán)限為 777,如下圖。 ![]()
輸入”sudo /etc/init.d/xinetd restart”命令重啟 xinetd 服務(wù),如下圖。 ![]()
服務(wù)器到這一步就搭建好了,下面來進(jìn)行測試。
70.2 服務(wù)器測試
本機(jī)測試:在/var/tftpboot 下面建立一個文件 test,在里面輸入 hello world,然后保存該文件,如下圖 ![]()
再啟動另一個終端,然后輸入 tftp 127.0.0.1,如下圖。 ![]()
輸入 get test 獲取 test 文件,然后輸入 q 退出 tftp,如下圖。 ![]()
由上圖可知,獲取到 13 字節(jié)的 test。
然后輸入 ls 查看當(dāng)前目錄下是否有 test 文件了,通過查看,發(fā)現(xiàn)當(dāng)前目錄下已經(jīng)有 test 文件了,這就是/var/tftpboot 目錄下的那個 test 文件。然后使用 cat 命令查看一下 test 的內(nèi)容,如下圖。 ![]()
通過上面的截圖,看到 test 文件里面的內(nèi)容是 hello world,與/var/tftpboot 目錄的 test 是一樣的,至此的 TFTP 服務(wù)器端的配置和測試就完成了。
現(xiàn) 開發(fā)板實現(xiàn) TFTP 輸 文件傳輸 :
開發(fā)板進(jìn)入系統(tǒng)后,輸入“ifconfig”命令查看板子 ip,然后輸入“ping 192.168.1.3”命令來測試板子和虛擬機(jī) Ubuntu 之間的網(wǎng)絡(luò)。如下圖。 ![]()
保證開發(fā)板和 ubuntu 在同一網(wǎng)段,開發(fā)板可通過修改/etc/eth0-setting 配置網(wǎng)絡(luò), ![]()
用 ifconfig 查看到 ip 修改有效。在開發(fā)板串口輸入“tftp -g -l test -r test 192.168.1.3”,并用 cat 命令查看,如下圖。 ![]()
可以看到 ubuntu 端/var/tftpboot 里的 test 文件已經(jīng)傳輸?shù)搅碎_發(fā)板。 ![]()
|